comparison 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
comparison
equal deleted inserted replaced
90600:84dd84b43e1b 90601:a1a25ac6c88a
3255 if (!end_time) 3255 if (!end_time)
3256 timer_resume_idle (); 3256 timer_resume_idle ();
3257 goto retry; 3257 goto retry;
3258 } 3258 }
3259 3259
3260 if (! reread || this_command_key_count == 0 3260 if ((! reread || this_command_key_count == 0
3261 || this_command_key_count_reset) 3261 || this_command_key_count_reset)
3262 && !end_time)
3262 { 3263 {
3263 3264
3264 /* Don't echo mouse motion events. */ 3265 /* Don't echo mouse motion events. */
3265 if ((FLOATP (Vecho_keystrokes) || INTEGERP (Vecho_keystrokes)) 3266 if ((FLOATP (Vecho_keystrokes) || INTEGERP (Vecho_keystrokes))
3266 && NILP (Fzerop (Vecho_keystrokes)) 3267 && NILP (Fzerop (Vecho_keystrokes))
8763 keybuf with its symbol, or if the sequence starts with a mouse 8764 keybuf with its symbol, or if the sequence starts with a mouse
8764 click and we need to switch buffers, we jump back here to rebuild 8765 click and we need to switch buffers, we jump back here to rebuild
8765 the initial keymaps from the current buffer. */ 8766 the initial keymaps from the current buffer. */
8766 nmaps = 0; 8767 nmaps = 0;
8767 8768
8768 if (!NILP (current_kboard->Voverriding_terminal_local_map) 8769 if (!NILP (current_kboard->Voverriding_terminal_local_map))
8769 || !NILP (Voverriding_local_map)) 8770 {
8770 { 8771 if (2 > nmaps_allocated)
8771 if (3 > nmaps_allocated) 8772 {
8772 { 8773 submaps = (Lisp_Object *) alloca (2 * sizeof (submaps[0]));
8773 submaps = (Lisp_Object *) alloca (3 * sizeof (submaps[0])); 8774 defs = (Lisp_Object *) alloca (2 * sizeof (defs[0]));
8774 defs = (Lisp_Object *) alloca (3 * sizeof (defs[0])); 8775 nmaps_allocated = 2;
8775 nmaps_allocated = 3;
8776 } 8776 }
8777 if (!NILP (current_kboard->Voverriding_terminal_local_map)) 8777 if (!NILP (current_kboard->Voverriding_terminal_local_map))
8778 submaps[nmaps++] = current_kboard->Voverriding_terminal_local_map; 8778 submaps[nmaps++] = current_kboard->Voverriding_terminal_local_map;
8779 }
8780 else if (!NILP (Voverriding_local_map))
8781 {
8782 if (2 > nmaps_allocated)
8783 {
8784 submaps = (Lisp_Object *) alloca (2 * sizeof (submaps[0]));
8785 defs = (Lisp_Object *) alloca (2 * sizeof (defs[0]));
8786 nmaps_allocated = 2;
8787 }
8779 if (!NILP (Voverriding_local_map)) 8788 if (!NILP (Voverriding_local_map))
8780 submaps[nmaps++] = Voverriding_local_map; 8789 submaps[nmaps++] = Voverriding_local_map;
8781 } 8790 }
8782 else 8791 else
8783 { 8792 {
10085 doc: /* Return t if command input is currently available with no wait. 10094 doc: /* Return t if command input is currently available with no wait.
10086 Actually, the value is nil only if we can be sure that no input is available; 10095 Actually, the value is nil only if we can be sure that no input is available;
10087 if there is a doubt, the value is t. */) 10096 if there is a doubt, the value is t. */)
10088 () 10097 ()
10089 { 10098 {
10090 if (!NILP (Vunread_command_events) || unread_command_char != -1) 10099 if (!NILP (Vunread_command_events) || unread_command_char != -1
10100 || !NILP (Vunread_post_input_method_events)
10101 || !NILP (Vunread_input_method_events))
10091 return (Qt); 10102 return (Qt);
10092 10103
10093 get_input_pending (&input_pending, 10104 get_input_pending (&input_pending,
10094 READABLE_EVENTS_DO_TIMERS_NOW 10105 READABLE_EVENTS_DO_TIMERS_NOW
10095 | READABLE_EVENTS_FILTER_EVENTS); 10106 | READABLE_EVENTS_FILTER_EVENTS);