*** '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.
(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)))
(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)