Subject: Re: bug#14994: 24.3; gnus-completing-read in smime.el fails to complete

From: Katsumi Yamaoka <[email-masked]>
Date: Thu, 01 Aug 2013 09:12:19 +0900

Jens Lechtenboerger wrote:
> Hi there,

> the calls to gnus-completing-read in smime-sign-buffer and
> smime-decrypt-buffer do not provide completion support.

> If I change gnus-completing-read-function from
> gnus-emacs-completing-read to completing-read, everything works:

> (setq gnus-completing-read-function 'completing-read)

> A related problem is reported there:
> https://bugs.launchpad.net/ubuntu/+source/emacs24/+bug/1096449

> Best wishes
> Jens

This has been fixed at 2013-05-01 (bug#14304), so it will work
properly in the forthcoming Emacs 24.4.  Here's a patch for 24.3:

--- gnus-util.el~	2013-01-01 20:37:17.000000000 +0000
+++ gnus-util.el	2013-08-01 00:10:19.897216100 +0000
@@ -1531,9 +1531,12 @@
   "Call standard `completing-read-function'."
   (let ((completion-styles gnus-completion-styles))
     (completing-read prompt
-                     ;; Old XEmacs (at least 21.4) expect an alist for
-                     ;; collection.
-                     (mapcar 'list collection)
+                     ;; Old XEmacs (at least 21.4) expect an alist,
+		     ;; in which the car of each element is a string,
+		     ;; for collection.
+                     (mapcar (lambda (elem)
+			       (list (format "%s" (or (car-safe elem) elem))))
+			     collection)
                      nil require-match initial-input history def)))
 
 (autoload 'ido-completing-read "ido")