Mercurial > emacs
comparison src/keymap.c @ 51034:a5bb1c5181ac
(Fset_keymap_parent, map_keymap, Fcopy_keymap)
(Faccessible_keymaps): Pass new arg to map_char_table.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 17 May 2003 12:47:55 +0000 |
parents | 997060f8dbbb |
children | 695cf19ef79e |
comparison
equal
deleted
inserted
replaced
51033:8fe4bdd97052 | 51034:a5bb1c5181ac |
---|---|
410 | 410 |
411 if (CHAR_TABLE_P (XCAR (list))) | 411 if (CHAR_TABLE_P (XCAR (list))) |
412 { | 412 { |
413 Lisp_Object indices[3]; | 413 Lisp_Object indices[3]; |
414 | 414 |
415 map_char_table (fix_submap_inheritance, Qnil, XCAR (list), | 415 map_char_table (fix_submap_inheritance, Qnil, |
416 XCAR (list), XCAR (list), | |
416 keymap, 0, indices); | 417 keymap, 0, indices); |
417 } | 418 } |
418 } | 419 } |
419 | 420 |
420 RETURN_UNGCPRO (parent); | 421 RETURN_UNGCPRO (parent); |
703 } | 704 } |
704 } | 705 } |
705 else if (CHAR_TABLE_P (binding)) | 706 else if (CHAR_TABLE_P (binding)) |
706 { | 707 { |
707 Lisp_Object indices[3]; | 708 Lisp_Object indices[3]; |
708 map_char_table (map_keymap_char_table_item, Qnil, binding, | 709 map_char_table (map_keymap_char_table_item, Qnil, binding, binding, |
709 Fcons (make_save_value (fun, 0), | 710 Fcons (make_save_value (fun, 0), |
710 Fcons (make_save_value (data, 0), | 711 Fcons (make_save_value (data, 0), |
711 args)), | 712 args)), |
712 0, indices); | 713 0, indices); |
713 } | 714 } |
1038 Lisp_Object elt = XCAR (keymap); | 1039 Lisp_Object elt = XCAR (keymap); |
1039 if (CHAR_TABLE_P (elt)) | 1040 if (CHAR_TABLE_P (elt)) |
1040 { | 1041 { |
1041 Lisp_Object indices[3]; | 1042 Lisp_Object indices[3]; |
1042 elt = Fcopy_sequence (elt); | 1043 elt = Fcopy_sequence (elt); |
1043 map_char_table (copy_keymap_1, Qnil, elt, elt, 0, indices); | 1044 map_char_table (copy_keymap_1, Qnil, elt, elt, elt, 0, indices); |
1044 } | 1045 } |
1045 else if (VECTORP (elt)) | 1046 else if (VECTORP (elt)) |
1046 { | 1047 { |
1047 int i; | 1048 int i; |
1048 elt = Fcopy_sequence (elt); | 1049 elt = Fcopy_sequence (elt); |
1912 | 1913 |
1913 if (CHAR_TABLE_P (elt)) | 1914 if (CHAR_TABLE_P (elt)) |
1914 { | 1915 { |
1915 Lisp_Object indices[3]; | 1916 Lisp_Object indices[3]; |
1916 | 1917 |
1917 map_char_table (accessible_keymaps_char_table, Qnil, | 1918 map_char_table (accessible_keymaps_char_table, Qnil, elt, |
1918 elt, Fcons (Fcons (maps, make_number (is_metized)), | 1919 elt, Fcons (Fcons (maps, make_number (is_metized)), |
1919 Fcons (tail, thisseq)), | 1920 Fcons (tail, thisseq)), |
1920 0, indices); | 1921 0, indices); |
1921 } | 1922 } |
1922 else if (VECTORP (elt)) | 1923 else if (VECTORP (elt)) |
2429 args = Fcons (Fcons (Fcons (definition, noindirect), | 2430 args = Fcons (Fcons (Fcons (definition, noindirect), |
2430 Qnil), /* Result accumulator. */ | 2431 Qnil), /* Result accumulator. */ |
2431 Fcons (Fcons (this, last), | 2432 Fcons (Fcons (this, last), |
2432 Fcons (make_number (nomenus), | 2433 Fcons (make_number (nomenus), |
2433 make_number (last_is_meta)))); | 2434 make_number (last_is_meta)))); |
2434 map_char_table (where_is_internal_2, Qnil, elt, args, | 2435 map_char_table (where_is_internal_2, Qnil, elt, elt, args, |
2435 0, indices); | 2436 0, indices); |
2436 sequences = XCDR (XCAR (args)); | 2437 sequences = XCDR (XCAR (args)); |
2437 } | 2438 } |
2438 else if (CONSP (elt)) | 2439 else if (CONSP (elt)) |
2439 { | 2440 { |