]> git.eshelyaron.com Git - emacs.git/commitdiff
* subr.el (read-quoted-char): Resolve modifiers after key remapping.
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 18 May 2010 20:31:44 +0000 (16:31 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 18 May 2010 20:31:44 +0000 (16:31 -0400)
Fixes: debbugs:6212
lisp/ChangeLog
lisp/subr.el

index 9c7359caf4637fbe79b093e6e000702e6f112cab..0130fb063e99ea4e066f76a28151423f3fd72713 100644 (file)
@@ -1,3 +1,8 @@
+2010-05-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * subr.el (read-quoted-char): Resolve modifiers after key
+       remapping (bug#6212).
+
 2010-05-18  Michael Albinus  <michael.albinus@gmx.de>
 
        Add visualization code for secrets.
index 1c399f89b9ce46df29bb364ce0f022875708290f..fb84f95c8055ccd676d477088b5f69003cd186c4 100644 (file)
@@ -1868,16 +1868,14 @@ any other non-digit terminates the character code and is then used as input."))
        (if inhibit-quit (setq quit-flag nil)))
       ;; Translate TAB key into control-I ASCII character, and so on.
       ;; Note: `read-char' does it using the `ascii-character' property.
-      ;; We could try and use read-key-sequence instead, but then C-q ESC
-      ;; or C-q C-x might not return immediately since ESC or C-x might be
-      ;; bound to some prefix in function-key-map or key-translation-map.
+      ;; We should try and use read-key instead.
+      (let ((translation (lookup-key local-function-key-map (vector char))))
+       (if (arrayp translation)
+           (setq translated (aref translation 0))))
       (setq translated
            (if (integerp char)
                (char-resolve-modifiers char)
              char))
-      (let ((translation (lookup-key local-function-key-map (vector char))))
-       (if (arrayp translation)
-           (setq translated (aref translation 0))))
       (cond ((null translated))
            ((not (integerp translated))
             (setq unread-command-events (list char)