! ! ! REVBLK - CREATE/MODIFY THE ! ! MODULE REVISION HISTORY BLOCK.! ! ! ! !!X01.01!! ! ! ! ! X01.01 - ADDED FORM-FEED TO ! ! END OF THIS FILE. THIS ! ! MUST NEVER BE REMOVED. ! ! ALSO, POSITION THE ! ! POINTER AFTER THE REV- ! ! ISION HISTORY BLOCK ON ! ! EXIT. ! ! ! ! THIS TECO MACRO IS CALLED BY ! ! THE OTHER TECO MACROS TO ! ! CREATE OR MODIFY THE REVISION ! ! HISTORY BLOCK. ! ! ! ! ON ENTRY, THE TEXT PART OF ! ! QX CONTAINS THE COMMENT ! ! STRING DELIMITER. ON EXIT, ! ! QX CONTAINS THE VERSION STRING! ! IN THE TEXT PART, AND -1 ! ! (TRUE) OR 0 (FALSE) IN THE ! ! NUMERIC PART INDICATING ! ! WHETHER OR NOT A VALID VERSION! ! NUMBER EXISTS. ! ! ! ! ! ! SAVE ALL Q-REGISTERS. ! ! ! ^D [0 ^[ ESU0 0ES [0 EDU0 [0 0ED [S [V [N [W [D [3 [A [R ! ! ! DEFINE MACRO TO DO RUBOUT ! ! ! @^UR# ET&512"N 8^T 32^T 8^T | .-1,.T ' # ! ! ! DEFINE MACRO TO INPUT A ! ! STRING TERMINATED WITH . ! ! ! @^US\@^A% (End with ) : % .UTZJ.UU !S1! ^TU3 Q3-127"E.-QU"E@O%S1%'MR-D@O%S1%' Q3-13"E^T^[@^A%String must be on one line End with : %QU,ZT@O%S1%' Q3-21"EQUJZK@^A% Try again: %@O%S1%' Q3-27"N Q3@I%%@O%S1%'QU,ZXAQU,ZKQTJ\ ! ! ! GET THE PROGRAMMER'S NAME. ! ! ! @^UN#@^A% Enter your name% MS GA# ! ! ! INCREMENT THE VERSION NUMBER. ! ! ! @^UW#\UW^YD1%WQW-99"G@^A% Version number overflow. %0UW'QW/10\QW-(QW/10*10)\# ! ! ! DEFINE MACRO TO INSERT DATE ! ! AND TIME: dd-mmm-yy hh:mm ! ! ! @^UD# ^B&31+100\ 3RD 2C @I%-% .UDZJ @I%JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC% 39R ^B/32&15*3C .,.+3X3 ZJ -36D QDJ G3 @I%-% ^B/512\ @I% % ^HUDQD/1800U3 Q3+100\ 3RD 2C @I%:% QD-(1800*Q3)/30+100\ 3RD 2C # ! ! ! LOCATE THE REVISION HISTORY ! ! BLOCK. ! ! ! 0UX @EI%% J^D2:@S%^EQX**-% "U @O%O% ' ! ! ! BLOCK FOUND - MUST BE AN ! ! UPDATE OPERATION. ! ! ! J @S%% @S%name:% V @S%Version % .UV .,.+6XV ::@S%^EA^ED^ED.^ED^ED%"U@^A% Invalid version number format. % V @O%X% ' -1UX @^A% The Version is specified "SRR.EE", where "S"=status code, "RR"=revision number, and "EE"=edit level. Current Version is "% :GV @^A%".% !P!@^A% Do you wish to update the Status (S), Revision (R), or Edit level (E), : % ^TU3 Q3-^^S"E @O%GS% ' Q3-^^R"E @O%GR% ' Q3-^^E"N @O%P% ' ! ! ! UPDATE THE EDIT LEVEL. ! ! ! QV+4J MW @O%EG% ! ! ! UPDATE REVISION NUMBER. ! ! ! !GR! QVJ D @I%X% MW 3D @I%.00% @O%EG% ! ! ! UPDATE STATUS CODE. ! ! ! !GS!-1UW@^A% Enter new Status code (X=Development/Debugging, Y=Released for test, V=Final release, W=Withdrawn (Obsolete)) : %^TU3 (Q3-^^X)*(Q3-^^Y)*(Q3-^^W)*(Q3-^^V)"N@O%GS%' QVJ D Q3@I%% ! ! ! SAVE THE NEW REVISION NUMBER. ! ! ! !EG! QVJ .,.+6XV @S%: % K MD @I% %@^A% %-T QW"L QVJ 0AU3 L K GX @I% Status: %Q3-^^X"E@I%Development/Debugging%' Q3-^^Y"E@I%Released for test%'Q3-^^V"E@I%Final release%' Q3-^^W"E@I%Withdrawn (Obsolete)%'@I% %' @S%^EQX**-% 0L GX @I% Version %GV@I% %MD@I% - %MD@I% % GX @I% Modified by: %MN@I% % GX @I% %@^A% Enter description of modification (End with ) % !T0! 0T .UU !T1! ^TU3 Q3-127"E .-QU"E @O%T1% ' MR -D @O%T1% ' Q3-13"E ^TU3 @I% % GX @I% % @O%T0% ' Q3-21"E QU,.K @O%T0% ' Q3-18"E @^A% % 0T @O%T1% ' Q3-27"N Q3@I%% @O%T1% ' ! ! ! ESCAPE ENTERED - IF THERE WAS ! ! NO TEXT INPUT ON THE LINE, ! ! KILL IT. ! ! ! .-QU"E 0K | @I% % ' GX @I% % @O%X% ! ! ! NO REVISION HISTORY BLOCK ! ! WAS FOUND - ASK IF ONE SHOULD ! ! BE CREATED. ! ! ! !O!@^A% Revision history block not found.% !A!@^A% Create it [Y/N] ?% ^TUT QT-^^N"E @O%X% ' QT-13"E ^T^[ @O%X% ' QT-^^Y"N @O%A% ' -1UX J GX @^UV%X01.00% @I%**- % GX @I% Module name: % @^A% Enter module name% MS GA @I% % GX @I% % GX @I% Version X01.00 Last edit: % MD @I% % GX @I% Status: Development/Debugging % GX @I% % GX @I% Revision history: % GX @I% % GX @I% Version X01.00 % MD @I% - % MD @I% % GX @I% Created by: % MN @I% % GX @I% % GX @I%**- % ! ! ! COMMON EXIT POINT. ! ! ! !X! @^A% % ! ! ! IF A VALID VERSION EXISTS, ! ! PUT IT INTO Q-REG X. ! ! ! QX"T QXUV [V ]X ' ]R ]A ]3 ]D ]W ]N ]V ]S ]0 Q0ED ]0 Q0ES ]0 J 2:@S%**-%"S L '