Если вы получили только один файл TAGS, M-x visit-tags-table
~/project/TAGS
или (visit-tags-table "~/project/TAGS")
должны загрузить таблицу TAGS в буфер, что означает, что она станет доступной для Emacs так же, как и для, M-x tags-search
.
Если вы добавляете больше файлов TAGS в проект или имеете более одного проекта, (setq tags-table-list '("~/project1/TAGS" "~/Project2/TAGS" ...))
и выполнение (visit-tags-table-buffer t)
должны посещать следующую таблицу каждый раз, когда она вызывается, до конца списка.
EDIT:
(defvar buffer-in-string)
(defvar string-list)
(defun write-buffer-to-string ()
(interactive)
(setq buffer-in-string (buffer-substring (point-min) (point-max)))
(kill-buffer) ;; If the buffer is big, it makes sense to kill it,
;; since its contents are copied into the string anyway
(setq string-list (split-string buffer-in-string " "))
)
Это должно привести буфер в строку.Должен быть более элегантный способ, но на данный момент это самое лучшее, что я мог написать с моей очень ограниченной беглостью.