1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-06 03:40:56 -08:00

(Fdefine_key): If the key binding definition looks like an

XEmacs-style key sequence, convert it to Emacs's format.
This commit is contained in:
Stefan Monnier 2006-07-22 21:22:52 +00:00
parent b9debd5432
commit 2db8f17387
3 changed files with 21 additions and 0 deletions

View file

@ -4617,6 +4617,8 @@ Lisp packages using many minor mode keymaps can now maintain their own
keymap alist separate from `minor-mode-map-alist' by adding their
keymap alist to this list.
*** The definition of a key-binding passed to define-key can use XEmacs-style
key-sequences, such as [(control a)].
** Abbrev changes:
+++

View file

@ -1,3 +1,8 @@
2006-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
* keymap.c (Fdefine_key): If the key binding definition looks like an
XEmacs-style key sequence, convert it to Emacs's format.
2006-07-22 Ralf Angeli <angeli@caeruleus.net>
* w32fns.c (w32_createwindow): If `left' and/or `top' frame

View file

@ -1149,6 +1149,20 @@ binding KEY to DEF is added at the front of KEYMAP. */)
meta_bit = VECTORP (key) ? meta_modifier : 0x80;
if (VECTORP (def) && ASIZE (def) > 0 && CONSP (AREF (def, make_number (0))))
{ /* DEF is apparently an XEmacs-style keyboard macro. */
Lisp_Object tmp = Fmake_vector (make_number (ASIZE (def)), Qnil);
int i = ASIZE (def);
while (--i >= 0)
{
Lisp_Object c = AREF (def, i);
if (CONSP (c) && lucid_event_type_list_p (c))
c = Fevent_convert_list (c);
ASET (tmp, i, c);
}
def = tmp;
}
idx = 0;
while (1)
{