]> git.eshelyaron.com Git - emacs.git/commitdiff
Stefan Monnier <monnier@iro.umontreal.ca>
authorChong Yidong <cyd@stupidchicken.com>
Tue, 18 May 2010 20:51:12 +0000 (16:51 -0400)
committerChong Yidong <cyd@stupidchicken.com>
Tue, 18 May 2010 20:51:12 +0000 (16:51 -0400)
lisp/ChangeLog
lisp/subr.el

index 6ac83cdb0c22d5dbe2b3bd107986447fb76cba37..1da680a68f959942dfd7821612010f27ef7eb1fa 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-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * tmm.el (tmm-prompt): Don't try to precompute bindings.
index 71aa76aadfc90f962d7162e8a9b2716d539dc99c..e964a0ef5d4c2cf265ab9c6e95e4fad47a722826 100644 (file)
@@ -1871,16 +1871,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)