summaryrefslogtreecommitdiff
path: root/lisp/window.el
diff options
context:
space:
mode:
authorKarl Heuer <kwzh@gnu.org>1995-06-11 19:27:57 +0000
committerKarl Heuer <kwzh@gnu.org>1995-06-11 19:27:57 +0000
commitf3c282f89291f849e09038c926eb0713b7b81349 (patch)
tree0c038dfa22af04bffef164e129706fff545d5869 /lisp/window.el
parenta05a10b1f842776f7d37ac330f64a70353568e79 (diff)
downloademacs-f3c282f89291f849e09038c926eb0713b7b81349.tar.gz
(save-selected-window): New macro.
Diffstat (limited to 'lisp/window.el')
-rw-r--r--lisp/window.el8
1 files changed, 8 insertions, 0 deletions
diff --git a/lisp/window.el b/lisp/window.el
index 899bbb0bdcc..bfaa657a2e2 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -76,6 +76,14 @@ Anything else means restrict to WINDOW's frame."
(defun minibuffer-window-active-p (window)
"Return t if WINDOW (a minibuffer window) is now active."
(eq window (active-minibuffer-window)))
+
+(defmacro save-selected-window (&rest body)
+ "Execute BODY, then select the window that was selected before BODY."
+ (list 'let
+ '((save-selected-window-window (selected-window)))
+ (list 'unwind-protect
+ (cons 'progn body)
+ (list 'select-window 'save-selected-window-window))))
(defun count-windows (&optional minibuf)
"Returns the number of visible windows.