Mercurial > emacs
diff src/keyboard.c @ 90601:a1a25ac6c88a
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 427-436)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 134-136)
- Merge from emacs--devo--0
- Update from CVS
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-110
author | Miles Bader <miles@gnu.org> |
---|---|
date | Thu, 14 Sep 2006 09:24:00 +0000 |
parents | 6823a91487f2 becf85cadcc0 |
children | b5c13d1564a9 |
line wrap: on
line diff
--- a/src/keyboard.c Wed Sep 06 07:30:39 2006 +0000 +++ b/src/keyboard.c Thu Sep 14 09:24:00 2006 +0000 @@ -3257,8 +3257,9 @@ goto retry; } - if (! reread || this_command_key_count == 0 - || this_command_key_count_reset) + if ((! reread || this_command_key_count == 0 + || this_command_key_count_reset) + && !end_time) { /* Don't echo mouse motion events. */ @@ -8765,17 +8766,25 @@ the initial keymaps from the current buffer. */ nmaps = 0; - if (!NILP (current_kboard->Voverriding_terminal_local_map) - || !NILP (Voverriding_local_map)) - { - if (3 > nmaps_allocated) - { - submaps = (Lisp_Object *) alloca (3 * sizeof (submaps[0])); - defs = (Lisp_Object *) alloca (3 * sizeof (defs[0])); - nmaps_allocated = 3; + if (!NILP (current_kboard->Voverriding_terminal_local_map)) + { + if (2 > nmaps_allocated) + { + submaps = (Lisp_Object *) alloca (2 * sizeof (submaps[0])); + defs = (Lisp_Object *) alloca (2 * sizeof (defs[0])); + nmaps_allocated = 2; } if (!NILP (current_kboard->Voverriding_terminal_local_map)) submaps[nmaps++] = current_kboard->Voverriding_terminal_local_map; + } + else if (!NILP (Voverriding_local_map)) + { + if (2 > nmaps_allocated) + { + submaps = (Lisp_Object *) alloca (2 * sizeof (submaps[0])); + defs = (Lisp_Object *) alloca (2 * sizeof (defs[0])); + nmaps_allocated = 2; + } if (!NILP (Voverriding_local_map)) submaps[nmaps++] = Voverriding_local_map; } @@ -10087,7 +10096,9 @@ if there is a doubt, the value is t. */) () { - if (!NILP (Vunread_command_events) || unread_command_char != -1) + if (!NILP (Vunread_command_events) || unread_command_char != -1 + || !NILP (Vunread_post_input_method_events) + || !NILP (Vunread_input_method_events)) return (Qt); get_input_pending (&input_pending,