diff options
| author | Paul Eggert | 2011-10-06 23:47:02 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-10-06 23:47:02 -0700 |
| commit | f2b31075364c17574955493ec5effa7baa12ee24 (patch) | |
| tree | d28ce11201982b564e15291da8566529f33fc33d /src | |
| parent | 3164aeac1589cc7898634d8f9ea155a005576942 (diff) | |
| parent | 21ce8245145810da59c854a172900894f22c175c (diff) | |
| download | emacs-f2b31075364c17574955493ec5effa7baa12ee24.tar.gz emacs-f2b31075364c17574955493ec5effa7baa12ee24.zip | |
Merge from trunk.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 11 | ||||
| -rw-r--r-- | src/keyboard.c | 20 |
2 files changed, 20 insertions, 11 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index b63ff401090..4fd9dff1f32 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -3,10 +3,7 @@ | |||
| 3 | * alloc.c (mark_memory): Omit 3rd (offset) arg; caller changed. | 3 | * alloc.c (mark_memory): Omit 3rd (offset) arg; caller changed. |
| 4 | Don't assume EMACS_INT alignment is the same as pointer alignment. | 4 | Don't assume EMACS_INT alignment is the same as pointer alignment. |
| 5 | (GC_POINTER_ALIGNMENT): New macro. | 5 | (GC_POINTER_ALIGNMENT): New macro. |
| 6 | 6 | (pure_bytes_used_lisp, pure_bytes_used_non_lisp): | |
| 7 | 2011-10-02 Paul Eggert <eggert@cs.ucla.edu> | ||
| 8 | |||
| 9 | * alloc.c (pure_bytes_used_lisp, pure_bytes_used_non_lisp): | ||
| 10 | (allocate_vectorlike, buffer_memory_full, struct sdata, SDATA_SIZE) | 7 | (allocate_vectorlike, buffer_memory_full, struct sdata, SDATA_SIZE) |
| 11 | (string_bytes, check_sblock, allocate_string_data): | 8 | (string_bytes, check_sblock, allocate_string_data): |
| 12 | (compact_small_strings, Fmake_bool_vector, make_string) | 9 | (compact_small_strings, Fmake_bool_vector, make_string) |
| @@ -789,6 +786,12 @@ | |||
| 789 | rather than rolling our own approximation. | 786 | rather than rolling our own approximation. |
| 790 | (SCROLL_BAR_VEC_SIZE): Remove; not used. | 787 | (SCROLL_BAR_VEC_SIZE): Remove; not used. |
| 791 | 788 | ||
| 789 | 2011-10-03 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 790 | |||
| 791 | * keyboard.c (read_key_sequence_remapped): New var. | ||
| 792 | (read_key_sequence): Compute remapping in the right buffer. | ||
| 793 | (command_loop_1): Use read_key_sequence's remapping directly. | ||
| 794 | |||
| 792 | 2011-10-02 Stefan Monnier <monnier@iro.umontreal.ca> | 795 | 2011-10-02 Stefan Monnier <monnier@iro.umontreal.ca> |
| 793 | 796 | ||
| 794 | * dired.c (file_name_completion): Don't expand file name. | 797 | * dired.c (file_name_completion): Don't expand file name. |
diff --git a/src/keyboard.c b/src/keyboard.c index a771c9c4187..7c199b3ae14 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -252,6 +252,7 @@ static Lisp_Object Qtimer_event_handler; | |||
| 252 | /* read_key_sequence stores here the command definition of the | 252 | /* read_key_sequence stores here the command definition of the |
| 253 | key sequence that it reads. */ | 253 | key sequence that it reads. */ |
| 254 | static Lisp_Object read_key_sequence_cmd; | 254 | static Lisp_Object read_key_sequence_cmd; |
| 255 | static Lisp_Object read_key_sequence_remapped; | ||
| 255 | 256 | ||
| 256 | static Lisp_Object Qinput_method_function; | 257 | static Lisp_Object Qinput_method_function; |
| 257 | 258 | ||
| @@ -1512,14 +1513,10 @@ command_loop_1 (void) | |||
| 1512 | reset it before we execute the command. */ | 1513 | reset it before we execute the command. */ |
| 1513 | Vdeactivate_mark = Qnil; | 1514 | Vdeactivate_mark = Qnil; |
| 1514 | 1515 | ||
| 1515 | /* Remap command through active keymaps */ | 1516 | /* Remap command through active keymaps. */ |
| 1516 | Vthis_original_command = cmd; | 1517 | Vthis_original_command = cmd; |
| 1517 | if (SYMBOLP (cmd)) | 1518 | if (!NILP (read_key_sequence_remapped)) |
| 1518 | { | 1519 | cmd = read_key_sequence_remapped; |
| 1519 | Lisp_Object cmd1; | ||
| 1520 | if (cmd1 = Fcommand_remapping (cmd, Qnil, Qnil), !NILP (cmd1)) | ||
| 1521 | cmd = cmd1; | ||
| 1522 | } | ||
| 1523 | 1520 | ||
| 1524 | /* Execute the command. */ | 1521 | /* Execute the command. */ |
| 1525 | 1522 | ||
| @@ -10004,6 +10001,13 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, | |||
| 10004 | read_key_sequence_cmd = (first_binding < nmaps | 10001 | read_key_sequence_cmd = (first_binding < nmaps |
| 10005 | ? defs[first_binding] | 10002 | ? defs[first_binding] |
| 10006 | : Qnil); | 10003 | : Qnil); |
| 10004 | read_key_sequence_remapped | ||
| 10005 | /* Remap command through active keymaps. | ||
| 10006 | Do the remapping here, before the unbind_to so it uses the keymaps | ||
| 10007 | of the appropriate buffer. */ | ||
| 10008 | = SYMBOLP (read_key_sequence_cmd) | ||
| 10009 | ? Fcommand_remapping (read_key_sequence_cmd, Qnil, Qnil) | ||
| 10010 | : Qnil; | ||
| 10007 | 10011 | ||
| 10008 | unread_switch_frame = delayed_switch_frame; | 10012 | unread_switch_frame = delayed_switch_frame; |
| 10009 | unbind_to (count, Qnil); | 10013 | unbind_to (count, Qnil); |
| @@ -11668,6 +11672,8 @@ syms_of_keyboard (void) | |||
| 11668 | 11672 | ||
| 11669 | read_key_sequence_cmd = Qnil; | 11673 | read_key_sequence_cmd = Qnil; |
| 11670 | staticpro (&read_key_sequence_cmd); | 11674 | staticpro (&read_key_sequence_cmd); |
| 11675 | read_key_sequence_remapped = Qnil; | ||
| 11676 | staticpro (&read_key_sequence_remapped); | ||
| 11671 | 11677 | ||
| 11672 | menu_bar_one_keymap_changed_items = Qnil; | 11678 | menu_bar_one_keymap_changed_items = Qnil; |
| 11673 | staticpro (&menu_bar_one_keymap_changed_items); | 11679 | staticpro (&menu_bar_one_keymap_changed_items); |