Subject: bug#13206: closed (Re: bug#13206: 24.3.50; FR: insert-char must(?) show characters visually in completion buffer)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 15 Nov 2013 04:45:06 +0000

Your bug report

#13206: 24.3.50; FR: insert-char must(?) show characters visually in completion buffer

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
13206: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13206
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#13206: 24.3.50; FR: insert-char must(?) show characters visually in completion buffer
From: Jambunathan K <[email-masked]>
To: [email-masked]
Date: Fri, 15 Nov 2013 10:14:29 +0530
List-Id: <debbugs-submit.debbugs.gnu.org>

OP here.  Closed.

Subject: 24.3.50; FR: insert-char must(?) show characters visually in completion buffer
From: Jambunathan K <[email-masked]>
To: [email-masked]
Date: Mon, 17 Dec 2012 19:10:34 +0530
List-Id: <debbugs-submit.debbugs.gnu.org>

(My NIC card went down during earlier sent.  Apologies if it results in
duplicate bug)

It will be wonderful if ucs-insert shows the characters visually in the
completion buffer.

Here is a proof-of-concept.  Install an annotation function. 

    (setq completion-extra-properties
          (list :annotation-function 'annotate-ucs-names))

    (defun annotate-ucs-names (name)
      (format "(%s)" (char-to-string (cdr (assoc-string name (ucs-names) t)))))

M-x insert-char RET will give screenshot 1.  Note the presence of
characters visually next to char names.  I would have wised to place the
the glyphs come before the description.

Now let us install a small /hack/ to minibuffer as shown below. The
result is as shown in screenshot 2, which I would much prefer.
(Ofcourse, the insertion itself wouldn't work)

Following two things emerge from this experiment.

    1. Annotation may go infront of the candidate.
    2. Annotation may provide a substitution for visual feedback etc etc.

=== modified file 'lisp/minibuffer.el'
--- lisp/minibuffer.el	2012-11-29 21:32:24 +0000
+++ lisp/minibuffer.el	2012-12-17 13:20:32 +0000
@@ -1690,7 +1690,9 @@ variables.")
             (setq completions
                   (mapcar (lambda (s)
                             (let ((ann (funcall afun s)))
-                              (if ann (list s ann) s)))
+                              ;; (if ann (list s ann) s)
+			      ann
+			      ))
                           completions)))
 
           (with-current-buffer standard-output

In GNU Emacs 24.3.50.5 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2012-12-15 on debian-6.05
Bzr revision: 111244 [email-masked]
Windowing system distributor `The X.Org Foundation', version 11.0.10707000
Important settings:
  value of $LANG: en_IN
  locale-coding-system: iso-latin-1-unix
  default enable-multibyte-characters: t