xW [0+8+FQ(+4)[1 0FO10F"G+Q1' +FQ()+4U1 FQ1"L0' ,Q1:M(Q1+4(]1]0)) A`kSv! ! 9#:'-v4N:EBLKJVY^ e:m^t >{ = k 'n!f/>$N&[fh%]o?x$Z %+$""%0%G;!E%]P&dZfdp{YU (4& File TAGS Loaded& Find Tag Display& Setup Tags Library& Tag Table Find File& Visit Tag Table? Save Tag TableArgs Find Tag List Tags Next FileTags AproposTags File ListTags Query ReplaceTags RescanTags SearchView Arglist What Tag?^R Add Tag^R Find Key Tag^R Find Tag~DIRECTORY~~DOC~ & File TAGS Loaded~DOC~ & Find Tag Display~DOC~ & Setup Tags Library~DOC~ & Tag Table Find File~DOC~ & Visit Tag Table~DOC~ ? Save Tag Table~DOC~ Args~DOC~ Find Tag~DOC~ List Tags~DOC~ Next File~DOC~ Tags Apropos~DOC~ Tags File List~DOC~ Tags Query Replace~DOC~ Tags Rescan~DOC~ Tags Search~DOC~ View Arglist~DOC~ What Tag?~DOC~ ^R Add Tag~DOC~ ^R Find Key Tag~DOC~ ^R Find Tag~DOC~ ~Filename~~Filename~ ~INVERT~Intentionallynotleftblank.N0FO..QTags Setup Hook[0 FQ0"GM0' M.M^R Find TagU... f[DFileetDSK:TAGS fsHSnamefsDSnamew fsXUnamefsDFN1w e?"e erfsIFileu1ec m(m.mVisit Tag Table)1 @ftTAGS file 1 loaded. ' F"EW:I*'[0 0FO..QTag Table Buffer[1 Q1"E:I*No tag table loadedFSERR' [2[3[5[6F[DFILQ1[..O "EJ' <:s0"e ]..O "e:i*Tag not known'"#:i*No more such tags'fserr' "#:fb"lr0;'' > q0m.vLast Tag .u2 0L1A- "EC'.,Q2X0 Q2JC\U2 .U3J<.+(L\(-L))-Q3; .+(L\)J> Q3(:X3ET3FSDFILEU3 )J -2FSQPUN QBuffer Filenames[4 Q4"E:I4' F~43"N 0FO..QTags Find File"N M(M.MFind File)3' "#1,M(M.MVisit File)3' ' "#.:QAuto Push Point NotificationFSECHOOUT 0FSECHOACT' 0FSVBW0FSVZ Q2:J"EZJ' .U2 1000U3 Q3*3U3> J<:S0; 13,FKAF "G'> :I*Tag has been deletedFSERRSFM(M.MFind Tag) .(0@L QComment Start[1 QPage Delimiter[2 Q1"N<0@LB-.;-@L @F R 1A-13"NFQ1F~1"N 0@L:S2 FKCFK"E@L'0;''> .U1@F R .-Q1"N-@L' ' -1f[^Rinhibitw0@v 0@:f )J 0\m(m.m& Read Q-reg Name)[0 q0m(m.m& Macro Get Full Name):m(m.m& Find Tag Display)&[0[10[2 FF"NQLast TagU0 1,Q0:M(M.M& Find Tag Display)' 0FO..QTag Table BufferU0 Q0FP"N0U0' Q0"E !NewTagFile! @M(M.M& Visit Tag Table) 0FO..QTag Table Buffer"E0'' QTag Table FilenamesF[DFILE FSDFN1:F6(F]DFILE)U0 fslisten"n :fi-"eoAltNoPrompt'' :i*CTag (0): fsechodis !AltNoPrompt! :fi-"e fiwoNewTagFile' M(M.M& Read Line)Tag (0): U0 FQ0-1"L0' Q0:M(M.M& Find Tag Display)G0X*[0 .[1 QTag Table Buffer[..O QBuffer FilenamesM(M.M& Tag Table Find File)[2 Q2"L:I*File not listed in tag tableFSERR' Q2J2L .,(G0127IQ1\I  .)+( Q2JL\)(0K)\ 5-.+(0L.),0I 00[0[1 J<.-Z"E-1' :X0F~10"E.' .+(L\)J>FF"NM.VTags Find File' 1F[FNAMSY[1 QBuffer FilenamesF"EW'F[DFILE 0FO..QTag Table FilenamesF"NFSDFILE' ET TAGS 5,4F Tag TableU0 ET0FSDFILEU1 1F[REREAD :I**TAGS*[2 1,Q2M(M.M& Find Buffer)[3 Q3"L Q2M(M.M& Create Buffer)U3' 0M.VTag Table Buffer Q:.B(Q3+4)[..O Q1M.VTag Table Filenames Q1U:.B(Q3+2) Q1U:.B(Q3+5) ER@Y 0FSModifw0FSXModif Q..OUTag Table Buffer 0FO..QTag Table BufferF"N[..O' "#' FSModified"N QTag Table FilenamesF[DFILE 0F[VZ0F[VB E\FNE^ EIHPEF 0FSMODIFIEDW0FSXMODIF' $QTag Table Buffer[..O FF&1"NJ' "#:S"LLZ-."NOWin'' "N0' :I*No more filesFSERR' !Win! :X*(]..O)[1 0fo..QTags Find File"e 1,m(m.mVisit File)1' "# (&2)*(0fo..QTags Find File-2)"n f[dfilewet1fsdfile( f]dfile )m(m.m& Find File)f"e :i**Tags Search*m(m.mSelect Buffer) 1,m(m.mVisit File)1' "#m(m.mSelect Buffer) 0fsvbw0fsvz'' "# m(m.mFind File)1 0fsvbw0fsvz'' "n-1'T1,F String: [2 qBuffer Name[1 2,1m(m.mNext File) j @:i..|:i*Cfsechodisplay [1 <:S2"l @ft Tags Search succeeded.0fsechoact q1"e0'' 1u1 2,m(m.mNext File)"e @ft Tags Search failed.fg m(m.mSelect Buffer)10fsechoactw' "#jqBuffer Filenames 1fo..QTags Search Verbose"n@ft 1 ' ]1'>| ]1]21,:m..qBuffer Name[1 4m(m.mNext File) J QBuffer FIlenames[2 @FT 2 ]2 :\[4 :\[3FF&1"E:I3' @:I..{<4,3M(M.MQuery Replace); 2,M(M.MNEXT FILE)"e fgwM(M.MSelect Buffer)10;' "#jQBuffer FIlenames[1 @FT 1 ]1'>{ ]3]4]1:M..T.f[VBfsz-.f[VZ GTag Table Buffer J<.-z;L .u1SLq1,.k> :LL Z:WJHQTag Table Buffer[..O 5,F File: [1 fq1"efsdfileu1' .[2fnq2j j<:fb1"n 0l.(.f[vbsfsz-.f[vz m(m.mTags Apropos)w)j f]vzf]vb' :s;l> '1,F Substring: [.1 fq.1"e:i.1' 0[.4 0[.3 m.m& Maybe Flush Output QTag Table Buffer[..O .[.5fnq.5j bj < mf1; ."n:s.1;' ,0a-"E .-b"nl' z-."e1;' :x.4 ls,:x.3l !' :fb"e!' fq.4"g ft .4 (.3)   0u.4' ft  r0@ft l ft  > ft Done 0Bm(m.mSave All Files) QTag Table Filenames[0 fsOSTeco"e@ :TAGS 0 $P' "#:i*0 fsForkJCLw -(@fzPS:TAGS.EXE)fz' QTag Table Buffer[..O F[DFILEER0@Y 0FSMODIFIED0I[1[2[3[4[Previous Buffer QTag Table Filenamesf[dfile fsdfn1:f6(f]dfile)[0 1,f Args for function (0): u1 qBuffer Nameu2.u3 fnq2m(m.mSelect Buffer)q3j m.vTags Find File 1[Tags Find File m(m.mFind Tag)1 qComment Startu4 0l.u1 l<2f= "n1;'l> .,q1tq1jt m.[1f[sstring[30[4 0fo..qtag table buffer[..o qbuffer filenamesm(m.m& tag table find file)[2 q2"l:i*file not listed in tag tablefserr' q2j2l <,1a-"e0;' fb\u3 q3-q1"lq3-q4"g q3u4.u2'' l> q2j-fwlr^0t 0FSECHOACTTAGS*Jump directly to any tag, in any file.%S If this exists, TAGS is loaded.~S Set up TAGS's ^R commands. ^R Find Tag is put on Meta-Period. But if QTags Setup Hook is nonzero, it is run instead.MC Visit a tag (string argument). Jump to the definition of the tag, switching files if necessary. If we do not switch files, we leave behind a mark. A string pointer to the tag name may be given as a prefix arg. A precomma arg says look for a second occurrence of the tag (search tag table from previous tag, not beginning)US Find tag and choose a new window cleverly. Passes numeric args on to Find Tag.^R Finds the source of the function which a character runs. The command character is read from the terminal. Meta and other bit-prefixes, as well as character-prefixes (e.g. C-X) will be processed. So you can type C-X C-B to see the macro for C-X C-B.(^R Go to tag (read name from TTY). The tag must be listed in the Tag Table. See M-X Visit Tag Table. With argument, visits next definition of last tag specified.{^R Add tag on current line to tag table. Point should be after enough information to identify the tag(s) on the line.S Find a file's entry in the tag table. The filenames (a la FS D FILE) should be a numeric argument. The value is that address of the entry in the tag table, or -1 if there is no entry for the file. The tag table should be the selected buffer in TECO.S Select a tag table file (string argument). A tag table file is an index to the "tags" (labels, functions, etc.) in one or more files of code, and allows the use of ^R Find Tag to go directly to any one of them. See also the TAGS program which makes tag table files. A numeric argument sets Tags Find File, which if nonzero makes TAGS switch files using separate buffers.5C Write out the tag table if it has been changed.;C Select the next file in the tags table. Each of the files described by the selected tags table is visited one by one if you repeat this macro. With an argument, we visit the first file in the tag table. With any pre-comma arg (eg 1,) we returns -1 if successful or 0 if there were no more files (otherwise an error). A pre-comma arg with the 2 bit set (eg 2,) will use *Tags Search* buffer if file not in core and qTags Find File is not in the set {0,2} -- good for things like Tag Search which tend to run out of core easily for large tags file searches C Search through all files in a Tags file. Sets up Control-. to continue the search to the next occurance of the string through all the files in the current tags table. If no more files left, beeps and returns to original buffer. Example: MMTags Search$FOO$$ 7C Query Replace through all files in a Tags file. Takes two string arguments just like Query Replace. Sets up Control-. to continue the Query Replace to the next occurance of the string through all the files in the current tags table, in case you exit the Query Replace before it is finished. "!" means replace all the remaining instances in the current file only. If no more files left, beeps and returns to the original buffer.4C Insert list of names of the files in the tag table. The list comes from the currently-visited tag table, and is sorted alphabetically. Point is left before and mark after."C List all tags in current or specified file. Specify file with a string arg. All files in the tag table which contain that argument string will be listed.8C List all known tags whose names contain STRINGARG.,C Recompute the tag table and reload it. C Print a function's arglist and comments. The function is specified as a string argument. The line on which the function is defined is printed together with any preceding lines of comments. Usually this will describe a subroutine and its arguments and results.mC Name of current function from tag table. Print in the echo area the name of the closest preceding tag.3& File TAGS Loaded & Setup Tags Library Find Tag & Find Tag Display ^R Find Key Tag ^R Find Tag ^R Add Tag & Tag Table Find File & Visit Tag Table ? Save Tag Table Next File Tags Search Tags Query Replace Tags File List List Tags Tags Apropos Tags Rescan Args View Arglist What Tag? T+8+fq(+4)[20[3 <%3,-q2f2u3q3&1@;q3"l0'> f[BBindq3-1*5,q3*5g2q:..o(0)+q2