diff options
author | Ihor Radchenko <yantar92@posteo.net> | 2023-12-30 11:31:51 +0100 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2023-12-30 13:02:05 +0200 |
commit | 46a93aa7b0753e7e1ba7c557709b2680ebb24fde (patch) | |
tree | 457622c69ec887a43201644249ef67e3dee5cd19 /lisp/files.el | |
parent | 5f80541fbc46a7854da00b0f8e67c0daa89d454a (diff) | |
download | emacs-46a93aa7b0753e7e1ba7c557709b2680ebb24fde.tar.gz |
find-buffer-visiting: Fix test breakage introduced in b7a737ef49
* lisp/files.el (find-buffer-visiting): Fix code branch checking for
buffers referring to the same file number. We should check the found
buffer with the file number, not current.
Link: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#412
Diffstat (limited to 'lisp/files.el')
-rw-r--r-- | lisp/files.el | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/lisp/files.el b/lisp/files.el index 315ba831e8c..78e2bca3cff 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -2220,15 +2220,17 @@ If there is no such live buffer, return nil." (number (file-attribute-file-identifier attributes))) (and buffer-file-numbers-unique (car-safe number) ;Make sure the inode is not just nil. - (let ((buf (find-buffer 'buffer-file-number number))) - (when (and buf (buffer-local-value 'buffer-file-name buf) + (let* ((buf (find-buffer 'buffer-file-number number)) + (buf-file-name (and buf (buffer-local-value 'buffer-file-name buf)))) + (when (and buf-file-name ;; Verify this buffer's file number ;; still belongs to its file. - (file-exists-p buffer-file-name) - (equal (file-attributes buffer-file-truename) - attributes) + (file-exists-p buf-file-name) + (equal + (file-attributes (buffer-local-value 'buffer-file-truename buf)) + attributes) (or (not predicate) - (funcall predicate (current-buffer)))) + (funcall predicate buf))) buf)))))))) |