[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: |
Richard M. Stallman |
Subject: |
[Emacs-diffs] Changes to emacs/src/keyboard.c,v |
Date: |
Wed, 09 Aug 2006 04:55:03 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Richard M. Stallman <rms> 06/08/09 04:55:02
Index: keyboard.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/keyboard.c,v
retrieving revision 1.864
retrieving revision 1.865
diff -u -b -r1.864 -r1.865
--- keyboard.c 5 Aug 2006 11:59:50 -0000 1.864
+++ keyboard.c 9 Aug 2006 04:55:02 -0000 1.865
@@ -8385,7 +8385,15 @@
such as Vfunction_key_map and Vkey_translation_map. */
typedef struct keyremap
{
- Lisp_Object map, parent;
+ /* This is the map originally specified for this use. */
+ Lisp_Object parent;
+ /* This is a submap reached by looking up, in PARENT,
+ the events from START to END. */
+ Lisp_Object map;
+ /* Positions [START, END) in the key sequence buffer
+ are the key that we have scanned so far.
+ Those events are the ones that we will replace
+ if PAREHT maps them into a key sequence. */
int start, end;
} keyremap;
@@ -8458,7 +8466,11 @@
Lisp_Object next, key;
key = keybuf[fkey->end++];
+
+ if (KEYMAPP (fkey->parent))
next = access_keymap_keyremap (fkey->map, key, prompt, doit);
+ else
+ next = Qnil;
/* If keybuf[fkey->start..fkey->end] is bound in the
map and we're in a position to do the key remapping, replace it with
@@ -8656,9 +8668,8 @@
delayed_switch_frame = Qnil;
fkey.map = fkey.parent = Vfunction_key_map;
keytran.map = keytran.parent = Vkey_translation_map;
- /* If there is no translation-map, turn off scanning. */
- fkey.start = fkey.end = KEYMAPP (fkey.map) ? 0 : bufsize + 1;
- keytran.start = keytran.end = KEYMAPP (keytran.map) ? 0 : bufsize + 1;
+ fkey.start = fkey.end = 0;
+ keytran.start = keytran.end = 0;
if (INTERACTIVE)
{
@@ -9486,8 +9497,8 @@
keybuf[t - 1] = new_key;
mock_input = max (t, mock_input);
- fkey.start = fkey.end = KEYMAPP (fkey.map) ? 0 : bufsize + 1;
- keytran.start = keytran.end = KEYMAPP (keytran.map) ? 0 : bufsize
+ 1;
+ fkey.start = fkey.end = 0;
+ keytran.start = keytran.end = 0;
goto replay_sequence;
}
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Chong Yidong, 2006/08/04
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Eli Zaretskii, 2006/08/05
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v,
Richard M. Stallman <=
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Jan Djärv, 2006/08/10
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Chong Yidong, 2006/08/14
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Chong Yidong, 2006/08/15
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Richard M. Stallman, 2006/08/20
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Chong Yidong, 2006/08/20
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Kenichi Handa, 2006/08/20
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Jan Djärv, 2006/08/21
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Kim F. Storm, 2006/08/25
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, YAMAMOTO Mitsuharu, 2006/08/27