(prin1-char): Put `shift' modifier into the basic character,
if it has an uppercase form.
This commit is contained in:
parent
1b6d517f29
commit
87fdf320e9
1 changed files with 8 additions and 2 deletions
|
@ -459,14 +459,20 @@ alternative printed representations that can be displayed."
|
||||||
If CHAR is not a character, return nil."
|
If CHAR is not a character, return nil."
|
||||||
(and (integerp char)
|
(and (integerp char)
|
||||||
(eventp char)
|
(eventp char)
|
||||||
(let ((c (event-basic-type char)))
|
(let ((c (event-basic-type char))
|
||||||
|
(mods (event-modifiers char)))
|
||||||
|
;; Prevent ?A from turning into ?\S-a.
|
||||||
|
(if (and (memq 'shift mods)
|
||||||
|
(not (let ((case-fold-search nil))
|
||||||
|
(char-equal c (upcase c)))))
|
||||||
|
(setq c (upcase c) mods nil))
|
||||||
(concat
|
(concat
|
||||||
"?"
|
"?"
|
||||||
(mapconcat
|
(mapconcat
|
||||||
(lambda (modif)
|
(lambda (modif)
|
||||||
(cond ((eq modif 'super) "\\s-")
|
(cond ((eq modif 'super) "\\s-")
|
||||||
(t (string ?\\ (upcase (aref (symbol-name modif) 0)) ?-))))
|
(t (string ?\\ (upcase (aref (symbol-name modif) 0)) ?-))))
|
||||||
(event-modifiers char) "")
|
mods "")
|
||||||
(cond
|
(cond
|
||||||
((memq c '(?\; ?\( ?\) ?\{ ?\} ?\[ ?\] ?\" ?\' ?\\)) (string ?\\ c))
|
((memq c '(?\; ?\( ?\) ?\{ ?\} ?\[ ?\] ?\" ?\' ?\\)) (string ?\\ c))
|
||||||
((eq c 127) "\\C-?")
|
((eq c 127) "\\C-?")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue