From: Richard M. Stallman Date: Sun, 8 Aug 1993 19:18:26 +0000 (+0000) Subject: (minibuffer-window-active-p): New function. X-Git-Tag: emacs-19.34~11360 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=79e0df73a8c8be787754a6d6716c48bb347835c3;p=emacs.git (minibuffer-window-active-p): New function. --- diff --git a/lisp/subr.el b/lisp/subr.el index c1717f553d3..e5f4189ebcb 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -83,6 +83,19 @@ If ALL-FRAMES is neither nil nor t, stick strictly to the selected frame." (funcall proc walk-windows-current) (not (eq walk-windows-current walk-windows-start)))))) +(defun minibuffer-window-active-p (window) + "Return t if WINDOW (a minibuffer window) is now active." + ;; nil nil means include WINDOW's frame + ;; and other frames using WINDOW as minibuffer, + ;; and include minibuffer if active. + (let ((prev (previous-window window nil nil))) + ;; If PREV equals WINDOW, WINDOW must be on a minibuffer-only frame + ;; and it's not currently being used. So return nil. + (and (not (eq window prev)) + (let ((should-be-same (next-window prev nil nil))) + ;; If next-window doesn't reverse previous-window, + ;; WINDOW must be outside the cycle specified by nil nil. + (eq should-be-same window))))) ;;;; Keymap support.