changeset 106804:65abe959e89a

keyboard.c (read_char): Return after executing from special map.
author Jan D. <jan.h.d@swipnet.se>
date Tue, 12 Jan 2010 09:12:52 +0100
parents 4abcc08ffba2
children 0ff664c52820 28877d9cc2e1
files src/ChangeLog src/keyboard.c
diffstat 2 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Tue Jan 12 08:54:18 2010 +0100
+++ b/src/ChangeLog	Tue Jan 12 09:12:52 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	Tue Jan 12 08:54:18 2010 +0100
+++ b/src/keyboard.c	Tue Jan 12 09:12:52 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.  */