aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancesco Potortì2002-06-20 11:27:01 +0000
committerFrancesco Potortì2002-06-20 11:27:01 +0000
commitd30ffe0ed2861927b9db9dfc61f62eec7cbd38c7 (patch)
tree47abe16477f757da8d659a751ee57e3d16d4174a
parent1770ff00ed882755e21af824530e376a6493f271 (diff)
downloademacs-d30ffe0ed2861927b9db9dfc61f62eec7cbd38c7.tar.gz
emacs-d30ffe0ed2861927b9db9dfc61f62eec7cbd38c7.zip
(tag-implicit-name-match-p): New function.
(etags-recognize-tags-table): Use it for implicit tag names.
-rw-r--r--lisp/progmodes/etags.el12
1 files changed, 12 insertions, 0 deletions
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index a4aeaa2e3fe..ed9959a1c02 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -1196,6 +1196,7 @@ where they were found."
1196 (find-tag-tag-order . (tag-exact-file-name-match-p 1196 (find-tag-tag-order . (tag-exact-file-name-match-p
1197 tag-file-name-match-p 1197 tag-file-name-match-p
1198 tag-exact-match-p 1198 tag-exact-match-p
1199 tag-implicit-name-match-p
1199 tag-symbol-match-p 1200 tag-symbol-match-p
1200 tag-word-match-p 1201 tag-word-match-p
1201 tag-partial-file-name-match-p 1202 tag-partial-file-name-match-p
@@ -1505,6 +1506,17 @@ where they were found."
1505 ;; We are not on the explicit tag name, but perhaps it follows. 1506 ;; We are not on the explicit tag name, but perhaps it follows.
1506 (looking-at (concat "[^\177\n]*\177" (regexp-quote tag) "\001")))) 1507 (looking-at (concat "[^\177\n]*\177" (regexp-quote tag) "\001"))))
1507 1508
1509;; t if point is at a tag line that has an implicit name.
1510;; point should be just after a string that matches TAG.
1511(defun tag-implicit-name-match-p (tag)
1512 ;; Look at the comment of the make_tag function in lib-src/etags.c for
1513 ;; a textual description of the four rules.
1514 (and (string-match "^[^ \t()=,;]+$" tag) ;rule #1
1515 (looking-at "[ \t()=,;]?\177") ;rules #2 and #4
1516 (save-excursion
1517 (backward-char (1+ (length tag)))
1518 (looking-at "[\n \t()=,;]")))) ;rule #3
1519
1508;; t if point is at a tag line that matches TAG as a symbol. 1520;; t if point is at a tag line that matches TAG as a symbol.
1509;; point should be just after a string that matches TAG. 1521;; point should be just after a string that matches TAG.
1510(defun tag-symbol-match-p (tag) 1522(defun tag-symbol-match-p (tag)