Function: etags-list-tags
etags-list-tags is a byte-compiled function defined in etags.el.gz.
Signature
(etags-list-tags FILE)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/etags.el.gz
(defun etags-list-tags (file) ; Doc string?
(goto-char (point-min))
(when (re-search-forward (concat "\f\n" "\\(" file "\\)" ",") nil t)
(let ((path (save-excursion (forward-line 1) (file-of-tag)))
;; Get the local value in the tags table
;; buffer before switching buffers.
(goto-func goto-tag-location-function)
tag tag-info pt)
(forward-line 1)
;; Exuberant ctags add a line starting with the DEL character;
;; skip past it.
(when (looking-at "\177")
(forward-line 1))
(while (not (or (eobp) (looking-at "\f")))
;; We used to use explicit tags when available, but the current goto-func
;; can only handle implicit tags.
(setq tag-info (save-excursion (funcall snarf-tag-function nil))
tag (car tag-info)
pt (with-current-buffer standard-output (point)))
(princ tag)
(when (= (aref tag 0) ?\() (princ " ...)"))
(with-current-buffer standard-output
(make-text-button pt (point)
'tag-info tag-info
'file-path path
'goto-func goto-func
'action (lambda (button)
(let ((tag-info (button-get button 'tag-info))
(goto-func (button-get button 'goto-func)))
(tag-find-file-of-tag (button-get button 'file-path))
(widen)
(funcall goto-func tag-info)))
'follow-link t
'face tags-tag-face
'type 'button))
(terpri)
(forward-line 1))
t)))