-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;
- 2. the pattern contains the tag as either a rightmost, or rightmost
- but one character, substring;
- 3. the character, if any, immediately before the tag in the pattern
- must be a character in NONAM;
- 4. the character, if any, immediately after the tag in the pattern
- must also be a character in NONAM.
-
-===================== end of discussion on tag names =====================
+we say that the tag line has an implicit tag name. 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.
+ When the user looks for a tag, and Emacs finds no explicit tag names
+that match it, Emacs then looks for an tag whose implicit tag name
+matches the request. etags.c uses implicit tag names when possible, in
+order to reduce the size of the tags file.
+ An implicit tag name is deduced from the pattern by discarding the
+last character if it is one of ` \f\t\n\r()=,;', then taking all the
+rightmost consecutive characters in the pattern which are not one of
+those.
+
+===================== end of discussion of tag names =====================