comparison src/keymap.c @ 83533:02e39decdc84

Merged from emacs@sv.gnu.org Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-351 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-352 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-353 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-354 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-355 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-356 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-357 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-358 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-359 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-360 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-361 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-362 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-363 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-364 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-365 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-366 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-367 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-368 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-369 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-370 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-115 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-116 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-117 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-118 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-119 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-120 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-573
author Karoly Lorentey <lorentey@elte.hu>
date Sat, 29 Jul 2006 09:59:12 +0000
parents b19aaf4ab0ee 91ea8d22ef60
children 2d56e13fd23d
comparison
equal deleted inserted replaced
83532:b19aaf4ab0ee 83533:02e39decdc84
749 Lisp_Object function, keymap, sort_first; 749 Lisp_Object function, keymap, sort_first;
750 { 750 {
751 if (INTEGERP (function)) 751 if (INTEGERP (function))
752 /* We have to stop integers early since map_keymap gives them special 752 /* We have to stop integers early since map_keymap gives them special
753 significance. */ 753 significance. */
754 Fsignal (Qinvalid_function, Fcons (function, Qnil)); 754 xsignal1 (Qinvalid_function, function);
755 if (! NILP (sort_first)) 755 if (! NILP (sort_first))
756 return call3 (intern ("map-keymap-internal"), function, keymap, Qt); 756 return call3 (intern ("map-keymap-internal"), function, keymap, Qt);
757 757
758 map_keymap (keymap, map_keymap_call, function, NULL, 1); 758 map_keymap (keymap, map_keymap_call, function, NULL, 1);
759 return Qnil; 759 return Qnil;
1140 if (SYMBOLP (def) && !EQ (Vdefine_key_rebound_commands, Qt)) 1140 if (SYMBOLP (def) && !EQ (Vdefine_key_rebound_commands, Qt))
1141 Vdefine_key_rebound_commands = Fcons (def, Vdefine_key_rebound_commands); 1141 Vdefine_key_rebound_commands = Fcons (def, Vdefine_key_rebound_commands);
1142 1142
1143 meta_bit = VECTORP (key) ? meta_modifier : 0x80; 1143 meta_bit = VECTORP (key) ? meta_modifier : 0x80;
1144 1144
1145 if (VECTORP (def) && ASIZE (def) > 0 && CONSP (AREF (def, make_number (0))))
1146 { /* DEF is apparently an XEmacs-style keyboard macro. */
1147 Lisp_Object tmp = Fmake_vector (make_number (ASIZE (def)), Qnil);
1148 int i = ASIZE (def);
1149 while (--i >= 0)
1150 {
1151 Lisp_Object c = AREF (def, i);
1152 if (CONSP (c) && lucid_event_type_list_p (c))
1153 c = Fevent_convert_list (c);
1154 ASET (tmp, i, c);
1155 }
1156 def = tmp;
1157 }
1158
1145 idx = 0; 1159 idx = 0;
1146 while (1) 1160 while (1)
1147 { 1161 {
1148 c = Faref (key, make_number (idx)); 1162 c = Faref (key, make_number (idx));
1149 1163