comparison src/keyboard.c @ 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 61bd8643b908
children bd5ef7de54da ec395f552d45 7beb78bc1f8e
comparison
equal deleted inserted replaced
67819:b2e009fc75c5 67820:a9cbddeec059
379 379
380 /* If the lookup of the command returns a binding, the original 380 /* If the lookup of the command returns a binding, the original
381 command is stored in this-original-command. It is nil otherwise. */ 381 command is stored in this-original-command. It is nil otherwise. */
382 Lisp_Object Vthis_original_command; 382 Lisp_Object Vthis_original_command;
383 383
384 /* The value of point when the last command was executed. */ 384 /* The value of point when the last command was started. */
385 int last_point_position; 385 int last_point_position;
386 386
387 /* The buffer that was current when the last command was started. */ 387 /* The buffer that was current when the last command was started. */
388 Lisp_Object last_point_position_buffer; 388 Lisp_Object last_point_position_buffer;
389
390 /* The window that was selected when the last command was started. */
391 Lisp_Object last_point_position_window;
389 392
390 /* The frame in which the last input event occurred, or Qmacro if the 393 /* The frame in which the last input event occurred, or Qmacro if the
391 last event came from a macro. We use this to determine when to 394 last event came from a macro. We use this to determine when to
392 generate switch-frame events. This may be cleared by functions 395 generate switch-frame events. This may be cleared by functions
393 like Fselect_frame, to make sure that a switch-frame event is 396 like Fselect_frame, to make sure that a switch-frame event is
1579 /* Do redisplay processing after this command except in special 1582 /* Do redisplay processing after this command except in special
1580 cases identified below. */ 1583 cases identified below. */
1581 prev_buffer = current_buffer; 1584 prev_buffer = current_buffer;
1582 prev_modiff = MODIFF; 1585 prev_modiff = MODIFF;
1583 last_point_position = PT; 1586 last_point_position = PT;
1587 last_point_position_window = selected_window;
1584 XSETBUFFER (last_point_position_buffer, prev_buffer); 1588 XSETBUFFER (last_point_position_buffer, prev_buffer);
1585 1589
1586 /* By default, we adjust point to a boundary of a region that 1590 /* By default, we adjust point to a boundary of a region that
1587 has such a property that should be treated intangible 1591 has such a property that should be treated intangible
1588 (e.g. composition, display). But, some commands will set 1592 (e.g. composition, display). But, some commands will set
10983 10987
10984 Fset (Qinput_method_exit_on_first_char, Qnil); 10988 Fset (Qinput_method_exit_on_first_char, Qnil);
10985 Fset (Qinput_method_use_echo_area, Qnil); 10989 Fset (Qinput_method_use_echo_area, Qnil);
10986 10990
10987 last_point_position_buffer = Qnil; 10991 last_point_position_buffer = Qnil;
10992 last_point_position_window = Qnil;
10988 10993
10989 { 10994 {
10990 struct event_head *p; 10995 struct event_head *p;
10991 10996
10992 for (p = head_table; 10997 for (p = head_table;