aboutsummaryrefslogtreecommitdiffstats
path: root/src/keymap.c
diff options
context:
space:
mode:
authorKaroly Lorentey2006-07-29 09:59:12 +0000
committerKaroly Lorentey2006-07-29 09:59:12 +0000
commit251bc578cc636223d618d06cf2a2bb7d07db9cce (patch)
tree58e1c6b0a35bb4a77e6cb77876e4bc6a9d3f2ab2 /src/keymap.c
parent99715bbc447eb633e45ffa23b87284771ce3ac74 (diff)
parent0ed0527cb02180a50f6744086ce3a487740c73e4 (diff)
downloademacs-251bc578cc636223d618d06cf2a2bb7d07db9cce.tar.gz
emacs-251bc578cc636223d618d06cf2a2bb7d07db9cce.zip
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
Diffstat (limited to 'src/keymap.c')
-rw-r--r--src/keymap.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/keymap.c b/src/keymap.c
index 0197319957c..9e1f01e7a79 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -751,7 +751,7 @@ usage: (map-keymap FUNCTION KEYMAP) */)
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
@@ -1142,6 +1142,20 @@ binding KEY to DEF is added at the front of KEYMAP. */)
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 {