comparison src/keymap.c @ 91056:1251cabc40b7

Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 890-898) - Update from CVS - Merge from emacs--rel--22 * emacs--rel--22 (patch 122-128) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 257-258) - Merge from emacs--rel--22 - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-270
author Miles Bader <miles@gnu.org>
date Fri, 19 Oct 2007 00:00:21 +0000
parents bdb3fe0ba9fa f7d19cfed7da
children 53108e6cea98
comparison
equal deleted inserted replaced
91055:46bc3a01b2fa 91056:1251cabc40b7
1278 return Fkey_binding (command_remapping_vector, Qnil, Qt, position); 1278 return Fkey_binding (command_remapping_vector, Qnil, Qt, position);
1279 else 1279 else
1280 { 1280 {
1281 Lisp_Object maps, binding; 1281 Lisp_Object maps, binding;
1282 1282
1283 for (maps = keymaps; !NILP (maps); maps = Fcdr (maps)) 1283 for (maps = keymaps; CONSP (maps); maps = XCDR (maps))
1284 { 1284 {
1285 binding = Flookup_key (Fcar (maps), command_remapping_vector, Qnil); 1285 binding = Flookup_key (XCAR (maps), command_remapping_vector, Qnil);
1286 if (!NILP (binding) && !INTEGERP (binding)) 1286 if (!NILP (binding) && !INTEGERP (binding))
1287 return binding; 1287 return binding;
1288 } 1288 }
1289 return Qnil; 1289 return Qnil;
1290 } 1290 }
2651 if (NILP (no_remap) 2651 if (NILP (no_remap)
2652 && SYMBOLP (definition) 2652 && SYMBOLP (definition)
2653 && !NILP (Fcommand_remapping (definition, Qnil, keymaps))) 2653 && !NILP (Fcommand_remapping (definition, Qnil, keymaps)))
2654 RETURN_UNGCPRO (Qnil); 2654 RETURN_UNGCPRO (Qnil);
2655 2655
2656 for (; !NILP (maps); maps = Fcdr (maps)) 2656 for (; CONSP (maps); maps = XCDR (maps))
2657 { 2657 {
2658 /* Key sequence to reach map, and the map that it reaches */ 2658 /* Key sequence to reach map, and the map that it reaches */
2659 register Lisp_Object this, map, tem; 2659 register Lisp_Object this, map, tem;
2660 struct where_is_internal_data data; 2660 struct where_is_internal_data data;
2661 2661
2663 [M-CHAR] sequences, check if last character of the sequence 2663 [M-CHAR] sequences, check if last character of the sequence
2664 is the meta-prefix char. */ 2664 is the meta-prefix char. */
2665 Lisp_Object last; 2665 Lisp_Object last;
2666 int last_is_meta; 2666 int last_is_meta;
2667 2667
2668 this = Fcar (Fcar (maps)); 2668 this = Fcar (XCAR (maps));
2669 map = Fcdr (Fcar (maps)); 2669 map = Fcdr (XCAR (maps));
2670 last = make_number (XINT (Flength (this)) - 1); 2670 last = make_number (XINT (Flength (this)) - 1);
2671 last_is_meta = (XINT (last) >= 0 2671 last_is_meta = (XINT (last) >= 0
2672 && EQ (Faref (this, last), meta_prefix_char)); 2672 && EQ (Faref (this, last), meta_prefix_char));
2673 2673
2674 /* if (nomenus && !ascii_sequence_p (this)) */ 2674 /* if (nomenus && !ascii_sequence_p (this)) */
3153 if (nomenu) 3153 if (nomenu)
3154 { 3154 {
3155 Lisp_Object list; 3155 Lisp_Object list;
3156 3156
3157 /* Delete from MAPS each element that is for the menu bar. */ 3157 /* Delete from MAPS each element that is for the menu bar. */
3158 for (list = maps; !NILP (list); list = XCDR (list)) 3158 for (list = maps; CONSP (list); list = XCDR (list))
3159 { 3159 {
3160 Lisp_Object elt, prefix, tem; 3160 Lisp_Object elt, prefix, tem;
3161 3161
3162 elt = Fcar (list); 3162 elt = XCAR (list);
3163 prefix = Fcar (elt); 3163 prefix = Fcar (elt);
3164 if (XVECTOR (prefix)->size >= 1) 3164 if (XVECTOR (prefix)->size >= 1)
3165 { 3165 {
3166 tem = Faref (prefix, make_number (0)); 3166 tem = Faref (prefix, make_number (0));
3167 if (EQ (tem, Qmenu_bar)) 3167 if (EQ (tem, Qmenu_bar))
3184 } 3184 }
3185 insert_string (key_heading); 3185 insert_string (key_heading);
3186 something = 1; 3186 something = 1;
3187 } 3187 }
3188 3188
3189 for (; !NILP (maps); maps = Fcdr (maps)) 3189 for (; CONSP (maps); maps = XCDR (maps))
3190 { 3190 {
3191 register Lisp_Object elt, prefix, tail; 3191 register Lisp_Object elt, prefix, tail;
3192 3192
3193 elt = Fcar (maps); 3193 elt = XCAR (maps);
3194 prefix = Fcar (elt); 3194 prefix = Fcar (elt);
3195 3195
3196 sub_shadows = Qnil; 3196 sub_shadows = Qnil;
3197 3197
3198 for (tail = shadow; CONSP (tail); tail = XCDR (tail)) 3198 for (tail = shadow; CONSP (tail); tail = XCDR (tail))