Mercurial > emacs
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; |