mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-07 12:20:39 -08:00
(unshow_buffer): Clear last_selected_window slot, maybe.
(Fset_window_buffer): Set last_selected_window slot. (Fselect_window): Set last_selected_window slot. (delete_all_subwindows): Maybe call unshow_buffer.
This commit is contained in:
parent
0dc6f165b8
commit
86e4843672
1 changed files with 12 additions and 0 deletions
12
src/window.c
12
src/window.c
|
|
@ -692,6 +692,9 @@ unshow_buffer (w)
|
|||
if (XBUFFER (buf) != XMARKER (w->pointm)->buffer)
|
||||
abort ();
|
||||
|
||||
if (w == XWINDOW (XBUFFER (buf)->last_selected_window))
|
||||
XBUFFER (buf)->last_selected_window = Qnil;
|
||||
|
||||
#if 0
|
||||
if (w == XWINDOW (selected_window)
|
||||
|| ! EQ (buf, XWINDOW (selected_window)->buffer))
|
||||
|
|
@ -1842,6 +1845,10 @@ BUFFER can be a buffer or buffer name.")
|
|||
}
|
||||
|
||||
w->buffer = buffer;
|
||||
|
||||
if (EQ (window, selected_window))
|
||||
XBUFFER (w->buffer)->last_selected_window = window;
|
||||
|
||||
XSETFASTINT (w->window_end_pos, 0);
|
||||
w->window_end_valid = Qnil;
|
||||
XSETFASTINT (w->hscroll, 0);
|
||||
|
|
@ -1918,6 +1925,8 @@ before each command.")
|
|||
record_buffer (w->buffer);
|
||||
Fset_buffer (w->buffer);
|
||||
|
||||
XBUFFER (w->buffer)->last_selected_window = window;
|
||||
|
||||
/* Go to the point recorded in the window.
|
||||
This is important when the buffer is in more
|
||||
than one window. It also matters when
|
||||
|
|
@ -3221,6 +3230,9 @@ delete_all_subwindows (w)
|
|||
|
||||
w->height = w->buffer; /* See Fset_window_configuration for excuse. */
|
||||
|
||||
if (!NILP (w->buffer))
|
||||
unshow_buffer (w);
|
||||
|
||||
/* We set all three of these fields to nil, to make sure that we can
|
||||
distinguish this dead window from any live window. Live leaf
|
||||
windows will have buffer set, and combination windows will have
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue