I forgot about shift-translation when implementing this originally, so
this code was being triggered for things like 'C-S-<up>'.
* lisp/help.el (help-key-description): Check if the translation result
is a single char.
(Bug#71411)
(cherry picked from commit
96e27c2ecf9914cbb9d2e0824adf501082f88ef6)
(let ((otherstring (help--key-description-fontified untranslated)))
(if (equal string otherstring)
string
- (if-let ((char-name (char-to-name (aref string 0))))
+ (if-let ((char-name (and (length= string 1)
+ (char-to-name (aref string 0)))))
(format "%s '%s' (translated from %s)" string char-name otherstring)
(format "%s (translated from %s)" string otherstring)))))))