Mercurial > emacs
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)) |