From: Martin Rudalics Date: Tue, 28 Aug 2012 14:09:43 +0000 (+0200) Subject: In Fset_window_configuration install revison of reverted fix. X-Git-Tag: emacs-24.2.90~487 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=37b9743e79bac608a45fade0744248446aaa0a33;p=emacs.git In Fset_window_configuration install revison of reverted fix. * window.c (Fset_window_configuration): Install revision of reverted fix. --- diff --git a/src/ChangeLog b/src/ChangeLog index 4bde0cf1df8..2521ddc4144 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,7 +1,8 @@ 2012-08-28 Martin Rudalics * window.c (Fset_window_configuration): Remove handling of - auto-buffer-name window parameter. + auto-buffer-name window parameter. Install revision of reverted + fix. 2012-08-28 Dmitry Antipov 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;