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

From: Stephen Berman <[email-masked]>
Date: Wed, 08 Feb 2017 22:43:50 +0100

On Wed, 08 Feb 2017 19:54:12 +0200 Eli Zaretskii <[email-masked]> wrote:

>> From: Stephen Berman <[email-masked]>
>> Date: Wed, 08 Feb 2017 14:15:00 +0100
>> Cc: [email-masked]
>> 
>> 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?
>
> I don't mind, but ucs-names might be nil if the function by the same
> name was not yet called, so I think we should call it first.

Oh yes, I should have noticed that.

> Also, I think it would be good to mention this bug report in the
> comment.

Done and pushed to master as 90f76eb.

Steve Berman