-slow; it is usually faster to simply rebuild the \fItags\fP file.)
-.PP
-The tag \fImain\fP is treated specially in C programs. The tag formed
-is created by prepending \fIM\fP to the name of the file, with the
-trailing \fB.c\fP and any leading pathname components removed. This
-makes use of \fIctags\fP practical in directories with more than one
+slow; it is usually faster to simply rebuild the
+.Ar tags
+file.)
+.Tp
+.Pp
+Files whose names end in
+.Nm \&.c
+or
+.Nm \&.h
+are assumed to be C
+source files and are searched for C style routine and macro definitions.
+Files whose names end in
+.Nm \&.y
+are assumed to be YACC source files.
+Files whose names end in
+.Nm \&.l
+are assumed to be lisp files if their
+first non-blank character is `;', `(', or `[',
+otherwise, they are
+treated as lex files. Other files are first examined to see if they
+contain any Pascal or Fortran routine definitions, and, if not, are
+searched for C style definitions.
+.Pp
+The tag
+.Ar main
+is treated specially in C programs. The tag formed
+is created by prepending
+.Ar M
+to the name of the file, with the
+trailing
+.Nm \&.c
+and any leading pathname components removed. This
+makes use of
+.Nm ctags
+practical in directories with more than one