Commit 44ad1cf7 authored by Stefan Monnier's avatar Stefan Monnier

* src/xdisp.c (redisplay_internal): Don't call set_window_update_flags.

Set invisible frames's `redisplay' when a full redisplay is requested.
(redisplay_window): Set must_be_updated_p instead.
(redisplay_mode_lines): Don't set must_be_updated_p any more.
(display_mode_lines): Set it here instead.
* src/dispextern.h (set_window_update_flags): Remove.
* src/dispnew.c (set_window_update_flags): Remove `b' argument; make static.

Fixes: debbugs:15999
parent f9b697dd
2013-11-30 Stefan Monnier <monnier@iro.umontreal.ca>
* xdisp.c (redisplay_internal): Don't call set_window_update_flags.
Set invisible frames's `redisplay' when a full redisplay is requested.
(redisplay_window): Set must_be_updated_p instead (bug#15999).
(redisplay_mode_lines): Don't set must_be_updated_p any more.
(display_mode_lines): Set it here instead.
* dispnew.c (set_window_update_flags): Remove `b' argument; make static.
* dispextern.h (set_window_update_flags): Remove.
2013-11-29 Stefan Monnier <monnier@iro.umontreal.ca>
* fns.c (internal_equal): Add a hash_table argument to handle cycles.
......
......@@ -3462,7 +3462,6 @@ void blank_row (struct window *, struct glyph_row *, int);
void clear_glyph_matrix_rows (struct glyph_matrix *, int, int);
void clear_glyph_row (struct glyph_row *);
void prepare_desired_row (struct glyph_row *);
void set_window_update_flags (struct window *, struct buffer *, bool);
void update_single_window (struct window *, bool);
void do_pending_window_change (bool);
void change_frame_size (struct frame *, int, int, bool, bool, bool);
......
......@@ -97,6 +97,7 @@ static bool scrolling (struct frame *);
static void set_window_cursor_after_update (struct window *);
static void adjust_frame_glyphs_for_window_redisplay (struct frame *);
static void adjust_frame_glyphs_for_frame_redisplay (struct frame *);
static void set_window_update_flags (struct window *w, bool on_p);
/* True means last display completed. False means it was preempted. */
......@@ -2944,8 +2945,8 @@ redraw_frame (struct frame *f)
/* Mark all windows as inaccurate, so that every window will have
its redisplay done. */
mark_window_display_accurate (FRAME_ROOT_WINDOW (f), 0);
set_window_update_flags (XWINDOW (FRAME_ROOT_WINDOW (f)), NULL, 1);
f->garbaged = 0;
set_window_update_flags (XWINDOW (FRAME_ROOT_WINDOW (f)), true);
f->garbaged = false;
}
DEFUN ("redraw-frame", Fredraw_frame, Sredraw_frame, 0, 1, 0,
......@@ -3029,7 +3030,7 @@ update_frame (struct frame *f, bool force_p, bool inhibit_hairy_id_p)
Lisp_Object tem;
update_window (w, 1);
w->must_be_updated_p = 0;
w->must_be_updated_p = false;
/* Swap tool-bar strings. We swap because we want to
reuse strings. */
......@@ -3075,7 +3076,7 @@ update_frame (struct frame *f, bool force_p, bool inhibit_hairy_id_p)
do_pause:
/* Reset flags indicating that a window should be updated. */
set_window_update_flags (root_window, NULL, 0);
set_window_update_flags (root_window, false);
display_completed = !paused_p;
return paused_p;
......@@ -3098,7 +3099,7 @@ update_frame_with_menu (struct frame *f)
frame matrix we operate. */
set_frame_matrix_frame (f);
/* Update the display */
/* Update the display. */
update_begin (f);
/* Force update_frame_1 not to stop due to pending input, and not
try scrolling. */
......@@ -3122,7 +3123,7 @@ update_frame_with_menu (struct frame *f)
#endif
/* Reset flags indicating that a window should be updated. */
set_window_update_flags (root_window, NULL, 0);
set_window_update_flags (root_window, false);
}
......@@ -3174,7 +3175,7 @@ update_single_window (struct window *w, bool force_p)
update_end (f);
/* Reset flag in W. */
w->must_be_updated_p = 0;
w->must_be_updated_p = false;
}
}
......@@ -3897,18 +3898,17 @@ set_window_cursor_after_update (struct window *w)
}
/* If B is NULL, set WINDOW->must_be_updated_p to ON_P for all windows in
the window tree rooted at W. Otherwise set WINDOW->must_be_updated_p
to ON_P only for windows that displays B. */
/* Set WINDOW->must_be_updated_p to ON_P for all windows in
the window tree rooted at W. */
void
set_window_update_flags (struct window *w, struct buffer *b, bool on_p)
static void
set_window_update_flags (struct window *w, bool on_p)
{
while (w)
{
if (WINDOWP (w->contents))
set_window_update_flags (XWINDOW (w->contents), b, on_p);
else if (!(b && b != XBUFFER (w->contents)))
set_window_update_flags (XWINDOW (w->contents), on_p);
else
w->must_be_updated_p = on_p;
w = NILP (w->next) ? 0 : XWINDOW (w->next);
......
......@@ -3523,7 +3523,7 @@ extern void pop_message_unwind (void);
extern Lisp_Object restore_message_unwind (Lisp_Object);
extern void restore_message (void);
extern Lisp_Object current_message (void);
extern void clear_message (int, int);
extern void clear_message (bool, bool);
extern void message (const char *, ...) ATTRIBUTE_FORMAT_PRINTF (1, 2);
extern void message1 (const char *);
extern void message1_nolog (const char *);
......
This diff is collapsed.
......@@ -98,7 +98,7 @@ extern void _XEditResCheckMessages (Widget, XtPointer, XEvent *, Boolean *);
#ifdef USE_TOOLKIT_SCROLL_BARS
#if defined USE_MOTIF
#include <Xm/Xm.h> /* for LESSTIF_VERSION */
#include <Xm/Xm.h> /* For LESSTIF_VERSION */
#include <Xm/ScrollBar.h>
#else /* !USE_MOTIF i.e. use Xaw */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment