emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r110748: Install fixes for Bug#12764


From: martin rudalics
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r110748: Install fixes for Bug#12764 and Bug#12766.
Date: Wed, 31 Oct 2012 11:02:51 +0100
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 110748
committer: martin rudalics <address@hidden>
branch nick: trunk
timestamp: Wed 2012-10-31 11:02:51 +0100
message:
  Install fixes for Bug#12764 and Bug#12766.
  
  * window.el (quit-restore-window): If the window has been
  created on an existing frame and ended up as the sole window on
  that frame, do not delete it (Bug#12764).
  
  * minibuf.c (read_minibuf): Restore current buffer since
  choose_minibuf_frame calling Fset_frame_selected_window may
  change it (Bug#12766).
modified:
  lisp/ChangeLog
  lisp/window.el
  src/ChangeLog
  src/minibuf.c
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-10-31 03:10:25 +0000
+++ b/lisp/ChangeLog    2012-10-31 10:02:51 +0000
@@ -1,3 +1,9 @@
+2012-10-31  Martin Rudalics  <address@hidden>
+
+       * window.el (quit-restore-window): If the window has been
+       created on an existing frame and ended up as the sole window on
+       that frame, do not delete it (Bug#12764).
+
 2012-10-31  Stefan Monnier  <address@hidden>
 
        * progmodes/sh-script.el (sh--inside-noncommand-expression):

=== modified file 'lisp/window.el'
--- a/lisp/window.el    2012-10-27 08:58:30 +0000
+++ b/lisp/window.el    2012-10-31 10:02:51 +0000
@@ -3556,7 +3556,12 @@
         quad entry)
     (cond
      ((and (not prev-buffer)
-          (memq (nth 1 quit-restore) '(window frame))
+          (or (eq (nth 1 quit-restore) 'frame)
+              (and (eq (nth 1 quit-restore) 'window)
+                   ;; If the window has been created on an existing
+                   ;; frame and ended up as the sole window on that
+                   ;; frame, do not delete it (Bug#12764).
+                   (not (eq window (frame-root-window window)))))
           (eq (nth 3 quit-restore) buffer)
           ;; Delete WINDOW if possible.
           (window--delete window nil (eq bury-or-kill 'kill)))

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-10-30 18:28:48 +0000
+++ b/src/ChangeLog     2012-10-31 10:02:51 +0000
@@ -1,3 +1,9 @@
+2012-10-31  Martin Rudalics  <address@hidden>
+
+       * minibuf.c (read_minibuf): Restore current buffer since
+       choose_minibuf_frame calling Fset_frame_selected_window may
+       change it (Bug#12766).
+
 2012-10-30  Jan Djärv  <address@hidden>
 
        * frame.c (Fframe_pixel_height): Fix documentation (Bug#12733).

=== modified file 'src/minibuf.c'
--- a/src/minibuf.c     2012-10-11 16:23:37 +0000
+++ b/src/minibuf.c     2012-10-31 10:02:51 +0000
@@ -472,6 +472,10 @@
 
   /* Choose the minibuffer window and frame, and take action on them.  */
 
+  /* Prepare for restoring the current buffer since choose_minibuf_frame
+     calling Fset_frame_selected_window may change it (Bug#12766).  */
+  record_unwind_protect (Fset_buffer, Fcurrent_buffer ());
+
   choose_minibuf_frame ();
 
   record_unwind_protect (choose_minibuf_frame_1, Qnil);


reply via email to

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