Subject: Re: bug#24500: 25.1.50; Can't other-window from minibuffer if Ediff control panel frame present

From: martin rudalics <[email-masked]>
Date: Sun, 09 Oct 2016 09:51:09 +0200

> I'm not sure what you mean. Reconsider what?

Reconsider what you consider the least evil ;-)

 > Do you want me to test
 > with both patches at once?

This might be a good idea.  After all, I couldn't find any real mishaps
with my frame.c patch here.

BTW I'm currently loading the following file with emacs -Q to test this:

(defvar old (selected-frame))
(defvar new (make-frame '((minibuffer . nil))))
(defvar test (get-buffer-create "*test*"))

(set-frame-width new 1640 nil t)
(set-frame-width old 400 nil t)
(set-frame-height old 200 nil t)
(set-frame-position new 0 0)
(set-frame-position old -1 -40)
(set-window-buffer (frame-root-window new) test)

(defun foo ()
   (with-current-buffer test
     (goto-char (point-max))
     (insert
      (format "%s - sw: %s - wfsw: %s - sf: %s - fff: %s - mbsw: %s\n"
	     this-command (selected-window) (window-frame) (selected-frame)
	     (frame-focus new) (minibuffer-selected-window)))))

(add-hook 'post-command-hook 'foo)

You will see that without the frame.c patch, C-x o will eventually
insert those ‘handle-switch-frame’ events that redirect focus to the
frame where the command was issued.

martin