+2007-03-24 Daiki Ueno <ueno@unixuser.org>
+
+ * epg.el (epg--list-keys-1): Accept a list of strings as NAME
+ argument.
+ (epg-list-keys): Ditto.
+
2007-03-21 Daiki Ueno <ueno@unixuser.org>
* epa-file.el (epa-file-inhibit-auto-save): New user option.
(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)
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