diff options
| author | Richard M. Stallman | 1998-04-24 06:28:46 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1998-04-24 06:28:46 +0000 |
| commit | 2e54982edd3a244a3d3ba952c57c46f37efba173 (patch) | |
| tree | cb2816845c2cffac1363ddaaf4c40ec45515899f /src | |
| parent | caf1a1721277d0e2af2345423f8d78bbd1379bf4 (diff) | |
| download | emacs-2e54982edd3a244a3d3ba952c57c46f37efba173.tar.gz emacs-2e54982edd3a244a3d3ba952c57c46f37efba173.zip | |
(Qinhibit_point_motion_hooks): New variable.
(syms_of_xdisp): Init and staticpro it.
(redisplay_window): Bind the symbol to t.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 84a80d519a8..6419c5b3aa0 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -64,6 +64,7 @@ extern Lisp_Object Voverriding_local_map_menu_flag; | |||
| 64 | Lisp_Object Qoverriding_local_map, Qoverriding_terminal_local_map; | 64 | Lisp_Object Qoverriding_local_map, Qoverriding_terminal_local_map; |
| 65 | Lisp_Object Qwindow_scroll_functions, Vwindow_scroll_functions; | 65 | Lisp_Object Qwindow_scroll_functions, Vwindow_scroll_functions; |
| 66 | Lisp_Object Qredisplay_end_trigger_functions; | 66 | Lisp_Object Qredisplay_end_trigger_functions; |
| 67 | Lisp_Object Qinhibit_point_motion_hooks; | ||
| 67 | 68 | ||
| 68 | /* Nonzero means print newline to stdout before next minibuffer message. */ | 69 | /* Nonzero means print newline to stdout before next minibuffer message. */ |
| 69 | 70 | ||
| @@ -1745,6 +1746,7 @@ redisplay_window (window, just_this_one, preserve_echo_area) | |||
| 1745 | int update_mode_line; | 1746 | int update_mode_line; |
| 1746 | struct Lisp_Char_Table *dp = window_display_table (w); | 1747 | struct Lisp_Char_Table *dp = window_display_table (w); |
| 1747 | int really_switched_buffer = 0; | 1748 | int really_switched_buffer = 0; |
| 1749 | int count = specpdl_ptr - specpdl; | ||
| 1748 | 1750 | ||
| 1749 | if (Z == Z_BYTE && lpoint != lpoint_byte) | 1751 | if (Z == Z_BYTE && lpoint != lpoint_byte) |
| 1750 | abort (); | 1752 | abort (); |
| @@ -1767,7 +1769,9 @@ redisplay_window (window, just_this_one, preserve_echo_area) | |||
| 1767 | } | 1769 | } |
| 1768 | if (NILP (w->buffer)) | 1770 | if (NILP (w->buffer)) |
| 1769 | abort (); | 1771 | abort (); |
| 1770 | 1772 | ||
| 1773 | specbind (Qinhibit_point_motion_hooks, Qt); | ||
| 1774 | |||
| 1771 | height = window_internal_height (w); | 1775 | height = window_internal_height (w); |
| 1772 | update_mode_line = (!NILP (w->update_mode_line) || update_mode_lines); | 1776 | update_mode_line = (!NILP (w->update_mode_line) || update_mode_lines); |
| 1773 | if (XBUFFER (w->buffer)->clip_changed) | 1777 | if (XBUFFER (w->buffer)->clip_changed) |
| @@ -2447,6 +2451,8 @@ done: | |||
| 2447 | else | 2451 | else |
| 2448 | set_buffer_temp (old); | 2452 | set_buffer_temp (old); |
| 2449 | TEMP_SET_PT_BOTH (lpoint, lpoint_byte); | 2453 | TEMP_SET_PT_BOTH (lpoint, lpoint_byte); |
| 2454 | |||
| 2455 | unbind_to (count, Qnil); | ||
| 2450 | } | 2456 | } |
| 2451 | 2457 | ||
| 2452 | /* Do full redisplay on one window, starting at position `pos'. */ | 2458 | /* Do full redisplay on one window, starting at position `pos'. */ |
| @@ -5362,6 +5368,9 @@ syms_of_xdisp () | |||
| 5362 | staticpro (&Qredisplay_end_trigger_functions); | 5368 | staticpro (&Qredisplay_end_trigger_functions); |
| 5363 | Qredisplay_end_trigger_functions = intern ("redisplay-end-trigger-functions"); | 5369 | Qredisplay_end_trigger_functions = intern ("redisplay-end-trigger-functions"); |
| 5364 | 5370 | ||
| 5371 | staticpro (&Qinhibit_point_motion_hooks); | ||
| 5372 | Qinhibit_point_motion_hooks = intern ("inhibit-point-motion-hooks"); | ||
| 5373 | |||
| 5365 | staticpro (&last_arrow_position); | 5374 | staticpro (&last_arrow_position); |
| 5366 | staticpro (&last_arrow_string); | 5375 | staticpro (&last_arrow_string); |
| 5367 | last_arrow_position = Qnil; | 5376 | last_arrow_position = Qnil; |