aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorStefan Monnier2010-05-18 16:31:44 -0400
committerStefan Monnier2010-05-18 16:31:44 -0400
commit278847cd9230346c8cc210b79a21acaf28f0fb62 (patch)
tree89354524d45620cfde7d6f900ce15af37eef0cf9 /lisp
parent065f2743178d57f269bca6888c80b115fb76c362 (diff)
downloademacs-278847cd9230346c8cc210b79a21acaf28f0fb62.tar.gz
emacs-278847cd9230346c8cc210b79a21acaf28f0fb62.zip
* subr.el (read-quoted-char): Resolve modifiers after key remapping.
Fixes: debbugs:6212
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/subr.el10
2 files changed, 9 insertions, 6 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 9c7359caf46..0130fb063e9 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12010-05-18 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * subr.el (read-quoted-char): Resolve modifiers after key
4 remapping (bug#6212).
5
12010-05-18 Michael Albinus <michael.albinus@gmx.de> 62010-05-18 Michael Albinus <michael.albinus@gmx.de>
2 7
3 Add visualization code for secrets. 8 Add visualization code for secrets.
diff --git a/lisp/subr.el b/lisp/subr.el
index 1c399f89b9c..fb84f95c805 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -1868,16 +1868,14 @@ any other non-digit terminates the character code and is then used as input."))
1868 (if inhibit-quit (setq quit-flag nil))) 1868 (if inhibit-quit (setq quit-flag nil)))
1869 ;; Translate TAB key into control-I ASCII character, and so on. 1869 ;; Translate TAB key into control-I ASCII character, and so on.
1870 ;; Note: `read-char' does it using the `ascii-character' property. 1870 ;; Note: `read-char' does it using the `ascii-character' property.
1871 ;; We could try and use read-key-sequence instead, but then C-q ESC 1871 ;; We should try and use read-key instead.
1872 ;; or C-q C-x might not return immediately since ESC or C-x might be 1872 (let ((translation (lookup-key local-function-key-map (vector char))))
1873 ;; bound to some prefix in function-key-map or key-translation-map. 1873 (if (arrayp translation)
1874 (setq translated (aref translation 0))))
1874 (setq translated 1875 (setq translated
1875 (if (integerp char) 1876 (if (integerp char)
1876 (char-resolve-modifiers char) 1877 (char-resolve-modifiers char)
1877 char)) 1878 char))
1878 (let ((translation (lookup-key local-function-key-map (vector char))))
1879 (if (arrayp translation)
1880 (setq translated (aref translation 0))))
1881 (cond ((null translated)) 1879 (cond ((null translated))
1882 ((not (integerp translated)) 1880 ((not (integerp translated))
1883 (setq unread-command-events (list char) 1881 (setq unread-command-events (list char)