summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/xdisp.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index 6a14f44d775..a443021470a 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -66,6 +66,10 @@ Lisp_Object Qwindow_scroll_functions, Vwindow_scroll_functions;
Lisp_Object Qredisplay_end_trigger_functions;
Lisp_Object Qinhibit_point_motion_hooks;
+/* Non-nil means don't actually do any redisplay. */
+
+Lisp_Object Vinhibit_redisplay, Qinhibit_redisplay;
+
/* Nonzero means print newline to stdout before next minibuffer message. */
int noninteractive_need_newline;
@@ -1036,6 +1040,9 @@ redisplay_internal (preserve_echo_area)
return;
#endif
+ if (! NILP (Vinhibit_redisplay))
+ return;
+
retry:
if (! FRAME_WINDOW_P (selected_frame)
@@ -5400,6 +5407,9 @@ invisible_ellipsis_p (propval, list)
void
syms_of_xdisp ()
{
+ staticpro (&Qinhibit_redisplay);
+ Qinhibit_redisplay = intern ("inhibit-redisplay");
+
staticpro (&Qmenu_bar_update_hook);
Qmenu_bar_update_hook = intern ("menu-bar-update-hook");
@@ -5423,6 +5433,11 @@ syms_of_xdisp ()
last_arrow_position = Qnil;
last_arrow_string = Qnil;
+ DEFVAR_LISP ("inhibit-redisplay", &Vinhibit_redisplay,
+ "Non-nil means don't actually do any redisplay.\n\
+This is used for internal purposes.");
+ Vinhibit_redisplay = Qnil;
+
DEFVAR_LISP ("global-mode-string", &Vglobal_mode_string,
"String (or mode line construct) included (normally) in `mode-line-format'.");
Vglobal_mode_string = Qnil;