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 {