summaryrefslogtreecommitdiff
path: root/lisp/window.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/window.el')
-rw-r--r--lisp/window.el5
1 files changed, 4 insertions, 1 deletions
diff --git a/lisp/window.el b/lisp/window.el
index 64cf0a72110..21e40071782 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -5642,7 +5642,10 @@ new frame."
(fun pop-up-frame-function)
frame window)
(when (and fun
- (setq frame (funcall fun))
+ ;; Make BUFFER current so `make-frame' will use it as the
+ ;; new frame's buffer (Bug#15133).
+ (with-current-buffer buffer
+ (setq frame (funcall fun)))
(setq window (frame-selected-window frame)))
(prog1 (window--display-buffer
buffer window 'frame alist display-buffer-mark-dedicated)