Commit 58da34c7 authored by Stefan Monnier's avatar Stefan Monnier
Browse files

* subr.el (event-modifiers): Use internal-event-symbol-parse-modifiers.

* keyboard.c (Fevent_symbol_parse_modifiers): New function.
(syms_of_keyboard): Defsubr it.
parent 21e14641
2007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
* subr.el (event-modifiers): Use internal-event-symbol-parse-modifiers.
* pcvs.el (cvs-revert-if-needed): Ignore `unknown' files, since cvs
did not touch them.
......
......@@ -723,7 +723,9 @@ even when EVENT actually has modifiers."
(if (listp type)
(setq type (car type)))
(if (symbolp type)
(cdr (get type 'event-symbol-elements))
;; Don't read event-symbol-elements directly since we're not
;; sure the symbol has already been parsed.
(cdr (internal-event-symbol-parse-modifiers type))
(let ((list nil)
(char (logand type (lognot (logior ?\M-\^@ ?\C-\^@ ?\S-\^@
?\H-\^@ ?\s-\^@ ?\A-\^@)))))
......
2007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
* keyboard.c (Fevent_symbol_parse_modifiers): New function.
(syms_of_keyboard): Defsubr it.
* data.c (swap_in_global_binding): Fix longstanding bug where
store_symval_forwarding was not called with the right second argument,
thus causing objfwd-ing from being dropped.
......
......@@ -6545,6 +6545,19 @@ parse_modifiers (symbol)
}
}
DEFUN ("internal-event-symbol-parse-modifiers", Fevent_symbol_parse_modifiers,
Sevent_symbol_parse_modifiers, 1, 1, 0,
doc: /* Parse the event symbol. For internal use. */)
(symbol)
{
/* Fill the cache if needed. */
parse_modifiers (symbol);
/* Ignore the result (which is stored on Qevent_symbol_element_mask)
and use the Lispier representation stored on Qevent_symbol_elements
instead. */
return Fget (symbol, Qevent_symbol_elements);
}
/* Apply the modifiers MODIFIERS to the symbol BASE.
BASE must be unmodified.
......@@ -11946,6 +11959,7 @@ syms_of_keyboard ()
staticpro (&help_form_saved_window_configs);
defsubr (&Scurrent_idle_time);
defsubr (&Sevent_symbol_parse_modifiers);
defsubr (&Sevent_convert_list);
defsubr (&Sread_key_sequence);
defsubr (&Sread_key_sequence_vector);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment