]> git.eshelyaron.com Git - emacs.git/commitdiff
(save-selected-window): If the saved window has
authorEli Zaretskii <eliz@gnu.org>
Tue, 12 Feb 2002 17:46:45 +0000 (17:46 +0000)
committerEli Zaretskii <eliz@gnu.org>
Tue, 12 Feb 2002 17:46:45 +0000 (17:46 +0000)
become dead while macro body was running, refrain from switching
to it.

lisp/ChangeLog
lisp/window.el

index d3c1e1bd93669d84aab2b97ea2c6610ed10f36a7..522cb2237c2a41dacf658df8545cb384fa5806b3 100644 (file)
@@ -1,5 +1,9 @@
 2002-02-12  Eli Zaretskii  <eliz@is.elta.co.il>
 
+       * window.el (save-selected-window): If the saved window has
+       become dead while macro body was running, refrain from switching
+       to it.
+
        * progmodes/pascal.el (pascal-imenu-generic-expression): Add
        menu-title and fix parentheses.
 
index 4d97117a4eb19a2b91896fb631fb5149849cfb6b..532a1cc0009026938fb4b6a4be6f04237a47f240 100644 (file)
@@ -127,11 +127,14 @@ Anything else means restrict to the selected frame."
   (eq window (active-minibuffer-window)))
 
 (defmacro save-selected-window (&rest body)
-  "Execute BODY, then select the window that was selected before BODY."
+  "Execute BODY, then select the window that was selected before BODY.
+However, if that window has become dead, don't get an error,
+just refrain from switching to it."
   `(let ((save-selected-window-window (selected-window)))
      (unwind-protect
         (progn ,@body)
-       (select-window save-selected-window-window))))
+       (if (window-live-p save-selected-window-window)
+          (select-window save-selected-window-window)))))
 \f
 (defun count-windows (&optional minibuf)
    "Return the number of visible windows.