emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-24 r117260: * src/keyboard.c (read_key_sequence): Do


From: Stefan Monnier
Subject: [Emacs-diffs] emacs-24 r117260: * src/keyboard.c (read_key_sequence): Don't invoke Vprefix_help_command
Date: Thu, 19 Jun 2014 03:48:26 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117260
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17659
committer: Stefan Monnier <address@hidden>
branch nick: emacs-24
timestamp: Wed 2014-06-18 23:48:18 -0400
message:
  * src/keyboard.c (read_key_sequence): Don't invoke Vprefix_help_command
  before checking key-translation-map.
modified:
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/keyboard.c                 keyboard.c-20091113204419-o5vbwnq5f7feedwu-449
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2014-06-19 03:21:07 +0000
+++ b/src/ChangeLog     2014-06-19 03:48:18 +0000
@@ -1,3 +1,8 @@
+2014-06-19  Stefan Monnier  <address@hidden>
+
+       * keyboard.c (read_key_sequence): Don't invoke Vprefix_help_command
+       before checking key-translation-map (bug#17659).
+
 2014-06-19  Dmitry Antipov  <address@hidden>
 
        * font.c (font_make_object): Avoid dangling pointer which may

=== modified file 'src/keyboard.c'
--- a/src/keyboard.c    2014-05-06 16:16:57 +0000
+++ b/src/keyboard.c    2014-06-19 03:48:18 +0000
@@ -2197,7 +2197,7 @@
 
 
 
-/* Input of single characters from keyboard */
+/* Input of single characters from keyboard.  */
 
 static Lisp_Object kbd_buffer_get_event (KBOARD **kbp, bool *used_mouse_menu,
                                         struct timespec *end_time);
@@ -3656,7 +3656,8 @@
       *kbd_store_ptr = *event;
       ++kbd_store_ptr;
 #ifdef subprocesses
-      if (kbd_buffer_nr_stored () > KBD_BUFFER_SIZE/2 && ! kbd_on_hold_p ())
+      if (kbd_buffer_nr_stored () > KBD_BUFFER_SIZE / 2
+         && ! kbd_on_hold_p ())
         {
           /* Don't read keyboard input until we have processed kbd_buffer.
              This happens when pasting text longer than KBD_BUFFER_SIZE/2.  */
@@ -9384,16 +9385,6 @@
          first_unbound = min (t, first_unbound);
 
          head = EVENT_HEAD (key);
-         if (help_char_p (head) && t > 0)
-           {
-             read_key_sequence_cmd = Vprefix_help_command;
-             keybuf[t++] = key;
-             last_nonmenu_event = key;
-             /* The Microsoft C compiler can't handle the goto that
-                would go here.  */
-             dummyflag = 1;
-             break;
-           }
 
          if (SYMBOLP (head))
            {
@@ -9651,6 +9642,17 @@
 
          goto replay_sequence;
        }
+
+      if (NILP (current_binding)
+         && help_char_p (EVENT_HEAD (key)) && t > 1)
+           {
+             read_key_sequence_cmd = Vprefix_help_command;
+             /* The Microsoft C compiler can't handle the goto that
+                would go here.  */
+             dummyflag = 1;
+             break;
+           }
+
       /* If KEY is not defined in any of the keymaps,
         and cannot be part of a function key or translation,
         and is a shifted function key,


reply via email to

[Prev in Thread] Current Thread [Next in Thread]