Skip to content

Commit b384eec

Browse files
vitalievspinu
authored andcommitted
Use set-window-buffer instead of switch_to_buffer in pm--select-existing-buffer-visibly
As recomended by Stefan Monnier https://lists.gnu.org/archive/html/emacs-devel/2025-05/msg00747.html
1 parent fabe53a commit b384eec

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

polymode-core.el

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1099,11 +1099,15 @@ switch."
10991099

11001100
(pm--move-overlays old-buffer new-buffer)
11011101

1102-
;; make sure we display in the same window as the old buffer (#337)
1103-
(let ((switch-to-buffer-obey-display-actions))
1104-
(switch-to-buffer new-buffer nil 'force-same-window))
1102+
(let ((strongly-dedicated-flag (window-dedicated-p)))
1103+
(when strongly-dedicated-flag
1104+
(set-window-dedicated-p nil nil))
1105+
(set-window-buffer nil new-buffer 'keep-margins)
1106+
(when strongly-dedicated-flag
1107+
(set-window-dedicated-p nil strongly-dedicated-flag)))
11051108

11061109
(bury-buffer-internal old-buffer)
1110+
;; remove old-buffer form window-prev-buffers
11071111
(set-window-prev-buffers nil (assq-delete-all old-buffer (window-prev-buffers nil)))
11081112

11091113
;; if header line is active in some modes, make it active everywhere

0 commit comments

Comments
 (0)