[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#20522: 25.0.50; ‘C-u C-x =’ output, ‘to input’ field
From: |
Ivan Shmakov |
Subject: |
bug#20522: 25.0.50; ‘C-u C-x =’ output, ‘to input’ field |
Date: |
Thu, 07 May 2015 15:15:32 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
>>>>> Eli Zaretskii <eliz@gnu.org> writes:
>>>>> From: Ivan Shmakov Date: Thu, 07 May 2015 07:10:23 +0000
>> + (format
>> + "type \"C-x 8 RET %04x\" or \"C-x 8 RET %s\""
> ^^^^ I see no need to tell users to type at
> least 4 hex digits: "C-x 8 RET" accepts even one digit. So I think
> we should use %x here.
>> + char (get-char-code-property char 'name)))))))
> Not every Unicode codepoint has a name, so get-char-code-property
> could return nil. E. g., try with any codepoint between zero and
> #x1f, inclusive. When that happens, we should try 'old-name'
> instead, and if that returns nil as well (try #x99, for example), I
> think the "by name" part should be omitted from the output of
> describe-char.
(I’ve suspected something like that, but didn’t check.)
Please consider the revised patch MIMEd.
* lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
invocation instead of a template. (Bug#20522)
It was also requested in bug#20499 that a specific C-x 8
(iso-transl) sequence is shown. Yet I believe that deserves a
separate patch.
--
FSF associate member #7257 http://am-1.org/~ivan/ … 3013 B6A0 230E 334A
--- a/lisp/descr-text.el
+++ b/lisp/descr-text.el
@@ -618,7 +618,14 @@ defun describe-char (pos &optional buffer)
'help-args '(,current-input-method))
"input method")
(list
- "type \"C-x 8 RET HEX-CODEPOINT\" or \"C-x 8 RET
NAME\"")))))
+ (let ((name
+ (or (get-char-code-property char 'name)
+ (get-char-code-property char 'old-name))))
+ (if name
+ (format
+ "type \"C-x 8 RET %x\" or \"C-x 8 RET %s\""
+ char name)
+ (format "type \"C-x 8 RET %x\"" char))))))))
("buffer code"
,(if multibyte-p
(encoded-string-description