changeset 106805:0ff664c52820

* keyboard.c (read_char): Return after executing from special map.
author Jan D. <jan.h.d@swipnet.se>
date Tue, 12 Jan 2010 09:14:45 +0100
parents b92c3979701c (current diff) 65abe959e89a (diff)
children 311d96e388e8
files
diffstat 2 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Mon Jan 11 21:11:05 2010 -0800
+++ b/src/ChangeLog	Tue Jan 12 09:14:45 2010 +0100
@@ -1,3 +1,7 @@
+2010-01-12  Jan Djärv  <jan.h.d@swipnet.se>
+
+	* keyboard.c (read_char): Return after executing from special map.
+
 2010-01-12  Glenn Morris  <rgm@gnu.org>
 
 	* emacs.c (REPORT_EMACS_BUG_PRETEST_ADDRESS): Set it to
--- a/src/keyboard.c	Mon Jan 11 21:11:05 2010 -0800
+++ b/src/keyboard.c	Tue Jan 12 09:14:45 2010 +0100
@@ -3178,7 +3178,10 @@
       unbind_to (count, Qnil);
 #endif
 
-      goto retry;
+      /* The command may have changed the keymaps.  Pretend there is input
+         in another keyboard and return.  This will recalculate keymaps.  */
+      c = make_number (-2);
+      goto exit;
     }
 
   /* Handle things that only apply to characters.  */