diff options
author | Martin Rudalics <rudalics@gmx.at> | 2012-08-28 16:09:43 +0200 |
---|---|---|
committer | Martin Rudalics <rudalics@gmx.at> | 2012-08-28 16:09:43 +0200 |
commit | 37b9743e79bac608a45fade0744248446aaa0a33 (patch) | |
tree | f3948554353f52c73551938f8c93fb22b398f3e7 /src/window.c | |
parent | 457294dd118317db8dee40a44db33c51e73e4a80 (diff) | |
download | emacs-37b9743e79bac608a45fade0744248446aaa0a33.tar.gz emacs-37b9743e79bac608a45fade0744248446aaa0a33.tar.bz2 emacs-37b9743e79bac608a45fade0744248446aaa0a33.zip |
In Fset_window_configuration install revison of reverted fix.
* window.c (Fset_window_configuration): Install revision of reverted
fix.
Diffstat (limited to 'src/window.c')
-rw-r--r-- | src/window.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/window.c b/src/window.c index 070cc2397e6..38124cb13a9 100644 --- a/src/window.c +++ b/src/window.c @@ -5615,6 +5615,21 @@ the return value is nil. Otherwise the value is t. */) int previous_frame_menu_bar_lines = FRAME_MENU_BAR_LINES (f); int previous_frame_tool_bar_lines = FRAME_TOOL_BAR_LINES (f); + /* Don't do this within the main loop below: This may call Lisp + code and is thus potentially unsafe while input is blocked. */ + for (k = 0; k < saved_windows->header.size; k++) + { + p = SAVED_WINDOW_N (saved_windows, k); + window = p->window; + w = XWINDOW (window); + if (!NILP (w->buffer) + && !EQ (w->buffer, p->buffer) + && !NILP (BVAR (XBUFFER (p->buffer), name))) + /* If a window we restore gets another buffer, record the + window's old buffer. */ + call1 (Qrecord_window_buffer, window); + } + /* The mouse highlighting code could get screwed up if it runs during this. */ BLOCK_INPUT; |