changeset 67820:a9cbddeec059

(last_point_position_window): New variable. (command_loop_1): Set last_point_position_window. (syms_of_keyboard): Init it.
author Richard M. Stallman <rms@gnu.org>
date Mon, 26 Dec 2005 16:31:36 +0000
parents b2e009fc75c5
children 11268b0660c8
files src/keyboard.c
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/keyboard.c	Mon Dec 26 16:30:21 2005 +0000
+++ b/src/keyboard.c	Mon Dec 26 16:31:36 2005 +0000
@@ -381,12 +381,15 @@
    command is stored in this-original-command.  It is nil otherwise.  */
 Lisp_Object Vthis_original_command;
 
-/* The value of point when the last command was executed.  */
+/* The value of point when the last command was started.  */
 int last_point_position;
 
 /* The buffer that was current when the last command was started.  */
 Lisp_Object last_point_position_buffer;
 
+/* The window that was selected when the last command was started.  */
+Lisp_Object last_point_position_window;
+
 /* The frame in which the last input event occurred, or Qmacro if the
    last event came from a macro.  We use this to determine when to
    generate switch-frame events.  This may be cleared by functions
@@ -1581,6 +1584,7 @@
       prev_buffer = current_buffer;
       prev_modiff = MODIFF;
       last_point_position = PT;
+      last_point_position_window = selected_window;
       XSETBUFFER (last_point_position_buffer, prev_buffer);
 
       /* By default, we adjust point to a boundary of a region that
@@ -10985,6 +10989,7 @@
   Fset (Qinput_method_use_echo_area, Qnil);
 
   last_point_position_buffer = Qnil;
+  last_point_position_window = Qnil;
 
   {
     struct event_head *p;