Hi Eli, Eli Zaretskii wrote, On 12/02/2014 3:05 AM: > Thanks. Please show the values of 'string' and '(car lines)' right > before the while loop indicated below (which is part of > epg-list-keys): ((equal (aref (car lines) 0) "uid") ;; Decode the UID > name as a backslash escaped UTF-8 string, ;; generated by GnuPG/GpgSM. > (setq string (copy-sequence (aref (car lines) 9)) index 0) (while > (string-match "\"" string index) <<<<<<<<<<<<<<<<<< (setq string > (replace-match "\\\"" t t string) index (1+ (match-end 0)))) I put a (message "(car lines): %S" (car lines)) right before string is assigned in epg-list-keys, resulting in lots of messages culminating in: (car lines): ["uid" "-" nil nil nil "1330660041" nil "02F15375A7024F55715364D1E540EADAA09785E5" nil "ssh\\x3a//gnuradical.su" nil nil nil nil nil] (car lines): ["uid" "-" nil nil nil "1369245874" nil "9C1185A5C5E9FC54612808977EE8F548B2258D31" nil nil nil nil nil nil nil] while: Wrong type argument: stringp, nil Jason -- Jason Lewis http://emacstragic.net