]> git.eshelyaron.com Git - emacs.git/commitdiff
Protect from yield while waiting for keyboard input.
authorGiuseppe Scrivano <gscrivano@gnu.org>
Fri, 18 Sep 2009 15:23:42 +0000 (17:23 +0200)
committerGiuseppe Scrivano <gscrivano@gnu.org>
Fri, 18 Sep 2009 15:23:42 +0000 (17:23 +0200)
src/keyboard.c

index 76e8197dc7f2dfcd798a1f9a523c1edcc35b1e2f..4f9a77d1ba6b520961fc58cdae5e592dc48d67fc 100644 (file)
@@ -10329,10 +10329,13 @@ will read just one key sequence.  */)
   if (display_hourglass_p)
     cancel_hourglass ();
 #endif
+  Finhibit_yield (Qt);
+  record_unwind_protect (Finhibit_yield, Qnil);
 
   i = read_key_sequence (keybuf, (sizeof keybuf/sizeof (keybuf[0])),
                         prompt, ! NILP (dont_downcase_last),
                         ! NILP (can_return_switch_frame), 0);
+  Finhibit_yield (Qnil);
 
 #if 0  /* The following is fine for code reading a key sequence and
          then proceeding with a lenghty computation, but it's not good