aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Rudalics2007-08-29 09:01:48 +0000
committerMartin Rudalics2007-08-29 09:01:48 +0000
commitd0d3a31145231a520300d9360b74dcac60aa3930 (patch)
tree7c1efafdb71e171f2039e8751ce5bd36ec325478 /src
parentd2ff5d5051fa8f3a741ba897680cd6246a3e5280 (diff)
downloademacs-d0d3a31145231a520300d9360b74dcac60aa3930.tar.gz
emacs-d0d3a31145231a520300d9360b74dcac60aa3930.zip
(syms_of_keyboard): Set up new Lisp variable
last-repeatable-command. (init_kboard): Initialize Vlast_repeatable_command. (command_loop_1): Set it to real_this_command unless that was bound to an input event. (mark_kboards): Mark it.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog11
-rw-r--r--src/keyboard.c11
2 files changed, 22 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 68383a34cdd..de94c9fb0a1 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,14 @@
12007-08-29 Martin Rudalics <rudalics@gmx.at>
2
3 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
4
5 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
6 last-repeatable-command.
7 (init_kboard): Initialize Vlast_repeatable_command.
8 (command_loop_1): Set it to real_this_command unless that was
9 bound to an input event.
10 (mark_kboards): Mark it.
11
12007-08-28 Juanma Barranquero <lekktu@gmail.com> 122007-08-28 Juanma Barranquero <lekktu@gmail.com>
2 13
3 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>: 14 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
diff --git a/src/keyboard.c b/src/keyboard.c
index 171f2da7217..ea26e620892 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -1536,6 +1536,8 @@ command_loop_1 ()
1536 /* Do this after running Vpost_command_hook, for consistency. */ 1536 /* Do this after running Vpost_command_hook, for consistency. */
1537 current_kboard->Vlast_command = Vthis_command; 1537 current_kboard->Vlast_command = Vthis_command;
1538 current_kboard->Vreal_last_command = real_this_command; 1538 current_kboard->Vreal_last_command = real_this_command;
1539 if (!CONSP (last_command_char))
1540 current_kboard->Vlast_repeatable_command = real_this_command;
1539 1541
1540 while (1) 1542 while (1)
1541 { 1543 {
@@ -1916,6 +1918,8 @@ command_loop_1 ()
1916 { 1918 {
1917 current_kboard->Vlast_command = Vthis_command; 1919 current_kboard->Vlast_command = Vthis_command;
1918 current_kboard->Vreal_last_command = real_this_command; 1920 current_kboard->Vreal_last_command = real_this_command;
1921 if (!CONSP (last_command_char))
1922 current_kboard->Vlast_repeatable_command = real_this_command;
1919 cancel_echoing (); 1923 cancel_echoing ();
1920 this_command_key_count = 0; 1924 this_command_key_count = 0;
1921 this_command_key_count_reset = 0; 1925 this_command_key_count_reset = 0;
@@ -10970,6 +10974,7 @@ init_kboard (kb)
10970 kb->Voverriding_terminal_local_map = Qnil; 10974 kb->Voverriding_terminal_local_map = Qnil;
10971 kb->Vlast_command = Qnil; 10975 kb->Vlast_command = Qnil;
10972 kb->Vreal_last_command = Qnil; 10976 kb->Vreal_last_command = Qnil;
10977 kb->Vlast_repeatable_command = Qnil;
10973 kb->Vprefix_arg = Qnil; 10978 kb->Vprefix_arg = Qnil;
10974 kb->Vlast_prefix_arg = Qnil; 10979 kb->Vlast_prefix_arg = Qnil;
10975 kb->kbd_queue = Qnil; 10980 kb->kbd_queue = Qnil;
@@ -11457,6 +11462,11 @@ was a kill command. */);
11457 DEFVAR_KBOARD ("real-last-command", Vreal_last_command, 11462 DEFVAR_KBOARD ("real-last-command", Vreal_last_command,
11458 doc: /* Same as `last-command', but never altered by Lisp code. */); 11463 doc: /* Same as `last-command', but never altered by Lisp code. */);
11459 11464
11465 DEFVAR_KBOARD ("last-repeatable-command", Vlast_repeatable_command,
11466 doc: /* Last command that may be repeated.
11467The last command executed that was not bound to an input event.
11468This is the command `repeat' will try to repeat. */);
11469
11460 DEFVAR_LISP ("this-command", &Vthis_command, 11470 DEFVAR_LISP ("this-command", &Vthis_command,
11461 doc: /* The command now being executed. 11471 doc: /* The command now being executed.
11462The command can set this variable; whatever is put here 11472The command can set this variable; whatever is put here
@@ -11855,6 +11865,7 @@ mark_kboards ()
11855 mark_object (kb->Voverriding_terminal_local_map); 11865 mark_object (kb->Voverriding_terminal_local_map);
11856 mark_object (kb->Vlast_command); 11866 mark_object (kb->Vlast_command);
11857 mark_object (kb->Vreal_last_command); 11867 mark_object (kb->Vreal_last_command);
11868 mark_object (kb->Vlast_repeatable_command);
11858 mark_object (kb->Vprefix_arg); 11869 mark_object (kb->Vprefix_arg);
11859 mark_object (kb->Vlast_prefix_arg); 11870 mark_object (kb->Vlast_prefix_arg);
11860 mark_object (kb->kbd_queue); 11871 mark_object (kb->kbd_queue);