Mercurial > emacs
changeset 11978:8b4f8ba23b60
(ediff-setup-control-frame): Use
designated-minibuffer-frame while making the new frame.
And delete the old frame if its minibuffer is not in that frame.
(ediff-setup-windows-multiframe-compare)
(ediff-setup-windows-multiframe-merge): Don't mess with
default-minibuffer-frame here and don't kill the old control frame.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Mon, 29 May 1995 06:27:50 +0000 |
parents | 4b293ac1eef6 |
children | 10035163f8d5 |
files | lisp/ediff-wind.el |
diffstat | 1 files changed, 11 insertions(+), 27 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ediff-wind.el Mon May 29 06:27:18 1995 +0000 +++ b/lisp/ediff-wind.el Mon May 29 06:27:50 1995 +0000 @@ -548,17 +548,8 @@ (setq frame-A (ediff-window-frame ediff-window-A) designated-minibuffer-frame (ediff-window-frame - (minibuffer-window frame-A))) - (if ediff-xemacs-p - () - (if (not (eq designated-minibuffer-frame default-minibuffer-frame)) - (progn - (setq default-minibuffer-frame designated-minibuffer-frame) - (if (ediff-frame-live-p ediff-control-frame) - (ediff-delete-frame ediff-control-frame))) - )) - ) - + (minibuffer-window frame-A)))) + (ediff-setup-control-frame control-buf) )) @@ -732,16 +723,7 @@ (setq frame-A (ediff-window-frame ediff-window-A) designated-minibuffer-frame (ediff-window-frame - (minibuffer-window frame-A))) - (if ediff-xemacs-p - () - (if (not (eq designated-minibuffer-frame default-minibuffer-frame)) - (progn - (setq default-minibuffer-frame designated-minibuffer-frame) - (if (ediff-frame-live-p ediff-control-frame) - (ediff-delete-frame ediff-control-frame))) - )) - ) + (minibuffer-window frame-A)))) ;; It is unlikely that we'll implement ediff-windows that would compare ;; 3 windows at once. So, we don't use buffer C here. @@ -786,15 +768,17 @@ (run-hooks 'ediff-before-setup-control-frame-hooks)) (setq old-ctl-frame (ediff-eval-in-buffer ctl-buffer ediff-control-frame)) - (if (ediff-frame-live-p old-ctl-frame) + (if (and (ediff-frame-live-p old-ctl-frame) + (eq (window-frame (cdr (assq 'minibuffer (frame-parameters old-ctl-frame)))) + designated-minibuffer-frame)) (setq ctl-frame old-ctl-frame) (redraw-display) - ;; frame should be made while ctl-buff is current, so that - ;; the local default-minibuffer-frame will be consulted and - ;; that ediff-control-frame-parameters will have the right value. + ;; Make the frame while ctl-buff is current, so that + ;; ediff-control-frame-parameters will have the right value. (ediff-eval-in-buffer ctl-buffer - (setq ctl-frame (ediff-make-frame - ediff-control-frame-parameters))) + (let ((default-minibuffer-frame designated-minibuffer-frame)) + (setq ctl-frame (ediff-make-frame + ediff-control-frame-parameters)))) (ediff-eval-in-buffer ctl-buffer (setq ediff-control-frame ctl-frame))) (setq ctl-frame-iconified-p (ediff-frame-iconified-p ctl-frame))