diff options
author | Jim Blandy <jimb@redhat.com> | 1992-09-28 02:20:23 +0000 |
---|---|---|
committer | Jim Blandy <jimb@redhat.com> | 1992-09-28 02:20:23 +0000 |
commit | fde3a52f2427b9afe628f4d1013f020c69052156 (patch) | |
tree | 20f173ab316fa96cdfd9c40065509c5e75cd13ea /src/keymap.c | |
parent | 08a6ff8140242340f549dc9e734913ad84f2cbe9 (diff) | |
download | emacs-fde3a52f2427b9afe628f4d1013f020c69052156.tar.gz |
* keymap.c (access_keymap): Remove code to notice bindings for
Qt.
* keymap.c (Fwhere_is_internal): Don't forget to advance map to
the next element when we find something that is neither a vector
nor a cons. Don't forget to QUIT in the appropriate places,
either.
Diffstat (limited to 'src/keymap.c')
-rw-r--r-- | src/keymap.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/keymap.c b/src/keymap.c index 373528655ba..98b9d8f06cf 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -204,11 +204,8 @@ get_keymap (object) /* Look up IDX in MAP. IDX may be any sort of event. - Note that this does only one level of lookup; IDX must be a single - event, not a sequence. If IDX is unbound in MAP but MAP has a - binding for Qt, then Qt's binding is returned; this makes bindings - of Qt act like "default" bindings. */ + event, not a sequence. */ Lisp_Object access_keymap (map, idx) @@ -232,7 +229,6 @@ access_keymap (map, idx) { Lisp_Object tail; - Lisp_Object t_binding = Qnil; for (tail = map; CONSP (tail); tail = XCONS (tail)->cdr) { @@ -243,8 +239,6 @@ access_keymap (map, idx) case Lisp_Cons: if (EQ (XCONS (binding)->car, idx)) return XCONS (binding)->cdr; - if (EQ (XCONS (binding)->car, Qt)) - t_binding = XCONS (binding)->cdr; break; case Lisp_Vector: @@ -254,9 +248,9 @@ access_keymap (map, idx) break; } } - - return t_binding; } + + return Qnil; } /* Given OBJECT which was found in a slot in a keymap, @@ -276,10 +270,9 @@ get_keyelt (object) { register Lisp_Object map, tem; + /* If the contents are (KEYMAP . ELEMENT), go indirect. */ map = get_keymap_1 (Fcar_safe (object), 0); tem = Fkeymapp (map); - - /* If the contents are (KEYMAP . ELEMENT), go indirect. */ if (!NILP (tem)) object = access_keymap (map, Fcdr (object)); @@ -1219,6 +1212,8 @@ indirect definition itself.") int last_is_meta = (XINT (last) >= 0 && EQ (Faref (this, last), meta_prefix_char)); + QUIT; + while (CONSP (map)) { /* Because the code we want to run on each binding is rather @@ -1233,6 +1228,8 @@ indirect definition itself.") Lisp_Object elt = XCONS (map)->car; Lisp_Object key, binding, sequence; + QUIT; + /* Set key and binding to the current key and binding, and advance map and i to the next binding. */ if (XTYPE (elt) == Lisp_Vector) @@ -1261,7 +1258,10 @@ indirect definition itself.") else /* We want to ignore keymap elements that are neither vectors nor conses. */ - continue; + { + map = XCONS (map)->cdr; + continue; + } /* Search through indirections unless that's not wanted. */ if (NILP (noindirect)) |