[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/keyboard.c,v
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/src/keyboard.c,v |
Date: |
Thu, 18 Oct 2007 22:07:34 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Stefan Monnier <monnier> 07/10/18 22:07:34
Index: keyboard.c
===================================================================
RCS file: /sources/emacs/emacs/src/keyboard.c,v
retrieving revision 1.923
retrieving revision 1.924
diff -u -b -r1.923 -r1.924
--- keyboard.c 16 Oct 2007 16:28:39 -0000 1.923
+++ keyboard.c 18 Oct 2007 22:07:33 -0000 1.924
@@ -9185,13 +9185,16 @@
orig_keymap = get_local_map (PT, current_buffer, Qkeymap);
from_string = Qnil;
- /* We jump here when the key sequence has been thoroughly changed, and
- we need to rescan it starting from the beginning. When we jump here,
- keybuf[0..mock_input] holds the sequence we should reread. */
- replay_sequence:
-
- /* We may switch keyboards between rescans, so we need to
- reinitialize fkey and keytran before each replay. */
+ /* The multi-tty merge moved the code below to right after
+ `replay_sequence' which caused alll these translation maps to be applied
+ repeatedly, even tho their doc says very clearly they are not applied to
+ their own output.
+ The reason for this move was: "We may switch keyboards between rescans,
+ so we need to reinitialize fkey and keytran before each replay".
+ This move was wrong (even if we switch keyboards, keybuf still holds the
+ keys we've read already from the original keyboard and some of those keys
+ may have already been translated). So there may still be a bug out there
+ lurking. */
indec.map = indec.parent = current_kboard->Vinput_decode_map;
fkey.map = fkey.parent = current_kboard->Vlocal_function_key_map;
keytran.map = keytran.parent = Vkey_translation_map;
@@ -9199,6 +9202,11 @@
fkey.start = fkey.end = 0;
keytran.start = keytran.end = 0;
+ /* We jump here when the key sequence has been thoroughly changed, and
+ we need to rescan it starting from the beginning. When we jump here,
+ keybuf[0..mock_input] holds the sequence we should reread. */
+ replay_sequence:
+
starting_buffer = current_buffer;
first_unbound = bufsize + 1;
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Stefan Monnier, 2007/10/09
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Miles Bader, 2007/10/09
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Eli Zaretskii, 2007/10/13
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Eli Zaretskii, 2007/10/13
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Eli Zaretskii, 2007/10/13
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Richard M. Stallman, 2007/10/14
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Stefan Monnier, 2007/10/16
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v,
Stefan Monnier <=
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Stefan Monnier, 2007/10/23
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Stefan Monnier, 2007/10/24
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Miles Bader, 2007/10/27
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Stefan Monnier, 2007/10/31