commit 623d37a1f2b805e9d3d1954d762ee1dada736991 (HEAD, refs/remotes/origin/master) Author: Stefan Monnier Date: Tue Dec 5 20:53:28 2017 -0500 * lisp/files.el (find-alternate-file): Use selected-window even if dedicated diff --git a/lisp/files.el b/lisp/files.el index 205001e5d5..a7ad40b76c 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -1801,7 +1801,11 @@ killed." (setq buffer-file-truename nil) ;; Likewise for dired buffers. (setq dired-directory nil) - (find-file filename wildcards)) + ;; Don't use `find-file' because it may end up using another window + ;; in some corner cases, e.g. when the selected window is + ;; softly-dedicated. + (let ((newbuf (find-file-noselect filename wildcards))) + (switch-to-buffer newbuf))) (when (eq obuf (current-buffer)) ;; This executes if find-file gets an error ;; and does not really find anything.