Make 'buffer-last-name' work better after 'find-alternate-file' (Bug#68235)

* lisp/files.el (find-alternate-file): Before killing the previous
buffer, try to restore its name and filenames (Bug#68235).
This commit is contained in:
Martin Rudalics 2024-04-15 11:17:51 +02:00
parent 55a200d707
commit 9a79db506e

View file

@ -2113,6 +2113,15 @@ killed."
(rename-buffer oname)))
(unless (eq (current-buffer) obuf)
(with-current-buffer obuf
(unless (get-buffer oname)
;; Restore original's buffer name so 'kill-buffer' can use it
;; to assign its last name (Bug#68235).
(rename-buffer oname))
;; Restore original buffer's file names so they can be still
;; used when referencing the now defunct buffer (Bug#68235).
(setq buffer-file-name ofile)
(setq buffer-file-number onum)
(setq buffer-file-truename otrue)
;; We already ran these; don't run them again.
(let (kill-buffer-query-functions kill-buffer-hook)
(kill-buffer obuf))))))