# HG changeset patch # User Richard M. Stallman # Date 1135614696 0 # Node ID a9cbddeec059461409f52c2e1ddf7a3ce0604fa3 # Parent b2e009fc75c5123af7b3dc032e6e5093e6d9c144 (last_point_position_window): New variable. (command_loop_1): Set last_point_position_window. (syms_of_keyboard): Init it. diff -r b2e009fc75c5 -r a9cbddeec059 src/keyboard.c --- 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;