Mercurial > emacs
changeset 45923:fe953746c5e8
(tag-implicit-name-match-p): New function.
(etags-recognize-tags-table): Use it for implicit tag names.
author | Francesco Potortì <pot@gnu.org> |
---|---|
date | Thu, 20 Jun 2002 11:27:01 +0000 |
parents | 8ad2c225979d |
children | 06d327567aae |
files | lisp/progmodes/etags.el |
diffstat | 1 files changed, 12 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/progmodes/etags.el Thu Jun 20 11:26:02 2002 +0000 +++ b/lisp/progmodes/etags.el Thu Jun 20 11:27:01 2002 +0000 @@ -1196,6 +1196,7 @@ (find-tag-tag-order . (tag-exact-file-name-match-p tag-file-name-match-p tag-exact-match-p + tag-implicit-name-match-p tag-symbol-match-p tag-word-match-p tag-partial-file-name-match-p @@ -1505,6 +1506,17 @@ ;; We are not on the explicit tag name, but perhaps it follows. (looking-at (concat "[^\177\n]*\177" (regexp-quote tag) "\001")))) +;; t if point is at a tag line that has an implicit name. +;; point should be just after a string that matches TAG. +(defun tag-implicit-name-match-p (tag) + ;; Look at the comment of the make_tag function in lib-src/etags.c for + ;; a textual description of the four rules. + (and (string-match "^[^ \t()=,;]+$" tag) ;rule #1 + (looking-at "[ \t()=,;]?\177") ;rules #2 and #4 + (save-excursion + (backward-char (1+ (length tag))) + (looking-at "[\n \t()=,;]")))) ;rule #3 + ;; t if point is at a tag line that matches TAG as a symbol. ;; point should be just after a string that matches TAG. (defun tag-symbol-match-p (tag)