emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r109803: In Fset_window_configuration


From: martin rudalics
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r109803: In Fset_window_configuration install revison of reverted fix.
Date: Tue, 28 Aug 2012 16:09:43 +0200
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 109803
committer: martin rudalics <address@hidden>
branch nick: trunk
timestamp: Tue 2012-08-28 16:09:43 +0200
message:
  In Fset_window_configuration install revison of reverted fix.
  
  * window.c (Fset_window_configuration): Install revision of reverted
  fix.
modified:
  src/ChangeLog
  src/window.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-08-28 13:51:09 +0000
+++ b/src/ChangeLog     2012-08-28 14:09:43 +0000
@@ -1,7 +1,8 @@
 2012-08-28  Martin Rudalics  <address@hidden>
 
        * 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  <address@hidden>
 

=== modified file 'src/window.c'
--- a/src/window.c      2012-08-28 13:51:09 +0000
+++ b/src/window.c      2012-08-28 14:09:43 +0000
@@ -5615,6 +5615,21 @@
       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;


reply via email to

[Prev in Thread] Current Thread [Next in Thread]