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.
(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.