[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/keyboard.c,v
From: |
Miles Bader |
Subject: |
[Emacs-diffs] Changes to emacs/src/keyboard.c,v |
Date: |
Tue, 09 Oct 2007 08:53:10 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Miles Bader <miles> 07/10/09 08:52:58
Index: src/keyboard.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/keyboard.c,v
retrieving revision 1.917
retrieving revision 1.918
diff -u -b -r1.917 -r1.918
--- src/keyboard.c 9 Oct 2007 05:05:37 -0000 1.917
+++ src/keyboard.c 9 Oct 2007 08:52:51 -0000 1.918
@@ -1612,6 +1612,8 @@
/* Do this after running Vpost_command_hook, for consistency. */
current_kboard->Vlast_command = Vthis_command;
current_kboard->Vreal_last_command = real_this_command;
+ if (!CONSP (last_command_char))
+ current_kboard->Vlast_repeatable_command = real_this_command;
while (1)
{
@@ -1987,6 +1989,8 @@
{
current_kboard->Vlast_command = Vthis_command;
current_kboard->Vreal_last_command = real_this_command;
+ if (!CONSP (last_command_char))
+ current_kboard->Vlast_repeatable_command = real_this_command;
cancel_echoing ();
this_command_key_count = 0;
this_command_key_count_reset = 0;
@@ -4098,6 +4102,12 @@
/* Wait until there is input available. */
for (;;)
{
+ /* Break loop if there's an unread command event. Needed in
+ moused window autoselection which uses a timer to insert such
+ events. */
+ if (CONSP (Vunread_command_events))
+ break;
+
if (kbd_fetch_ptr != kbd_store_ptr)
break;
#if defined (HAVE_MOUSE) || defined (HAVE_GPM)
@@ -11483,6 +11493,7 @@
kb->Vlast_command = Qnil;
kb->Vreal_last_command = Qnil;
kb->Vkeyboard_translate_table = Qnil;
+ kb->Vlast_repeatable_command = Qnil;
kb->Vprefix_arg = Qnil;
kb->Vlast_prefix_arg = Qnil;
kb->kbd_queue = Qnil;
@@ -11990,6 +12001,11 @@
DEFVAR_KBOARD ("real-last-command", Vreal_last_command,
doc: /* Same as `last-command', but never altered by Lisp
code. */);
+ DEFVAR_KBOARD ("last-repeatable-command", Vlast_repeatable_command,
+ doc: /* Last command that may be repeated.
+The last command executed that was not bound to an input event.
+This is the command `repeat' will try to repeat. */);
+
DEFVAR_LISP ("this-command", &Vthis_command,
doc: /* The command now being executed.
The command can set this variable; whatever is put here
@@ -12461,6 +12477,7 @@
mark_object (kb->Vlast_command);
mark_object (kb->Vreal_last_command);
mark_object (kb->Vkeyboard_translate_table);
+ mark_object (kb->Vlast_repeatable_command);
mark_object (kb->Vprefix_arg);
mark_object (kb->Vlast_prefix_arg);
mark_object (kb->kbd_queue);
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Stefan Monnier, 2007/10/09
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v,
Miles Bader <=
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Eli Zaretskii, 2007/10/13
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Eli Zaretskii, 2007/10/13
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Eli Zaretskii, 2007/10/13
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Richard M. Stallman, 2007/10/14
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Stefan Monnier, 2007/10/16
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Stefan Monnier, 2007/10/18
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Stefan Monnier, 2007/10/23
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Stefan Monnier, 2007/10/24
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Miles Bader, 2007/10/27
- [Emacs-diffs] Changes to emacs/src/keyboard.c,v, Stefan Monnier, 2007/10/31