Mercurial > emacs
changeset 86099:48dc79c663f4
* subr.el (event-modifiers): Use internal-event-symbol-parse-modifiers.
* keyboard.c (Fevent_symbol_parse_modifiers): New function.
(syms_of_keyboard): Defsubr it.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Thu, 15 Nov 2007 16:03:00 +0000 |
parents | 388dd3c79510 |
children | ac69f23a84ce |
files | lisp/ChangeLog lisp/subr.el src/ChangeLog src/keyboard.c |
diffstat | 4 files changed, 22 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Thu Nov 15 15:40:20 2007 +0000 +++ b/lisp/ChangeLog Thu Nov 15 16:03:00 2007 +0000 @@ -1,5 +1,7 @@ 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.
--- a/lisp/subr.el Thu Nov 15 15:40:20 2007 +0000 +++ b/lisp/subr.el Thu Nov 15 16:03:00 2007 +0000 @@ -723,7 +723,9 @@ (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-\^@)))))
--- a/src/ChangeLog Thu Nov 15 15:40:20 2007 +0000 +++ b/src/ChangeLog Thu Nov 15 16:03:00 2007 +0000 @@ -1,5 +1,8 @@ 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.
--- a/src/keyboard.c Thu Nov 15 15:40:20 2007 +0000 +++ b/src/keyboard.c Thu Nov 15 16:03:00 2007 +0000 @@ -6545,6 +6545,19 @@ } } +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 @@ 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);