static void window_scroll (Lisp_Object, EMACS_INT, bool, int);
static void window_scroll_pixel_based (Lisp_Object, int, bool, int);
static void window_scroll_line_based (Lisp_Object, int, bool, int);
-static Lisp_Object window_list (void);
static int add_window_to_list (struct window *, void *);
static Lisp_Object next_window (Lisp_Object, Lisp_Object,
Lisp_Object, int);
record_buffer before returning here. */
goto record_and_return;
+ if (NILP (norecord))
+ /* Mark the window for redisplay since the selected-window has a different
+ mode-line. */
+ wset_redisplay (XWINDOW (selected_window));
+ else
+ redisplay_other_windows ();
sf = SELECTED_FRAME ();
if (XFRAME (WINDOW_FRAME (w)) != sf)
{
select_window_1 (window, inhibit_point_swap);
bset_last_selected_window (XBUFFER (w->contents), window);
- windows_or_buffers_changed = 24;
+ if (NILP (norecord))
+ wset_redisplay (w);
record_and_return:
/* record_buffer can run QUIT, so make sure it is run only after we have
/* Bug#15957. */
w->window_end_valid = 0;
if (w != XWINDOW (selected_window))
- /* Enforce full redisplay. FIXME: make it more selective. */
- windows_or_buffers_changed = 26;
+ wset_redisplay (w);
return pos;
}
Vwindow_list is a list, return that list. Otherwise, build a new
list, cache it in Vwindow_list, and return that. */
-static Lisp_Object
+Lisp_Object
window_list (void)
{
if (!CONSP (Vwindow_list))
/* Grow the mini-window. */
w->top_line = r->top_line + r->total_lines;
w->total_lines -= XINT (value);
- /* Enforce full redisplay. FIXME: make it more selective. */
- windows_or_buffers_changed = 34;
+ /* Enforce full redisplay of the frame. */
+ /* FIXME: Shouldn't window--resize-root-window-vertically do it? */
+ fset_redisplay (f);
adjust_frame_glyphs (f);
unblock_input ();
}
/* Shrink the mini-window. */
w->top_line = r->top_line + r->total_lines;
w->total_lines = 1;
- /* Enforce full redisplay. FIXME: make it more selective. */
- windows_or_buffers_changed = 35;
+ /* Enforce full redisplay of the frame. */
+ /* FIXME: Shouldn't window--resize-root-window-vertically do it? */
+ fset_redisplay (f);
adjust_frame_glyphs (f);
unblock_input ();
}