Subject: Re: bug#15133: 24.3.50; REGRESSION: `after-make-frame-functions' now run with wrong frame selected

From: martin rudalics <[email-masked]>
Date: Mon, 19 Aug 2013 18:13:38 +0200

> This regression was introduced after a build from 2013-08-08.  It
 > appears in the build cited below, from 2013-08-18.  It makes Emacs
 > unusable (by me).
 >
 > I have this as `after-make-frame-functions': `(fit-frame)', in order to
 > fit the new frame to its displayed buffer.'
 >
 > When `after-make-frame-functions' is run in `make-frame' now, the
 > original frame, not the newly created frame, is selected when it runs.
 > So `fit-frame' is called with the original (wrong) frame selected.

If it can be fixed by commenting in the second line of the following
comment in `pop-to-buffer'

   ;; This should be done by `select-window' below.
   ;; (set-buffer buffer)

we have the following problem: Your `fit-frame' will work when using
`pop-to-buffer' but not when using `display-buffer'.  So maybe it's
better to do the funcall in `display-buffer-pop-up-frame' as

	       (with-current-buffer buffer
		 (setq frame (funcall fun)))

Please try them both, tell me whether they work for you, and, if so,
which one you prefer.

Thanks, martin