[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 794fbd1c07: Make 't' in Buffer-menu be more defensive
From: |
Eli Zaretskii |
Subject: |
master 794fbd1c07: Make 't' in Buffer-menu be more defensive |
Date: |
Thu, 24 Feb 2022 14:59:20 -0500 (EST) |
branch: master
commit 794fbd1c07696a87352ddd9703bb2f8f6a7945ff
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>
Make 't' in Buffer-menu be more defensive
* lisp/buff-menu.el (Buffer-menu-visit-tags-table): Verify that
the buffer holds a tags-table file before using it as such.
(Bug#54133)
---
lisp/buff-menu.el | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el
index 50c2c155ca..179cc5484c 100644
--- a/lisp/buff-menu.el
+++ b/lisp/buff-menu.el
@@ -527,13 +527,18 @@ If UNMARK is non-nil, unmark them."
(multi-occur (Buffer-menu-marked-buffers) regexp nlines))
+(autoload 'etags-verify-tags-table "etags")
(defun Buffer-menu-visit-tags-table ()
"Visit the tags table in the buffer on this line. See `visit-tags-table'."
(interactive nil Buffer-menu-mode)
- (let ((file (buffer-file-name (Buffer-menu-buffer t))))
- (if file
- (visit-tags-table file)
- (error "Specified buffer has no file"))))
+ (let* ((buf (Buffer-menu-buffer t))
+ (file (buffer-file-name buf)))
+ (cond
+ ((not file) (error "Specified buffer has no file"))
+ ((and buf (with-current-buffer buf
+ (etags-verify-tags-table)))
+ (visit-tags-table file))
+ (t (error "Specified buffer is not a tags-table")))))
(defun Buffer-menu-1-window ()
"Select this line's buffer, alone, in full frame."
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 794fbd1c07: Make 't' in Buffer-menu be more defensive,
Eli Zaretskii <=