Subject: Re: bug#25641: 25.1; insert-char function inconsistency

From: Stephen Berman <[email-masked]>
Date: Wed, 08 Feb 2017 14:15:00 +0100

On Tue, 7 Feb 2017 20:45:43 -0400 Pablo Mercader Alcántara <[email-masked]> wrote:

> I had the problem because the first time I typed exactly what the help
> buffer told me. But later I saw that there were different "BELL"
> characters with different terminations. The problem is that the
> information in the help screen should say C-x 8 RET BELL (BEL) for one
> character and C-x 8 RET BELL for the other.

I agree.  The following patch does that (the special-casing here has a
precedent in ucs-names in mule-cmds.el, from which the comment is
copied):

diff --git a/lisp/descr-text.el b/lisp/descr-text.el
index 3971dbb..a1efb67 100644
--- a/lisp/descr-text.el
+++ b/lisp/descr-text.el
@@ -617,7 +617,14 @@ describe-char
 				 "input method")
 			 (list
                           (let ((name
-                                 (or (get-char-code-property char 'name)
+                                 (or (when (= char 7)
+				       ;; Special case for "BELL" which is
+				       ;; apparently the only char which
+				       ;; doesn't have a new name and whose
+				       ;; old-name is shadowed by a newer char
+				       ;; with that name.
+				       (car (rassoc char ucs-names)))
+				     (get-char-code-property char 'name)
                                      (get-char-code-property char 'old-name))))
                             (if (and name (assoc-string name (ucs-names)))
                                 (format

Eli, what do you say?

Steve Berman