emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 9a79db506e3: Make 'buffer-last-name' work better after 'find-alte


From: Martin Rudalics
Subject: master 9a79db506e3: Make 'buffer-last-name' work better after 'find-alternate-file' (Bug#68235)
Date: Mon, 15 Apr 2024 05:18:49 -0400 (EDT)

branch: master
commit 9a79db506e39c02daa81629f0b224a86fad2b3c6
Author: Martin Rudalics <rudalics@gmx.at>
Commit: Martin Rudalics <rudalics@gmx.at>

    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).
---
 lisp/files.el | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/lisp/files.el b/lisp/files.el
index 20d63d33fef..1e11dd44bad 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -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))))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]