Show character names when describing translations
This implements Bug#71411. * lisp/help.el (help-key-description): Use 'char-to-name' to show the Unicode name of translated keys. (help--describe-command): And here. * etc/NEWS: Announce the change.
This commit is contained in:
parent
e4b243b931
commit
e3078994d8
2 changed files with 27 additions and 2 deletions
20
etc/NEWS
20
etc/NEWS
|
@ -189,6 +189,26 @@ This user option controls outline visibility in the output buffer of
|
|||
*** 'C-h m' ('describe-mode') uses outlining by default.
|
||||
Set 'describe-mode-outline' to nil to get back the old behavior.
|
||||
|
||||
*** 'C-h k' ('describe-key') shows Unicode name.
|
||||
For keybindings which produce single characters via translation or input
|
||||
methods, 'C-h k' now shows the Unicode name of the produced character in
|
||||
addition to the character itself, e.g.
|
||||
|
||||
'C-h k C-x 8 E' =>
|
||||
|
||||
€ 'EURO SIGN' (translated from C-x 8 E)
|
||||
|
||||
*** 'C-h b' ('describe-bindings') shows Unicode names.
|
||||
For keybindings which produce single characters via translation (such as
|
||||
those using the 'C-x 8' or 'A-' prefix, or 'dead-acute', 'dead-grave',
|
||||
etc), the Unicode names will now be shown in addition to the character
|
||||
itself, i.e.
|
||||
|
||||
A-! ¡ INVERTED EXCLAMATION MARK
|
||||
A-$ ¤ CURRENCY SIGN
|
||||
|
||||
and so on.
|
||||
|
||||
** Emacs now comes with Org v9.7.
|
||||
See the file "etc/ORG-NEWS" for user-visible changes in Org.
|
||||
|
||||
|
|
|
@ -883,7 +883,9 @@ If INSERT (the prefix arg) is non-nil, insert the message in the buffer."
|
|||
(let ((otherstring (help--key-description-fontified untranslated)))
|
||||
(if (equal string otherstring)
|
||||
string
|
||||
(format "%s (translated from %s)" string otherstring))))))
|
||||
(if-let ((char-name (char-to-name (aref string 0))))
|
||||
(format "%s '%s' (translated from %s)" string char-name otherstring)
|
||||
(format "%s (translated from %s)" string otherstring)))))))
|
||||
|
||||
(defun help--binding-undefined-p (defn)
|
||||
(or (null defn) (integerp defn) (equal defn #'undefined)))
|
||||
|
@ -1664,7 +1666,10 @@ Return nil if the key sequence is too long."
|
|||
(defun help--describe-command (definition &optional translation)
|
||||
(cond ((or (stringp definition) (vectorp definition))
|
||||
(if translation
|
||||
(insert (key-description definition nil) "\n")
|
||||
(insert (concat (key-description definition nil)
|
||||
(when-let ((char-name (char-to-name (aref definition 0))))
|
||||
(format "\t%s" char-name))
|
||||
"\n"))
|
||||
;; These should be rare nowadays, replaced by `kmacro's.
|
||||
(insert "Keyboard Macro\n")))
|
||||
((keymapp definition)
|
||||
|
|
Loading…
Add table
Reference in a new issue