(command.CommandList
  children: [
    (C {<echo>} {<x>} {<->} {<ctags.man>})
    (command.Simple
      words: [{<sed>} {(SQ <'/^X/s///'>)}]
      redirects: [
        (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<ctags.man>})
        (redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {(SQ <'/'>)}
              here_end_span_id: 108
              stdin_parts: [
                <'X.TH CTAGS 1\n'>
                <'X.SH NAME\n'>
                <'Xctags - Generates "tags" and (optionally) "refs" files\n'>
                <'X.SH SYNOPSIS\n'>
                <'X\\fBctags\\fP [\\fB-stvra\\fP] \\fIfilesnames\\fP...\n'>
                <'X.SH DESCRIPTION\n'>
                <'X\\fIctags\\fP generates the "tags" and "refs" files\n'>
                <'Xfrom a group of C source files.\n'>
                <'XThe "tags" file is used by Elvis\' ":tag" command,\n'>
                <'Xcontrol-] command,\n'>
                <'Xand -t option.\n'>
                <'XThe "refs" file is sometimes used by the \\fIref(1)\\fP program.\n'>
                <'X.PP\n'>
                <'XEach C source file is scanned for #define statements and\n'>
                <'Xglobal function definitions.\n'>
                <'XThe name of the macro or function becomes the name of a tag.\n'>
                <'XFor each tag, a line is added to the "tags" file which contains:\n'>
                <'X.RS\n'>
                <'X.nf\n'>
                <'X       - the name of the tag\n'>
                <'X       - a tab character\n'>
                <'X       - the name of the file containing the tag\n'>
                <'X       - a tab character\n'>
                <'X       - a way to find the particular line within the file.\n'>
                <'X.RE\n'>
                <'X.fi\n'>
                <'X.PP\n'>
                <'XThe filenames list will typically be the names of all C source\n'>
                <'Xfiles in the current directory, like this:\n'>
                <'X.RS\n'>
                <'X.nf\n'>
                <'X$ ctags -stv *.[ch]\n'>
                <'X.RE\n'>
                <'X.fi\n'>
                <'X.SH OPTIONS\n'>
                <'X.IP \\fB-t\\fR\n'>
                <'XInclude typedefs.\n'>
                <'XA tag will be generated for each user-defined type.\n'>
                <'XAlso tags will be generated for struct and enum names.\n'>
                <'XTypes are considered to be global if they are defined in a header file,\n'>
                <'Xand static if they are defined in a C source file.\n'>
                <'X.IP \\fB-v\\fR\n'>
                <'XInclude variable declarations.\n'>
                <'XA tag will be generated for each variable, except for those that are declared\n'>
                <'Xinside the body of a function.\n'>
                <'X.IP \\fB-s\\fR\n'>
                <'XInclude static tags.\n'>
                <
'X\\fICtags\\fR will normally put global tags in the "tags" file, and silently ignore\n'
                >
                <'Xthe static tags.\n'>
                <'XThis flag causes both global and static tags to be added.\n'>
                <'XThe name of a static tag is generated by prefixing the name of the declared\n'>
                <'Xitem with the name of the file where it is defined, with a colon in between.\n'>
                <'XFor example, "static foo(){}" in "bar.c" results in a tag named "bar.c:foo".\n'>
                <'X.IP \\fB-r\\fP\n'>
                <'XThis causes \\fIctags\\fP to generate both "tags" and "refs".\n'>
                <'XWithout \\fB-r\\fP, it would only generate "tags".\n'>
                <'X.IP \\fB-a\\fR\n'>
                <'XAppend to "tags", and maybe "refs".\n'>
                <'XNormally, \\fIctags\\fR overwrites these files each time it is invoked.\n'>
                <'XThis flag is useful when you have to many files in the current directory\n'>
                <'Xfor you to list them on a single command-line;\n'>
                <'Xit allows you to split the arguments among several invocations.\n'>
                <'X.SH FILES\n'>
                <'X.IP tags\n'>
                <'XA cross-reference that lists each tag name, the name of the source file that\n'>
                <'Xcontains it, and a way to locate a particular line in the source file.\n'>
                <'X.IP refs\n'>
                <'XThe "refs" file contains the definitions for each tag in the "tags" file,\n'>
                <'Xand very little else.\n'>
                <'XThis file can be useful, for example, when licensing restrictions prevent\n'>
                <
'Xyou from making the source code to the standard C library readable by everybody,\n'
                >
                <'Xbut you still everybody to know what arguments the library functions need.\n'>
                <'X.SH BUGS\n'>
                <'X.PP\n'>
                <'X\\fIctags\\fR is sensitive to indenting and line breaks.\n'>
                <'XConsequently, it might not discover all of the tags in a file that\n'>
                <'Xis formatted in an unusual way.\n'>
                <'X.SH "SEE ALSO"\n'>
                <'Xelvis(1), refs(1)\n'>
                <'X.SH AUTHOR\n'>
                <'X.nf\n'>
                <'XSteve Kirkendall\n'>
                <'Xkirkenda@cs.pdx.edu\n'>
                <'X.fi\n'>
              ]
            )
        )
      ]
      do_fork: T
    )
    (C {<echo>} {<x>} {<->} {<elvis.man>})
    (command.Simple
      words: [{<sed>} {(SQ <'/^X/s///'>)}]
      redirects: [
        (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<elvis.man>})
        (redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {(SQ <'/'>)}
              here_end_span_id: 230
              stdin_parts: [
                <'X.TH ELVIS 1\n'>
                <'X.SH NAME\n'>
                <'Xelvis, ex, vi, view, input - The editor\n'>
                <'X.SH SYNOPSIS\n'>
                <'X\\fBelvis\\fP [\\fIflags\\fP] [\\fB+\\fP\\fIcmd\\fP] [\\fIfiles\\fP...]\n'>
                <'X.SH DESCRIPTION\n'>
                <'X\\fIElvis\\fP is a text editor which emulates \\fIvi\\fP/\\fIex\\fP.\n'>
                <'X.PP\n'>
                <
'XOn systems which pass the program name as an argument, such as Unix and Minix,\n'
                >
                <
'Xyou may also install \\fIelvis\\fP under the names "ex", "vi", "view", and "input".\n'
                >
                <'XThese extra names would normally be links to elvis;\n'>
                <'Xsee the "ln" shell command.\n'>
                <'X.PP\n'>
                <'XWhen \\fIelvis\\fP is invoked as "vi",\n'>
                <'Xit behaves exactly as though it was invoked as "elvis".\n'>
                <'XHowever, if you invoke \\fIelvis\\fP as "view",\n'>
                <'Xthen the readonly option is set as though you had given it the "-R" flag.\n'>
                <'XIf you invoke \\fIelvis\\fP as "ex",\n'>
                <'Xthen \\fIelvis\\fP will start up in the colon command mode\n'>
                <'Xinstead of the visual command mode,\n'>
                <'Xas though you had given it the "-e" flag.\n'>
                <'XIf you invoke \\fIelvis\\fP as "input" or "edit",\n'>
                <'Xthen \\fIelvis\\fP will start up in input mode,\n'>
                <'Xas though the "-i" flag was given.\n'>
                <'X.SH OPTIONS\n'>
                <'X.IP \\fB-r\\fP\n'>
                <'XTo the real vi, this flag means that a previous edit should be recovered.\n'>
                <
'X\\fIElvis\\fP, though, has a separate program, called \\fIelvrec(1)\\fP, for recovering\n'
                >
                <'Xfiles.\n'>
                <
'XWhen you invoke \\fIelvis\\fP with -r, \\fIelvis\\fP will tell you to run \\fIelvrec\\fP.\n'
                >
                <'X.IP \\fB-R\\fP\n'>
                <'XThis sets the "readonly" option,\n'>
                <'Xso you won\'t accidentally overwrite a file.\n'>
                <'X.IP "\\fB-t\\fP \\fItag\\fP"\n'>
                <'XThis causes \\fIelvis\\fP to start editing at the given tag.\n'>
                <'X.IP "\\fB-m\\fP [\\fIfile\\fP]"\n'>
                <'X\\fIElvis\\fP will search through \\fIfile\\fP for something that looks like\n'>
                <'Xan error message from a compiler.\n'>
                <'XIt will then begin editing the source file that caused the error,\n'>
                <'Xwith the cursor sitting on the line where the error was detected.\n'>
                <'XIf you don\'t explicitly name a \\fIfile\\fP, then "errlist" is assumed.\n'>
                <'X.IP \\fB-e\\fP\n'>
                <'X\\fIElvis\\fP will start up in colon command mode.\n'>
                <'X.IP \\fB-v\\fP\n'>
                <'X\\fIElvis\\fP will start up in visual command mode.\n'>
                <'X.IP \\fB-i\\fP\n'>
                <'X\\fIElvis\\fP will start up in input mode.\n'>
                <'X.IP "\\fB-w\\fR \\fIwinsize\\fR"\n'>
                <'XSets the "window" option\'s value to \\fIwinsize\\fR.\n'>
                <'X.IP "\\fB+\\fP\\fIcommand\\fP or \\fB-c\\fP \\fIcommand\\fP"\n'>
                <'XIf you use the +\\fIcommand\\fP parameter,\n'>
                <'Xthen after the first file is loaded\n'>
                <'X\\fIcommand\\fP is executed as an EX command.\n'>
                <'XA typical example would be "elvis +237 foo",\n'>
                <'Xwhich would cause \\fIelvis\\fP to start editing foo and\n'>
                <'Xthen move directly to line 237.\n'>
                <'XThe "-c \\fIcommand\\fP" variant was added for UNIX SysV compatibility.\n'>
                <'X.SH FILES\n'>
                <'X.IP /tmp/elv*\n'>
                <'XDuring editing,\n'>
                <'X\\fIelvis\\fP stores text in a temporary file.\n'>
                <'XFor UNIX, this file will usually be stored in the /tmp directory,\n'>
                <'Xand the first three characters will be "elv".\n'>
                <'XFor other systems, the temporary files may be stored someplace else;\n'>
                <'Xsee the version-specific section of the documentation.\n'>
                <'X.IP tags\n'>
                <
'XThis is the database used by the \\fI:tags\\fP command and the \\fB-t\\fP option.\n'
                >
                <'XIt is usually created by the \\fIctags(1)\\fP program.\n'>
                <'X.IP ".exrc or elvis.rc"\n'>
                <'XOn UNIX-like systems, a file called ".exrc" in your home directory\n'>
                <'Xis executed as a series of \\fIex\\fR commands.\n'>
                <'XA file by the same name may be executed in the current directory, too.\n'>
                <'XOn non-UNIX systems, ".exrc" is usually an invalid file name;\n'>
                <'Xthere, the initialization file is called "elvis.rc" instead.\n'>
                <'X.SH "SEE ALSO"\n'>
                <'Xctags(1), ref(1), virec(1)\n'>
                <'X.PP\n'>
                <'X\\fIElvis - A Clone of Vi/Ex\\fP, the complete \\fIelvis\\fP documentation.\n'>
                <'X.SH BUGS\n'>
                <'XThere is no LISP support.\n'>
                <'XCertain other features are missing, too.\n'>
                <'X.PP\n'>
                <'XAuto-indent mode is not quite compatible with the real vi.\n'>
                <'XAmong other things, 0^D and ^^D don\'t do what you might expect.\n'>
                <'X.PP\n'>
                <'XLong lines are displayed differently.\n'>
                <'XThe real vi wraps long lines onto multiple rows of the screen,\n'>
                <'Xbut \\fIelvis\\fP scrolls sideways.\n'>
                <'X.SH AUTHOR\n'>
                <'X.nf\n'>
                <'XSteve Kirkendall\n'>
                <'Xkirkenda@cs.pdx.edu\n'>
                <'X.fi\n'>
                <'X.PP\n'>
                <
'XMany other people have worked to port \\fIelvis\\fP to various operating systems.\n'
                >
                <
'XTo see who deserves credit, run the \\fI:version\\fP command from within \\fIelvis\\fP,\n'
                >
                <'Xor look in the system-specific section of the complete documentation.\n'>
              ]
            )
        )
      ]
      do_fork: T
    )
    (C {<echo>} {<x>} {<->} {<elvprsv.man>})
    (command.Simple
      words: [{<sed>} {(SQ <'/^X/s///'>)}]
      redirects: [
        (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<elvprsv.man>})
        (redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {(SQ <'/'>)}
              here_end_span_id: 309
              stdin_parts: [
                <'X.TH ELVPRSV 1\n'>
                <'X.SH NAME\n'>
                <'Xelvprsv - Preserve the the modified version of a file after a crash.\n'>
                <'X.SH SYNOPSIS\n'>
                <'X.nf\n'>
                <'X\\fB\\fBelvprsv\\fP ["-\\fIwhy elvis died\\fP"] /tmp/\\fIfilename\\fP...\n'>
                <'X\\fB\\fBelvprsv\\fP -R /tmp/\\fIfilename\\fP...\n'>
                <'X.fi\n'>
                <'X.SH DESCRIPTION\n'>
                <'X.PP\n'>
                <'X\\fIelvprsv\\fP preserves your edited text after \\fIelvis\\fP dies.\n'>
                <'XThe text can be recovered later, via the \\fIelvprsv\\fP program.\n'>
                <'X.PP\n'>
                <'XFor UNIX-like systems,\n'>
                <'Xyou should never need to run this program from the command line.\n'>
                <'XIt is run automatically when \\fIelvis\\fP is about to die,\n'>
                <'Xand it should be run (via /etc/rc) when the computer is booted.\n'>
                <'XTHAT\'S ALL!\n'>
                <'X.PP\n'>
                <'XFor non-UNIX systems such as MS-DOS, you can either use \\fIelvprsv\\fP\n'>
                <
'Xthe same way as under UNIX systems (by running it from your AUTOEXEC.BAT file),\n'
                >
                <'Xor you can run it separately with the "-R" flag to recover the files\n'>
                <'Xin one step.\n'>
                <'X.PP\n'>
                <'XIf you\'re editing a file when \\fIelvis\\fP dies\n'>
                <'X(due to a bug, system crash, power failure, etc.)\n'>
                <'Xthen \\fIelvprsv\\fP will preserve the most recent version of your text.\n'>
                <'XThe preserved text is stored in a special directory; it does NOT overwrite\n'>
                <'Xyour text file automatically.\n'>
                <'X.PP\n'>
                <'X\\fIelvprsv\\fP will send mail to any user whose work it preserves,\n'>
                <'Xif your operating system normally supports mail.\n'>
                <'X.SH FILES\n'>
                <'X.IP /tmp/elv*\n'>
                <'XThe temporary file that \\fIelvis\\fP was using when it died.\n'>
                <'X.IP /usr/preserve/p*\n'>
                <'XThe text that is preserved by \\fIelvprsv\\fP.\n'>
                <'X.IP /usr/preserve/Index\n'>
                <'XA text file which lists the names of all preserved files, and the names\n'>
                <'Xof the /usr/preserve/p* files which contain their preserved text.\n'>
                <'X.SH BUGS\n'>
                <'X.PP\n'>
                <'XDue to the permissions on the /usr/preserve directory, on UNIX systems\n'>
                <'X\\fIelvprsv\\fP must be run as superuser.\n'>
                <
'XThis is accomplished by making the \\fIelvprsv\\fP executable be owned by "root"\n'
                >
                <'Xand turning on its "set user id" bit.\n'>
                <'X.PP\n'>
                <
'XIf you\'re editing a nameless buffer when \\fIelvis\\fP dies, then \\fIelvprsv\\fP will pretend\n'
                >
                <'Xthat the file was named "foo".\n'>
                <'X.SH AUTHOR\n'>
                <'X.nf\n'>
                <'XSteve Kirkendall\n'>
                <'Xkirkenda@cs.pdx.edu\n'>
                <'X.fi\n'>
              ]
            )
        )
      ]
      do_fork: T
    )
    (C {<echo>} {<x>} {<->} {<elvrec.man>})
    (command.Simple
      words: [{<sed>} {(SQ <'/^X/s///'>)}]
      redirects: [
        (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<elvrec.man>})
        (redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {(SQ <'/'>)}
              here_end_span_id: 381
              stdin_parts: [
                <'X.TH ELVREC 1\n'>
                <'X.SH NAME\n'>
                <'Xelvrec - Recover the modified version of a file after a crash\n'>
                <'X.SH SYNOPSIS\n'>
                <'X.nf\n'>
                <'X\\fBelvrec\\fP [\\fIpreservedfile\\fP [\\fInewfile\\fR]]\n'>
                <'X.fi\n'>
                <'X.SH DESCRIPTION\n'>
                <'X.PP\n'>
                <
'XIf you\'re editing a file when \\fIelvis\\fP dies, the system crashes, or power fails,\n'
                >
                <'Xthe most recent version of your text will be preserved.\n'>
                <'XThe preserved text is stored in a special directory; it does NOT overwrite\n'>
                <'Xyour text file automatically.\n'>
                <'X.PP\n'>
                <'XThe \\fIelvrec\\fP program locates the preserved version of a given file,\n'>
                <
'Xand writes it over the top of your text file -- or to a new file, if you prefer.\n'
                >
                <'XThe recovered file will have nearly all of your changes.\n'>
                <'X.PP\n'>
                <'XTo see a list of all recoverable files, run \\fIelvrec\\fP with no arguments.\n'>
                <'X.SH FILES\n'>
                <'X.IP /usr/preserve/p*\n'>
                <'XThe text that was preserved when \\fIelvis\\fP died.\n'>
                <'X.IP /usr/preserve/Index\n'>
                <'XA text file which lists the names of all preserved files, and the names\n'>
                <'Xof the /usr/preserve/p* files which contain their preserved text.\n'>
                <'X.SH BUGS\n'>
                <'X.PP\n'>
                <'X\\fIelvrec\\fP is very picky about filenames.\n'>
                <'XYou must tell it to recover the file using exactly the same pathname as\n'>
                <'Xwhen you were editing it.\n'>
                <'XThe simplest way to do this is to go into the same directory that you were\n'>
                <'Xediting, and invoke \\fIelvrec\\fP with the same filename as \\fIelvis\\fP.\n'>
                <'XIf that doesn\'t work, then try running \\fIelvrec\\fP with no arguments,\n'>
                <'Xto see exactly which pathname it is using for the desired file.\n'>
                <'X.PP\n'>
                <'XDue to the permissions on the /usr/preserve directory, on UNIX systems\n'>
                <'X\\fIelvrec\\fP must be run as superuser.\n'>
                <
'XThis is accomplished by making the \\fIelvrec\\fP executable be owned by "root"\n'
                >
                <'Xand setting its "set user id" bit.\n'>
                <'X.PP\n'>
                <
'XIf you\'re editing a nameless buffer when \\fIelvis\\fP dies, then \\fIelvrec\\fP\n'
                >
                <'Xwill pretend that the file was named "foo".\n'>
                <'X.SH AUTHOR\n'>
                <'X.nf\n'>
                <'XSteve Kirkendall\n'>
                <'Xkirkenda@cs.pdx.edu\n'>
                <'X.fi\n'>
              ]
            )
        )
      ]
      do_fork: T
    )
    (C {<echo>} {<x>} {<->} {<fmt.man>})
    (command.Simple
      words: [{<sed>} {(SQ <'/^X/s///'>)}]
      redirects: [
        (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<fmt.man>})
        (redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {(SQ <'/'>)}
              here_end_span_id: 432
              stdin_parts: [
                <'X.TH FMT 1\n'>
                <'X.SH NAME\n'>
                <'Xfmt - adjust line-length for paragraphs of text\n'>
                <'X.SH SYNOPSIS\n'>
                <'X\\fBfmt\\fP [\\-\\fIwidth\\fP] [\\fIfiles\\fP]...\n'>
                <'X.SH DESCRIPTION\n'>
                <'X\\fIfmt\\fR is a simple text formatter.\n'>
                <'XIt inserts or deletes newlines, as necessary, to make all lines in a\n'>
                <'Xparagraph be approximately the same width.\n'>
                <'XIt preserves indentation and word spacing.\n'>
                <'X.PP\n'>
                <'XThe default line width is 72 characters.\n'>
                <'XYou can override this with the \\-\\fIwidth\\fR flag.\n'>
                <'XIf you don\'t name any files on the command line,\n'>
                <'Xthen \\fIfmt\\fR will read from stdin.\n'>
                <'X.PP\n'>
                <'XIt is typically used from within \\fIvi\\fR to adjust the line breaks\n'>
                <'Xin a single paragraph.\n'>
                <'XTo do this, move the cursor to the top of the paragraph,\n'>
                <'Xtype "!}fmt", and\n'>
                <'Xhit <Return>.\n'>
                <'X.SH AUTHOR\n'>
                <'X.nf\n'>
                <'XSteve Kirkendall\n'>
                <'Xkirkenda@cs.pdx.edu\n'>
                <'X.fi\n'>
              ]
            )
        )
      ]
      do_fork: T
    )
    (C {<echo>} {<x>} {<->} {<ref.man>})
    (command.Simple
      words: [{<sed>} {(SQ <'/^X/s///'>)}]
      redirects: [
        (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<ref.man>})
        (redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {(SQ <'/'>)}
              here_end_span_id: 545
              stdin_parts: [
                <'X.TH REF 1\n'>
                <'X.SH NAME\n'>
                <'Xref - Display a C function header\n'>
                <'X.SH SYNOPSIS\n'>
                <'X\\fBref\\fR [-t] [-c \\fIclass\\fR]... [-f \\fIfile\\fR]... \\fItag\\fR\n'>
                <'X.SH DESCRIPTION\n'>
                <'X\\fIref\\fP quickly locates and displays the header of a function.\n'>
                <'XTo do this, \\fIref\\fR\n'>
                <'Xlooks in the "tags" file for the line that describes the function, and then \n'>
                <'Xscans the source file for the function.\n'>
                <'XWhen it locates the function, it displays an introductory comment\n'>
                <'X(if there is one), the function\'s declaration, and the declarations of all\n'>
                <'Xarguments.\n'>
                <'X.SH "SEARCH METHOD"\n'>
                <'X.PP\n'>
                <'X\\fIref\\fR uses a fairly sophisticated tag look-up algorithm.\n'>
                <'XIf you supply a filename via \\fB-f\\fR \\fIfile\\fR, then elvis first scans\n'>
                <'Xthe tags file for a static tag from that file.\n'>
                <'XThis search is limited to the tags file in the current directory.\n'>
                <'X.PP\n'>
                <'XIf you supply a classname via \\fB-c\\fR \\fIclass\\fR, then elvis searches\n'>
                <'Xfor a tag from that class.\n'>
                <'XThis search is not limited to the current directory;\n'>
                <
'XYou can supply a list of directories in the environment variable \\fITAGPATH\\fR,\n'
                >
                <
'Xand \\fIref\\fR will search through the "tags" file in each directory until it finds\n'
                >
                <'Xa tag in the desired class.\n'>
                <'X.PP\n'>
                <'XIf that fails, \\fIref\\fR will then try to look up an ordinary global tag.\n'>
                <'XThis search checks all of the directories listed in \\fITAGPATH\\fR, too.\n'>
                <'X.PP\n'>
                <
'XIf you\'ve given the \\fB-t\\fR flag, then \\fIref\\fR will simply output the tag line that\n'
                >
                <'Xit found, and then exit.\n'>
                <'XWithout \\fB-t\\fR, though, \\fIref\\fR will search for the tag line.\n'>
                <'XIt will try to open the source file, which should be in the same directory\n'>
                <'Xas the tags file where the tag was discovered.\n'>
                <
'XIf the source file doesn\'t exist, or is unreadable, then \\fIref\\fR will try to open\n'
                >
                <'Xa file called "\\fIrefs\\fR" in that directory.\n'>
                <
'XEither way, \\fIref\\fR will try to locate the tag, and display whatever it finds.\n'
                >
                <'X.SH "INTERACTION WITH ELVIS"\n'>
                <'X.PP\n'>
                <'X\\fIref\\fP is used by \\fIelvis\\fR\' shift-K command.\n'>
                <'XIf the cursor is located on a word such as "splat", in the file "foo.c",\n'>
                <
'Xthen \\fIelvis\\fR will invoke \\fIref\\fR with the command "ref -f foo.c splat".\n'
                >
                <'X.PP\n'>
                <
'XIf \\fIelvis\\fR has been compiled with the -DEXTERNAL_TAGS flag, then \\fIelvis\\fR will\n'
                >
                <'Xuse \\fIref\\fR \\fB\\fRto scan the tags files.\n'>
                <
'XThis is slower than the built-in tag searching, but it allows \\fIelvis\\fR to access\n'
                >
                <'Xthe more sophisticated tag lookup provided by \\fIref\\fR.\n'>
                <'XOther than that, external tags should act exactly like internal tags.\n'>
                <'X.SH OPTIONS\n'>
                <'X.IP \\fB-t\\fR\n'>
                <'XOutput tag info, instead of the function header.\n'>
                <'X.IP "\\fB-f\\fR \\fIfile\\fR"\n'>
                <'XThe tag might be a static function in \\fIfile\\fR.\n'>
                <
'XYou can use several -f flags to have \\fIref\\fR consider static tags from more than one file.\n'
                >
                <'X.IP "\\fB-c\\fR \\fIclass\\fR"\n'>
                <'XThe tag might be a member of class \\fIclass\\fR.\n'>
                <
'XYou can use several -c flags to have \\fIref\\fR consider tags from more than one class.\n'
                >
                <'X.SH FILES\n'>
                <'X.IP \\fBtags\\fR\n'>
                <'XList of function names and their locations, generated by \\fIctags\\fR.\n'>
                <'X.IP \\fBrefs\\fR\n'>
                <'XFunction headers extracted from source files (optional).\n'>
                <'X.SH ENVIRONMENT\n'>
                <'X.IP \\fBTAGPATH\\fR\n'>
                <'XList of directories to be searched.\n'>
                <'XThe elements in the list are separated by either\n'>
                <'Xsemicolons (for MS-DOS, Atari TOS, and AmigaDos), or\n'>
                <'Xby colons (every other operating system).\n'>
                <
'XFor each operating system, \\fIref\\fR has a built-in default which is probably\n'
                >
                <'Xadequate.\n'>
                <'X.SH NOTES\n'>
                <'X.PP\n'>
                <'XYou might want to generate a "tags" file the directory that contains the\n'>
                <'Xsource code for standard C library on your system.\n'>
                <'XIf licensing restrictions prevent you from making the library source readable\n'>
                <'Xby everybody, then you can have \\fIctags\\fR generate a "refs" file,\n'>
                <'Xand make "refs" readable by everybody.\n'>
                <'X.PP\n'>
                <'XIf your system doesn\'t come with the library source code, then perhaps you\n'>
                <'Xcan produce something workable from the \\fIlint\\fR libraries.\n'>
                <'X.SH "SEE ALSO"\n'>
                <'Xelvis(1), ctags(1)\n'>
                <'X.SH AUTHOR\n'>
                <'X.nf\n'>
                <'XSteve Kirkendall\n'>
                <'Xkirkenda@cs.pdx.edu\n'>
                <'X.fi\n'>
              ]
            )
        )
      ]
      do_fork: T
    )
  ]
)