Otherwise, only public keyring should be searched and the key
signatures should be included."
(let ((lines (epg--list-keys-1 context name mode))
- keys cert pointer pointer-1)
+ keys cert pointer pointer-1 index string)
(while lines
(cond
((member (aref (car lines) 0) '("pub" "sec" "crt" "crs"))
(cons (epg--make-sub-key-1 (car lines))
(epg-key-sub-key-list (car keys)))))
((equal (aref (car lines) 0) "uid")
+ (setq string (aref (car lines) 9))
(epg-key-set-user-id-list
(car keys)
(cons (epg-make-user-id
(condition-case nil
(if cert
(epg-dn-from-string (aref (car lines) 9))
+ (setq string (copy-sequence (aref (car lines) 9)))
+ (while (string-match "\"" string index)
+ (setq string (replace-match "\\\"" t t string)
+ index (1+ (match-end 0))))
(epg--decode-coding-string
- (car (read-from-string (concat "\"" (aref (car lines) 9)
- "\"")))
+ (car (read-from-string (concat "\"" string "\"")))
'utf-8))
(error (aref (car lines) 9))))
(epg-key-user-id-list (car keys)))))