.NLIST ; .TITLE RNPRE ; .IDENT /M3.0/ ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;* * ;* General permission to copy (but not for profit) is hereby * ;* granted, provided that reference is made to the fact that * ;* reproduction privileges were granted by DECUS. * ;* * ;* The information in this document is subject to change with- * ;* out notice and should not be construed as a commitment by * ;* the contributor(s), DECUS or Digital Equipment Corporation. * ;* * ;* These parties make no warranty as to the suitability of this * ;* material for use by the recipient, nor as to the accuracy or * ;* functioning of the software or related material, and no * ;* responsibility is assumed in connection therewith. * ;* * ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; RUNOFF PREFIX FILE ; MODIFIED BY ; ; C. H. Spalding, Unimation, Apr. '83 ; ; MODIFICATIONS ; ; chs01 Start header at line #1, add blank line after header ; chs02 Justify page number to permanent right margin ; chs03 Reduce blank lines from CHAPTER, APPENDIX, & INDEX ; chs04 Add ALTERNATING HEADER ; chs06 Accept space character after quoted space ; chs07 Double space after ; chs08 Single space after semicolon ; chs09 Add ability to specify preferred hyphenation ; chs12 Add EVEN and ODD ; chs14 Add ALTERNATING TITLE ; chs15 No "BLANK 3" from "HL" if after "CH" or "AX" ; chs18 Hyphenate at existing hyphens ; chs19 Add AUTOSUBTITLE ; chs20 Add optional-text commands (added TXTF flag) ; chs23 Add RIGHT JUSTIFY ; chs24 Fix skip at bottom of page ; chs25 Allow hyphenation in fill-only mode ; chs26 Allow hyphenation flag to preceed non-alpha character ; chs28b Add "TEST PAGE" before each index letter group ; chs29 Make missing numeric arg. not default to 0 ; chs30 Allow negative argument for SKIP & BLANK ; chs32 Allow PARAGRAPH in footnotes; reset line spacing ; chs33 Misc. fixes to footnote processing ; chs34 Changes to PARAGRAPH processing ; chs35 Misc. changes to tab processing ; chs36 Expand scope of STANDARD ; chs37 Fix FIGURE to work as claimed; added queue ; chs38 Don't output blank page at end of output ; chs39 Add LAYOUT and related switches ; chs40 Expand HEADER ; chs41 Add control of blank lines between index letter groups ; chs43 Add QUOTE CHARACTER ; chs44 Add "!" comment command and flag ; chs45 Add optional-text command-line switches ; chs46 Change ALTERNATING HEADER to ALTERNATE ; chs47 Allow consecutive subpages ; chs48 Add fixes for chapter numbers > 127 (commented out) ; chs49 Allow multiple input files & appending to output ; chs50 Have task extend itself when index/footnote buffer full ; chs51 Add ENTRY & subindexing ; chs52b Don't exceed right margin with page numbers in index ; chs53 Add orphan control to TEST PAGE ; chs54 Rework footnote processing ; chs55 Fix duplicate output of blank lines in autoparagraph mode ; chs56 Add PAGE NAME ; chs57 Changes to NOTE ; chs58 Add tests for unreasonable command parameters ; chs59 Add limit on chapters output ; chs60 Make syntax for command arguments common ; chs61 Changes to LITERAL processing ; chs63 Control blank lines after END LIST & END NOTE ; chs65 Ignore spec. chars. while ordering index ; chs66 Check validity of /UL value ; chs67 Expand error checks of margin parameters ; chs69 Consider line spacing in TEST PAGE ; chs70 Add TEST LINES ; chs71 Add orphan control to PARAGRAPH ; chs72 Make sure empty output file not left around ; chs73 Provide for unnumbered lists ; chs74 Allow relative/default header level argument ; chs75 Automatically do DO INDEX at end of file ; chs76 Have JUSTIFY always turn on FILL ; chs77 Fix/eliminate FIRST TITLE ; chs78 Add text queue, BLOCK & DUMP ; revamp footnote processing ; chs80 Add text argument to FIGURE ; chs81 Add /ID command line switch ; chs82 Add Table of Contents ; chs83 Add AUTOCONTENTS ; chs84 Add exit status (rework error handling) ; chs85 Expand list of punctuation characters for hyphenator ; chs86 Only skip to next command on command error ; chs87 Save/restore AUTOPARAGRAPH mode in footnotes and blocks ; chs87a Allow TAB STOPS in blocks and footnotes ; chs88 Add ENABLE and DISABLE ; chs91 Add LEVEL STYLE ; chs92 Limit hyphenation of consecutive lines; no 2-char breaks ; chs93 Add EOF ; ASSEMBLY SWITCHES: H$$PHN =1 ;INCLUDE HYPHENATION? (0 = NO) ;chs RSTS =0 ;RUNNING ON RSTS/E? (0 = NO) ;chs RSX11M =1 ;RUNNING UNDER RSX-11M? (0 = NO) ;chs .IIF NZ RSTS, .IIF NZ RSX11M, .ERROR ; RSX11M AND RSTS ARE EXCLUSIVE! BMPHDR =1 ;BUMP HEADER LINES UP ONE LINE? (0 = NO) ;chs01 HPRMRG =1 ;ALIGN PAGE NO. W/ PERM. RT. MARGIN? (0 = NO) ;chs02 BLSW =1 ;INCLUDE /BL SWITCH? (0 = NO) ;chs03 ALTHDR =1 ;INCLUDE ALT. HEADER (SEE CHS46)? (0 = NO) ;chs04 QTSPSP =1 ;TREAT "# " SAME AS " #"? (0 = NO) ;chs06 PDPAR =1 ;DOUBLE SPACE AFTER ? (0 = NO) ;chs07 SEMISS =1 ;SINGLE SPACE AFTER SEMICOLON? (0 = NO) ;chs08 PRFHYP =1 ;INCLUDE PREFERRED-HYPHEN FEATURE? (0 = NO) ;chs09 EVNODD =1 ;INCLUDE "EVEN" & "ODD" COMMANDS? (0 = NO) ;chs12 ALTTIT =1&ALTHDR ;INCLUDE ALTERNATING-TITLE COMMAND? (0 = NO) ;chs14 HLSKP =1 ;"HL" => NO BLANKS AFTER "CH"? (0 = NO) ;chs15 EXSTHY =1 ;HYPHENATE AT EXISTING HYPHENS? (0 = NO) ;chs18 ATOSUB =1 ;INCLUDE AUTOSUBTITLE COMMAND? (0 = NO) ;chs19 OPTTXT =32. ;MAXIMUM NUMBER OF TEXT OPTIONS (0 = NONE) ;chs20 OPTXSW =1 ;INCLUDE /IN & /EX SWITCHES? (0 = NO) ;chs45 RTJUST =1 ;INCLUDE RIGHT-JUSTIFY COMMAND? (0 = NO) ;chs23 SKPFIX =1 ;HAVE SKIP SET $PGPSW IF PAGE DUE? (0 = NO) ;chs24 FILLHY =1 ;HYPHENATE WHEN FILL-ONLY MODE ON? (0 = NO) ;chs25 GLBLFH =1 ;ALLOW "=" FLAG TO PRECEED NON-ALPHA? (0 = NO) ;chs26 IDXTP =2 ;DO A "TP " BEFORE INDEX GRP? (0 = NO) ;chs28b NOPARM =1 ;MISSING # ARG. NOT DEFAULT TO 0? (0 = NO) ;chs29 SKPNEG =1 ;ALLOW NEG. ARG. FOR SKIP & BLANK? (0 = NO) ;chs30 PARFN =1 ;ALLOW "PARAGRAPH" IN FOOTNOTES? (0 = NO) ;chs32 FNFIX =1 ;MISC. FIXES TO FOOTNOTE PROCESSING? (0 = NO) ;chs33 DEFPTP =1 ;USE DEFAULT PARAGRAPH TEST-PAGE? (0 = NO) ;chs34a PARORD =1 ;SKIP LINES BEFORE TEST PAGE IN PARA.? (0 = NO) ;chs34b RELTAB =1 ;ALLOW RELATIVE TAB STOPS? (0 = NO) ;chs35c BIGSTD =1 ;EXPAND SCOPE OF "STANDARD"? (0 = NO) ;chs36 FIGFIX =16. ;MAX. NUMBER OF PENDING FIGURES (0 = OLD CODE) ;chs37 LSTPG =0 ;PUT BLANK PAGE AT END OF OUTPUT? (0 = NO) ;chs38 LAYOUT =1 ;INCLUDE "LAYOUT" COMMAND? (0 = NO) ;chs39 LAYSW =1&LAYOUT ;INCLUDE SWITCHES FOR "LAYOUT" PARMS? (0 = NO) ;chs39a EXTHDR =1 ;EXPAND "HEADER" COMMAND? (0 = NO) ;chs40 XHDRSW =1&EXTHDR ;INCLUDE SWITCHES FOR "HEADER" PARMS? (0 = NO) ;chs40a XSPNG =1 ;ADD CONTROL OF BLANK LINES IN INDEX? (0 = NO) ;chs41 QTCHAR =1 ;ADD "QUOTE CHARACTER" COMMAND? (0 = NO) ;chs43 EXCMNT =1 ;ADD "!" COMMENT COMMAND AND FLAG? (0 = NO) ;chs44 ALTSHF =1&ALTHDR&LAYOUT;INCLUDE ALTERNATE-PAGE SHIFT? (0 = NO) ;chs46 SBPFIX =1 ;ALLOW CONSECUTIVE SUBPAGES? (0 = NO) ;chs47 NUMFIX =1 ;HAVE "NUMBER" TAKE ACTUAL PAGE #? (0 = N0) ;chs48a NUMREL =1 ;ALLOW RELATIVE ARGUMENT TO "NUMBER"? (0 = NO) ;chs48b MULTIN =1 ;ALLOW MULTIPLE INPUT FILES? (0 = NO) ;chs49 APNDSW =1 ;ALLOW /AP ON OUTPUT FILE SPEC? (0 = NO) ;chs49a SAVPS =1&MULTIN ;SAVE /PS VALUES UNLESS SW USED? (0 = NO) ;chs49b EXTEND =1&RSX11M ;EXPAND TASK IF INDEX/FOOTNOTE OVRFLO? (0 = NO) ;chs50 EXTND2 =1&EXTEND ;EXPAND INITIALLY TO EVEN BOUNDARY? (0 = NO) ;chs50a XENTRY =1 ;INCLUDE "ENTRY" COMMAND? (0 = NO) ;chs51a SUBIDX =1&XENTRY ;INCLUDE SUBINDEXING? (0 = NO) ;chs51b ATOSBI =1&SUBIDX ;AUTOMATIC SUBINDEXING? (0 = N0) ;chs51e IDXRM =1 ;CHECK RIGHT MARGIN IN INDEX? (0 = NO) ;chs52b EXPTP =1 ;ADD ORPHAN CONTROL TO "TEST PAGE"? (0 = NO) ;chs53 NEWFTN =1 ;USE REWORKED FOOTNOTE PROCESSING? (0 = NO) ;chs54a AUTOFN =1&NEWFTN ;INCLUDE AUTOMATIC FOOTNOTE LINE? (0 = NO) ;chs54b AUTFIX =1 ;STOP DUPLICATE OUTPUT OF BLANK LINES? (0 = NO) ;chs55 PAGNAM =1 ;INCLUDE "PAGE NAME" COMMAND? (0 = NO) ;chs56 NOTEMR =1 ;ADD ARG. TO "NOTE" FOR INDENTS? (0 = NO) ;chs57a NOTETP =1 ;IN "NOTE," SKIP & THEN TEST? (0 = NO) ;chs57b PRMCHK =1 ;ADD TESTS FOR RIDICULOUS PARAMETERS? (0 = NO) ;chs58 CHSW =1 ;ADD /CH SW TO LIMIT CHAPTERS OUTPUT? (0 = NO) ;chs59 GENSEP =1 ;COMMON SYNTAX FOR COMMAND ARGUMENTS? (0 = NO) ;chs60 LITSPC =1 ;SET SPACING TO 1 DURING "LITERAL"? (0 = NO) ;chs61a LITEND =0&LITSPC ;END LIT. => BLANK LINES? (0 = NO) ;chs61a LITMRG =1 ;SET RT. MARGIN WIDE DURING "LITERAL"? (0 = NO) ;chs61b LITMSG =1&LITMRG ;WARNING FOR LONG LINES IN LITERALS? (0 = NO) ;chs61c ENDSKP =1 ;ADD ARG TO "EN" & "ELS" FOR SKIP? (0 = NO) ;chs63 IDXPUN =0 ;IGNORE SPEC. CHARS. IN INDEX ORDER? (0 = NO) ;chs65 IDXSPC =1 ;INCLUDE SPACES IN INDEX ORDERING? (0 = NO) ;chs65 CKULSW =1 ;CHECK VALIDITY OF /UL VALUE? (0 = NO) ;chs66 MARCHK =1 ;USE EXPANDED MARGIN PARM. CHECKS? (0 = NO) ;chs67 XTSTPG =1 ;CONSIDER SPACING IN "TEST PAGE"? (0 = NO) ;chs69 TSTLIN =1 ;INCLUDE "TEST LINES" COMMAND? (0 = NO) ;chs70 XPARTP =1&EXPTP ;ADD ORPHAN CONTROL TO "PARAGRAPH"? (0 = NO) ;chs71 DELOF =1&RSX11M ;DEL. OUTPUT IF 1ST INPUT SPEC BAD? (0 = NO) ;chs72 LISTCH =1 ;INCLUDE FEATURE OF UNNUMBERED LISTS? (0 = NO) ;chs73 RELHDL =1 ;ALLOW RELATIVE HEADER LEVEL? (0 = NO) ;chs74 AUTODX =1 ;INCLUDE AUTOMATIC "DO INDEX"? (0 = NO) ;chs75 JUSFIL =1 ;"JUSTIFY" ALWAYS TURN ON "FILL"? (0 = NO) ;chs76 FIRTIT =0 ;INCLUDE "FIRST TITLE"? (0 = NO) ;chs77 TXTQUE =1 ;INCLUDE TEXT QUEUE? (0 = NO) ;chs78 BLKCMD =1&TXTQUE ;INCLUDE "BLOCK"? (0 = NO) ;chs78a .IIF NZ BLKCMD, FIGFIX =0 ;PROCESS FIGURES WITH QUEUE ;chs78b DMPCMD =1&BLKCMD ;INCLUDE "DUMP"? (0 = NO) ;chs78d TXLTST =1 ;USE IMPROVED TEST FOR LONG FIGURES? (0 = NO) ;chs78e BLKSTK =0&BLKCMD ;MAKE SETOFF SETTING "STICKY"? (0 = NO) ;chs78f BLKALT =1&BLKCMD ;ALT. WHITE SPACE FOR DELAYED BLOCK? (0 = NO) ;chs78g FIGCAP =1&BLKCMD ;INCLUDE TEXT ARGUMENT ON "FIGURE"? (0 = NO) ;chs80 IDSWCH =1 ;INCLUDE /ID SWITCH? (0 = NO) ;chs81 TBLCON =3 ;NUMBER OF TABLES OF CONTENTS? (0 = NONE) ;chs82+ PINOVL =1* ;PINDX IN OVERLAY? (0 = NO) PTCOVL =1* ;PRTOC IN OVERLAY? (0 = NO) ;chs82- ATOTOC =1*TBLCON ;INCLUDE "AUTOCONTENTS"? (0 = NO) ;chs83 ATOHDR =ATOSUB+ATOTOC ;EITHER "AUTOSUB." OR "AUTOCONT." INCLUDED ;chs83 EXITST =1&RSX11M ;EXIT WITH STATUS? (0 = NO) ;chs84 HYPUNC =1 ;EXPAND PUNCT. CHARS. IN HYPHEN.MAC? (0 = NO) ;chs85 SNGLER =1 ;SKIP ONLY CURRENT COMMAND IF ERROR? (0 = NO) ;chs86 BLKAP =1 ;SAVE .AP IN FOOTNOTES & BLOCKS? (0 = NO) ;chs87 BLKTAB =1 ;ALLOW .TS IN BLOCKS & FOOTNOTES? (0 = NO) ;chs87a ENADIS =1 ;INCLUDE "ENABLE" & "DISABLE"? (0 = NO) ;chs88 ENAOUT =1&ENADIS ;INCLUDE "ENABLE OUTPUT"? (0 = NO) ;chs88b ENAIDX =1&ENADIS ;INCLUDE "ENABLE INDEX"? (0 = NO) ;chs88c ENATOC =1&ENADIS ;INCLUDE "ENABLE CONTENTS"? (0 = NO) ;chs88d HLSTYL =1 ;INCLUDE "LEVEL STYLE"? (0 = NO) ;chs91 HYLINS =1 ;LIMIT HYPHENATION OF MULTIPLE LINES? (0 = NO) ;chs92 HY2CHR =1 ;PREVENT 2-CHAR HYPHENATION BREAKS? (0 = NO) ;chs92b EOFCMD =1 ;INCLUDE "EOF"? (0 = NO) ;chs93 ; MACRO DEFINITIONS ; ; BIT TEST EQUAL AND BRANCH ; .MACRO BITEQ ARG1,ARG2,BDST BIT ARG1,ARG2 BEQ BDST .ENDM ; ; BIT TEST NOT EQUAL AND BRANCH ; .MACRO BITNE ARG1,ARG2,BDST BIT ARG1,ARG2 BNE BDST .ENDM ; ; BIT TEST EQUAL BYTE AND BRANCH ; .MACRO BITEQB ARG1,ARG2,BDST BITB ARG1,ARG2 BEQ BDST .ENDM ; ; BIT TEST NOT EQUAL BYTE AND BRANCH ; .MACRO BITNEB ARG1,ARG2,BDST BITB ARG1,ARG2 BNE BDST .ENDM ; ; COMPARE EQUAL AND BRANCH ; .MACRO CMPEQ ARG1,ARG2,BDST CMP ARG1,ARG2 BEQ BDST .ENDM ; ; COMPARE NOT EQUAL AND BRANCH ; .MACRO CMPNE ARG1,ARG2,BDST CMP ARG1,ARG2 BNE BDST .ENDM ; ; COMPARE EQUAL BYTE AND BRANCH ; .MACRO CMPEQB ARG1,ARG2,BDST CMPB ARG1,ARG2 BEQ BDST .ENDM ; ; COMPARE NOT EQUAL BYTE AND BRANCH ; .MACRO CMPNEB ARG1,ARG2,BDST CMPB ARG1,ARG2 BNE BDST .ENDM ; ; TEST EQUAL AND BRANCH ; .MACRO TSTEQ ARG1,BDST TST ARG1 BEQ BDST .ENDM ; ; TEST NOT EQUAL AND BRANCH ; .MACRO TSTNE ARG1,BDST TST ARG1 BNE BDST .ENDM ; ; TEST EQUAL BYTE AND BRANCH ; .MACRO TSTEQB ARG1,BDST TSTB ARG1 BEQ BDST .ENDM ; ; TEST NOT EQUAL BYTE AND BRANCH ; .MACRO TSTNEB ARG1,BDST TSTB ARG1 BNE BDST .ENDM .LIST