Commit 1038941d authored by Francesco Potortì's avatar Francesco Potortì

Back to the old explanation, which was more concise, with just the first

two lines changed.
parent 005e1610
-*- indented-text -*-
This file contains two sections:
1) An EBNF (Extended Backus Normal Form) description of the format of
the tags file created by etags.c and interpreted by etags.el
the tags file created by etags.c and interpreted by etags.el
2) A discussion of tag names and implicit tag names
======================= EBNF tag file description =======================
......@@ -56,7 +58,7 @@ realposition ::= "," unsint | unsint "," | unsint "," unsint
======================== discussion on tag names =========================
======================== discussion of tag names =========================
- What are tag names
Tag lines in a tags file are usually made from the above defined pattern
......@@ -72,16 +74,14 @@ Emacs can find a tag faster and more accurately. These tag names are
part of tag lines in the tags file, so we call them "explicit".
- Why implicit tag names are even better
Often tag names are redundant; this happens when the name of a tag is an
easily guessable substring of the tag pattern. We define a set of rules
to decide whether it is possible to deduce the tag name from the pattern,
and make an unnamed tag in those cases. The name deduced from the
pattern of an unnamed tag is the implicit name of that tag. The use of
implicit tag names reduces the size of the tags file. When the user
looks for a tag, and Emacs founds no explicit tag names that match it,
Emacs then tries to match the tag with an implicit tag name. Such a
match occurs when the tag matches a pattern, subject to the satisfaction
of all the following four rules:
When a tag line has no name, but a name can be deduced from the pattern,
we say that the tag line has an implicit tag name. etags.c uses
implicit tag names when possible, in order to reduce the number of
explicit tag names in a tags file, thus reducing the size of the tags
file. When the user looks for a tag, and Emacs founds no explicit tag
names that match it, Emacs then tries to match the tag with an implicit
tag name. Such a match occurs when the tag matches a pattern, subject
to the satisfaction of all the following four rules:
NONAM=" \f\t\n\r()=,;";
1. the tag does not contain any of the characters in NONAM;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment