summaryrefslogtreecommitdiff
path: root/src/xdisp.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1998-04-24 06:28:46 +0000
committerRichard M. Stallman <rms@gnu.org>1998-04-24 06:28:46 +0000
commit2e54982edd3a244a3d3ba952c57c46f37efba173 (patch)
treecb2816845c2cffac1363ddaaf4c40ec45515899f /src/xdisp.c
parentcaf1a1721277d0e2af2345423f8d78bbd1379bf4 (diff)
downloademacs-2e54982edd3a244a3d3ba952c57c46f37efba173.tar.gz
(Qinhibit_point_motion_hooks): New variable.
(syms_of_xdisp): Init and staticpro it. (redisplay_window): Bind the symbol to t.
Diffstat (limited to 'src/xdisp.c')
-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;
Lisp_Object Qoverriding_local_map, Qoverriding_terminal_local_map;
Lisp_Object Qwindow_scroll_functions, Vwindow_scroll_functions;
Lisp_Object Qredisplay_end_trigger_functions;
+Lisp_Object Qinhibit_point_motion_hooks;
/* Nonzero means print newline to stdout before next minibuffer message. */
@@ -1745,6 +1746,7 @@ redisplay_window (window, just_this_one, preserve_echo_area)
int update_mode_line;
struct Lisp_Char_Table *dp = window_display_table (w);
int really_switched_buffer = 0;
+ int count = specpdl_ptr - specpdl;
if (Z == Z_BYTE && lpoint != lpoint_byte)
abort ();
@@ -1767,7 +1769,9 @@ redisplay_window (window, just_this_one, preserve_echo_area)
}
if (NILP (w->buffer))
abort ();
-
+
+ specbind (Qinhibit_point_motion_hooks, Qt);
+
height = window_internal_height (w);
update_mode_line = (!NILP (w->update_mode_line) || update_mode_lines);
if (XBUFFER (w->buffer)->clip_changed)
@@ -2447,6 +2451,8 @@ done:
else
set_buffer_temp (old);
TEMP_SET_PT_BOTH (lpoint, lpoint_byte);
+
+ unbind_to (count, Qnil);
}
/* Do full redisplay on one window, starting at position `pos'. */
@@ -5362,6 +5368,9 @@ syms_of_xdisp ()
staticpro (&Qredisplay_end_trigger_functions);
Qredisplay_end_trigger_functions = intern ("redisplay-end-trigger-functions");
+ staticpro (&Qinhibit_point_motion_hooks);
+ Qinhibit_point_motion_hooks = intern ("inhibit-point-motion-hooks");
+
staticpro (&last_arrow_position);
staticpro (&last_arrow_string);
last_arrow_position = Qnil;