diff options
| author | Martin Rudalics | 2019-11-15 09:43:02 +0100 |
|---|---|---|
| committer | Martin Rudalics | 2019-11-15 09:43:02 +0100 |
| commit | fb3dea96b7930a83bba156b5ad9f6fdca72fa7d8 (patch) | |
| tree | 46c557c1328778671ef20f4ab0c687e2708e6e34 | |
| parent | 3db1de04527acee3a5cdd563c848582e85e0f77e (diff) | |
| download | emacs-fb3dea96b7930a83bba156b5ad9f6fdca72fa7d8.tar.gz emacs-fb3dea96b7930a83bba156b5ad9f6fdca72fa7d8.zip | |
In 'dframe-frame-mode' avoid 'switch-to-buffer' (Bug#37840)
* lisp/dframe.el (dframe-frame-mode): Use 'set-window-buffer'
instead of 'switch-to-buffer’ to avoid that
'switch-to-buffer-obey-display-actions' butts in (Bug#37840).
| -rw-r--r-- | lisp/dframe.el | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lisp/dframe.el b/lisp/dframe.el index 91f89e1705f..dc9b30add5d 100644 --- a/lisp/dframe.el +++ b/lisp/dframe.el | |||
| @@ -309,8 +309,10 @@ CREATE-HOOK is a hook to run after creating a frame." | |||
| 309 | (make-frame-visible (symbol-value frame-var)) | 309 | (make-frame-visible (symbol-value frame-var)) |
| 310 | (select-frame (symbol-value frame-var)) | 310 | (select-frame (symbol-value frame-var)) |
| 311 | (set-window-dedicated-p (selected-window) nil) | 311 | (set-window-dedicated-p (selected-window) nil) |
| 312 | (if (not (eq (current-buffer) (symbol-value buffer-var))) | 312 | (unless (eq (current-buffer) (symbol-value buffer-var)) |
| 313 | (switch-to-buffer (symbol-value buffer-var))) | 313 | ;; To avoid that 'switch-to-buffer-obey-display-actions' |
| 314 | ;; butts in, use plain 'set-window-buffer' (Bug#37840). | ||
| 315 | (set-window-buffer nil (symbol-value buffer-var))) | ||
| 314 | (set-window-dedicated-p (selected-window) t) | 316 | (set-window-dedicated-p (selected-window) t) |
| 315 | (raise-frame (symbol-value frame-var)) | 317 | (raise-frame (symbol-value frame-var)) |
| 316 | ) | 318 | ) |
| @@ -346,7 +348,9 @@ CREATE-HOOK is a hook to run after creating a frame." | |||
| 346 | ;; Put the buffer into the frame | 348 | ;; Put the buffer into the frame |
| 347 | (save-excursion | 349 | (save-excursion |
| 348 | (select-frame (symbol-value frame-var)) | 350 | (select-frame (symbol-value frame-var)) |
| 349 | (switch-to-buffer (symbol-value buffer-var)) | 351 | ;; To avoid that 'switch-to-buffer-obey-display-actions' |
| 352 | ;; butts in, use plain 'set-window-buffer' (Bug#37840). | ||
| 353 | (set-window-buffer nil (symbol-value buffer-var)) | ||
| 350 | (set-window-dedicated-p (selected-window) t)) | 354 | (set-window-dedicated-p (selected-window) t)) |
| 351 | ;; Run hooks (like reposition) | 355 | ;; Run hooks (like reposition) |
| 352 | (run-hooks create-hook) | 356 | (run-hooks create-hook) |