* lisp/files.el (find-alternate-file): Fix the order of restoring buffer.
authorJuri Linkov <juri@linkov.net>
Mon, 22 Apr 2024 06:45:40 +0000 (09:45 +0300)
committerJuri Linkov <juri@linkov.net>
Mon, 22 Apr 2024 06:45:40 +0000 (09:45 +0300)
Swap the order of restoring original buffer's file names and
restoring original's buffer name with 'rename-buffer' (bug#68235).

lisp/files.el

index 1e11dd44bad1a96c14b015daa1a236982ff4c03b..9f5ed85ce60181c52f7b13432f24211bf5eeaa7a 100644 (file)
@@ -2113,15 +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)
+       (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))
        ;; We already ran these; don't run them again.
        (let (kill-buffer-query-functions kill-buffer-hook)
          (kill-buffer obuf))))))