(setq buffer-undo-list t)
(initialize-new-tags-table))
-(defun tags--find-default-tags-dir-recursively (current-dir)
- "Find the directory in which the default TAGS file lives.
-It is the first directory that contains a file named TAGS
-encountered when recursively searching upward from CURRENT-DIR."
- (let ((tag-filename (expand-file-name "TAGS" current-dir)))
- (if (file-exists-p tag-filename)
- current-dir
- (let ((parent-dir
- (file-name-directory (directory-file-name current-dir))))
- (if (string= parent-dir current-dir) ;; root dir is reached
- nil
- (tags--find-default-tags-dir-recursively parent-dir))))))
-
;;;###autoload
(defun visit-tags-table (file &optional local)
"Tell tags commands to use tags table file FILE.
file the tag was in."
(interactive
(let ((default-tag-dir
- (or (tags--find-default-tags-dir-recursively default-directory)
+ (or (locate-dominating-file default-directory "TAGS")
default-directory)))
(list (read-file-name
"Visit tags table (default TAGS): "