From: Stefan Monnier Date: Fri, 27 Jul 2018 20:45:03 +0000 (-0400) Subject: * lisp/simple.el (event-apply-modifier): Map control+[ to C-[ X-Git-Tag: emacs-27.0.90~4664^2~20 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=8c8bf7db62af2c80537b5760bea01f7da9712a0e;p=emacs.git * lisp/simple.el (event-apply-modifier): Map control+[ to C-[ --- diff --git a/lisp/simple.el b/lisp/simple.el index 6459531a4ec..8d770478aa9 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -8346,14 +8346,12 @@ LSHIFTBY is the numeric value of this modifier, in keyboard events. PREFIX is the string that represents this modifier in an event type symbol." (if (numberp event) (cond ((eq symbol 'control) - (if (and (<= (downcase event) ?z) - (>= (downcase event) ?a)) - (- (downcase event) ?a -1) - (if (and (<= (downcase event) ?Z) - (>= (downcase event) ?A)) - (- (downcase event) ?A -1) - (logior (lsh 1 lshiftby) event)))) + (if (<= 64 (upcase event) 95) + (- (upcase event) 64) + (logior (lsh 1 lshiftby) event))) ((eq symbol 'shift) + ;; FIXME: Should we also apply this "upcase" behavior of shift + ;; to non-ascii letters? (if (and (<= (downcase event) ?z) (>= (downcase event) ?a)) (upcase event)