From 28650cf112c74c57baea17f26e29e122032080e6 Mon Sep 17 00:00:00 2001 From: Michael Kifer Date: Thu, 11 Sep 1997 16:08:19 +0000 Subject: new version --- lisp/ediff-util.el | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'lisp/ediff-util.el') diff --git a/lisp/ediff-util.el b/lisp/ediff-util.el index 0d11f7b33cb..4d0dc828c7d 100644 --- a/lisp/ediff-util.el +++ b/lisp/ediff-util.el @@ -2355,10 +2355,7 @@ temporarily reverses the meaning of this variable." ;; warp mouse into a working window (setq warp-frame ; if mouse is over a reasonable frame, use it - (cond ((and ediff-xemacs-p (window-live-p (car (mouse-position)))) - (window-frame (car (mouse-position)))) - ((frame-live-p (car (mouse-position))) - (car (mouse-position))) + (cond ((ediff-good-frame-under-mouse)) (t warp-frame))) (if (frame-live-p warp-frame) (set-mouse-position (if ediff-emacs-p @@ -2369,6 +2366,24 @@ temporarily reverses the meaning of this variable." (if (ediff-buffer-live-p meta-buffer) (ediff-show-meta-buffer meta-buffer)) )) + +;; Returns frame under mouse, if this frame is not a minibuffer +;; frame. Otherwise: nil +(defun ediff-good-frame-under-mouse () + (let ((frame-or-win (car (mouse-position))) + (buf-name "") + frame obj-ok) + (setq obj-ok + (if ediff-emacs-p + (frame-live-p frame-or-win) + (window-live-p frame-or-win))) + (if obj-ok + (setq frame (if ediff-emacs-p frame-or-win (window-frame frame-or-win)) + buf-name + (buffer-name (window-buffer (frame-selected-window frame))))) + (if (string-match "Minibuf" buf-name) + nil + frame))) (defun ediff-delete-temp-files () -- cgit v1.2.1