aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1998-04-24 06:28:46 +0000
committerRichard M. Stallman1998-04-24 06:28:46 +0000
commit2e54982edd3a244a3d3ba952c57c46f37efba173 (patch)
treecb2816845c2cffac1363ddaaf4c40ec45515899f
parentcaf1a1721277d0e2af2345423f8d78bbd1379bf4 (diff)
downloademacs-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.
-rw-r--r--src/xdisp.c11
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;
64Lisp_Object Qoverriding_local_map, Qoverriding_terminal_local_map; 64Lisp_Object Qoverriding_local_map, Qoverriding_terminal_local_map;
65Lisp_Object Qwindow_scroll_functions, Vwindow_scroll_functions; 65Lisp_Object Qwindow_scroll_functions, Vwindow_scroll_functions;
66Lisp_Object Qredisplay_end_trigger_functions; 66Lisp_Object Qredisplay_end_trigger_functions;
67Lisp_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;