From f4a8309bba5232f64d5de9affe36bf97430c787b Mon Sep 17 00:00:00 2001 From: ueno Date: Sat, 24 Mar 2007 08:53:15 +0000 Subject: [PATCH] * epg.el (epg--list-keys-1): Accept a list of strings as NAME argument. (epg-list-keys): Ditto. --- ChangeLog | 6 ++++++ epg.el | 25 +++++++++++++++---------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index ce80b30..f0a6c93 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-03-24 Daiki Ueno + + * epg.el (epg--list-keys-1): Accept a list of strings as NAME + argument. + (epg-list-keys): Ditto. + 2007-03-21 Daiki Ueno * epa-file.el (epa-file-inhibit-auto-save): New user option. diff --git a/epg.el b/epg.el index 1b58162..9e2a209 100644 --- a/epg.el +++ b/epg.el @@ -1662,19 +1662,23 @@ This function is for internal use only." (defun epg--list-keys-1 (context name mode) (let ((args (append (if epg-gpg-home-directory (list "--homedir" epg-gpg-home-directory)) - (list "--with-colons" "--no-greeting" "--batch" + '("--with-colons" "--no-greeting" "--batch" "--with-fingerprint" - "--with-fingerprint" - (if (memq mode '(t secret)) - "--list-secret-keys" - (if (memq mode '(nil public)) - "--list-keys" - "--list-sigs"))) + "--with-fingerprint") (unless (eq (epg-context-protocol context) 'CMS) - '("--fixed-list-mode")) - (if name (list name)))) + '("--fixed-list-mode")))) + (list-keys-option (if (memq mode '(t secret)) + "--list-secret-keys" + (if (memq mode '(nil public)) + "--list-keys" + "--list-sigs"))) (coding-system-for-read 'binary) keys string field index) + (unless (listp name) + (setq name (list name))) + (while name + (setq args (nconc args (list list-keys-option (car name))) + name (cdr name))) (with-temp-buffer (apply #'call-process (if (eq (epg-context-protocol context) 'CMS) @@ -1715,7 +1719,8 @@ This function is for internal use only." If MODE is nil or 'public, only public keyring should be searched. If MODE is t or 'secret, only secret keyring should be searched. Otherwise, only public keyring should be searched and the key -signatures should be included." +signatures should be included. +NAME is either a string or a list of strings." (let ((lines (epg--list-keys-1 context name mode)) keys cert pointer pointer-1 index string) (while lines -- 1.7.10.4