This file lists all the changes made to RUNOFF at Adept Technology. The following information is included for each change: - change number (e.g., "chs33") - assembly switch(es) associated with the change - brief description of the change - list of all source files affected by the change The following is a list of all the RUNOFF source files: RNPRE.MAC Prefix file with assembly switches & macros DATA.MAC Global data allocation & symbol definitions CMTAB.MAC Command table START.MAC Command-line parsing and file open/close COMND.MAC Command parsing ERMSG.MAC Initialization & error processing RNCMD.MAC RUNOFF commands FMTCM.MAC RUNOFF commands SETUP.MAC RUNOFF commands generally used once per document QUEUE.MAC RUNOFF commands for processing deferred output RUNOFF.MAC Main body of RUNOFF (basic text processing) RNFIO.MAC File I/O RNORSX.MAC RSX directives for files & command line INDEX.MAC Index accumulation PINDX.MAC Index output PRTOC.MAC Table of contents output HYPHEN.MAC Hyphenation Each change in the source files has ";chsnn" at the right margin to indicated which change was involved. chs99 (REQCMD) Add REQUIRE command (value of switch determines the number of levels allowed; only affects DATA.MAC) RNPRE.MAC DATA.MAC CMTAB.MAC ERMSG.MAC QUEUE.MAC RUNOFF.MAC (CHNCMD) (A) Add CHAIN to link to next input file RNPRE.MAC QUEUE.MAC (PRNTCM) (B) Add PRINT to output text string to user terminal RNPRE.MAC CMTAB.MAC SETUP.MAC chs98 (HYPARG) Add optional argument to NYPHENATION RNPRE.MAC DATA.MAC ERMSG.MAC HYPHEN.MAC chs97 (NOZERO) Suppress trailing zero on chapter & section numbers RNPRE.MAC FMTCM.MAC chs96 (BLFIX) Prevent cummulative output of blank lines RNPRE.MAC DATA.MAC FMTCM.MAC RNCMD.MAC QUEUE.MAC RUNOFF.MAC chs95 (none) Include subpage letter in index and TOC entries ERMSG.MAC RUNOFF.MAC INDEX.MAC PINDX.MAC PRTOC.MAC chs94 (none) Stopped justification of last line of paragraph when it's one character short. RUNOFF.MAC chs93 (EOFCMD) Add EOF command to force immediate end of file. RNPRE.MAC CMTAB.MAC RUNOFF.MAC chs92 (HYLINS) Don't hyphenate many lines in succession (TKB option). (none) (A) Make hyphenation threshold criterion available to TKB patching. (HY2CHR) (B) Prevent short-fragment hyphenation breaks (min. length is a TKB option). RNPRE.MAC DATA.MAC ERMSG.MAC RUNOFF.MAC HYPHEN.MAC chs91 (HLSTYL) Add LEVEL STYLE command to control format of HEADER LEVEL headings (HLSTY2) (A) Include argument for LEVEL STYLE for number of lines to skip after the header text RNPRE.MAC DATA.MAC CMTAB.MAC ERMSG.MAC FMTCM.MAC SETUP.MAC chs90 (none) Correct centering of underlined CHAPTER, APPENDIX and NOTE titles FMTCM.MAC chs89 (none) Clean up data structures for file I/O (save 256w) Add ACTFIL=3 and UNITS=4 to TKB commands RNPRE.MAC DATA.MAC RNFIO.MAC RNORSX.MAC chs88 (ENADIS) Add ENABLE and DISABLE commands with keyword "BLOCK" (ENAULN) (A) Add "UNDERLINE" keyword (ENAOUT) (B) Add "OUTPUT" keyword (ENAIDX) (C) Add "INDEX" keyword (ENATOC) (D) Add "CONTENTS" keyword (ENASPE) (E) Add "SPECIAL" keyword RNPRE.MAC DATA.MAC CMTAB.MAC ERMSG.MAC SETUP.MAC QUEUE.MAC RUNOFF.MAC RNFIO.MAC INDEX.MAC (ENARUN) (F) Add "RUNNING" keyword FMTCM.MAC PINDX.MAC chs87 (FTNAP) Save status of AUTOPARAGRAPH mode at start of footnotes & blocks; restore original status when regular text is resumed (BLKTAB) (A) Allow TAB STOPS command in blocks and footnotes. (Save stops going in; and restore coming out.) RNPRE.MAC CMTAB.MAC RUNOFF.MAC chs86 (SNGLER) Only skip to next command on command error RNPRE.MAC RUNOFF.MAC chs85 (HYPUNC) Expand list of punctuation characters known to the hyphenation routine; internal code changes to reduce size RNPRE.MAC HYPHEN.MAC chs84 (NEWERR) Rework error message handling (EXITST) Add exit status RNPRE.MAC DATA.MAC START.MAC ERMSG.MAC FMTCM.MAC RNCMD.MAC SETUP.MAC RUNOFF.MAC chs83 (ATOTOC) Add AUTOCONTENTS command RNPRE.MAC DATA.MAC CMTAB.MAC ERMSG.MAC FMTCM.MAC RNCMD.MAC INDEX.MAC chs82 (TBLCON) Add Table of Contents Store command text argument in buffer (A) Rework AUTOSUBTITLE processing (PINOVL) (PTCOVL) RNPRE.MAC DATA.MAC CMTAB.MAC ERMSG.MAC FMTCM.MAC RUNOFF.MAC INDEX.MAC PRTOC.MAC chs81 (IDSWCH) Include /ID command switch to display version ID RNPRE.MAC DATA.MAC START.MAC ERMSG.MAC RNORSX.MAC chs80 (FIGCAP) Process text argument for FIGURE command RNPRE.MAC CMTAB.MAC RNCMD.MAC QUEUE.MAC chs79 (none) Move infrequent command code to SETUP.MAC RNCMD.MAC FMTCM.MAC SETUP.MAC chs78 (TXTQUE) Add queue management for deferred input (rework FOOTNOTE processing yet again!) (BLKCMD) (A) Add BLOCK command (B) Rework FIGURE processing yet again! (C) Added test for EOF character (32) in RUNOFF at LIN+; changed internal value used for underlining ("ULCHS" changed from 32 to 34) to avoid conflict with "EOF" character (32). (DMPCMD) (D) Add DUMP command to output all pending items. (TXLTST) (E) Improve test for figure/block longer than current page length (BLKSTK) (F) Make setoff setting "sticky" throughout document [not selected; affects RNPRE, DATA, ERMSG, QUEUE] (BLKALT) (G) Add argument to BLOCK for blank lines to be output if block is postponed RNPRE.MAC DATA.MAC CMTAB.MAC START.MAC COMND.MAC ERMSG.MAC RNCMD.MAC FMTCM.MAC SETUP.MAC QUEUE.MAC RUNOFF.MAC INDEX.MAC PINDX.MAC PRTOC.MAC chs77 (FIRTIT) Fix FIRST TITLE or eliminate it from the code RNPRE.MAC DATA.MAC CMTAB.MAC ERMSG.MAC RNCMD.MAC RUNOFF.MAC chs76 (JUSFIL) Have JUSTIFY always turn on FILL RNPRE.MAC RNCMD.MAC chs75 (AUTODX) Automatically do DO INDEX at end of file if index buffer isn't empty RNPRE.MAC RUNOFF.MAC PINDX.MAC chs74 (RELHDL) Allow relative/default argument for HEADER LEVEL RNPRE.MAC DATA.MAC CMTAB.MAC ERMSG.MAC FMTCM.MAC chs73 (LISTCH) Add character parameter to LIST command (Moved test for list stack full.) RNPRE.MAC DATA.MAC FMTCM.MAC chs72 (DELOF) Delete output file if error in first input spec RNPRE.MAC DATA.MAC START.MAC chs71 (XPARTP) Add arguments to PARAGRAPH for orphan control RNPRE.MAC RNCMD.MAC RUNOFF.RNO chs70 (TSTLIN) Add TEST LINES command to act like TEST PAGE but not consider SPACING RNPRE.MAC DATA.MAC CMTAB.MAC RNCMD.MAC RUNOFF.MAC chs69 (XTSTPG) Consider the current SPACING in TEST PAGE and certain commands which use it RNPRE.MAC RNCMD.MAC FMTCM.MAC PINDX.MAC PRTOC.MAC chs68 (none) Change buffer for appendix number to byte (in anticipation of table of contents) DATA.MAC ERMSG.MAC FMTCM.MAC RUNOFF.MAC chs67 (MARCHK) Expand validity checks for margin parameters (MARCK2) (A) Check for valid indent value when setting up for new line RNPRE.MAC ERMSG.MAC RNCMD.MAC RUNOFF.MAC chs66 (CKULSW) Check validity of underline switch value RNPRE.MAC START.MAC ERMSG.MAC chs65 (IDXPUN) Ignore special characters in index ordering (IDXSPC) Include space characters in index ordering [NOTE: This change is not enabled because it is not finished.] RNPRE.MAC INDEX.MAC PINDX.MAC chs64 (none) Don't underline underbar characters in the input DATA.MAC RUNOFF.MAC chs63 (ENDSKP) Added argument to END NOTE and END LIST to specify number of lines to skip. Defaults are 2 and the number set by corresponding LIST command, respectively RNPRE.MAC DATA.MAC FMTCM.MAC chs62 (none) Changed processing of error messages to save space Changed messages to mixed case START.MAC ERMSG.MAC RUNOFF.MAC chs61 (LITSPC) (A) Save SPACING setting and temporarily set to 1 during LITERAL processing (LITMRG) (B) Temporarily set right margin very wide (132.) during LITERAL processing (LITMSG) (C) Display warning message if right margin exceeded (LITEND) (D) Output blank lines after END LITERAL (LITFF) (E) Start new page on FF character in the input file RNPRE.MAC DATA.MAC ERMSG.MAC RNCMD.MAC RUNOFF.MAC chs60 (none) Make syntax for command arguments common RNCMD.MAC FMTCM.MAC SETUP.MAC QUEUE.MAC RUNOFF.MAC chs59 (CHSW) Add /CH switch to limit range of chapters output RNPRE.MAC DATA.MAC ERMSG.MAC FMTCM.MAC RNFIO.MAC RNORSX.MAC chs58 (PRMCHK) Add tests for command parameter exceeding maximum sensible value (CENTER, RIGHT JUSTIFY, EVEN, ODD) RNPRE.MAC DATA.MAC RNCMD.MAC chs57 (NOTEMR) (A) Add argument to NOTE for amount of margin reduction (NOTETP) (B) Do TEST PAGE after skipping blank lines RNPRE.MAC DATA.MAC FMTCM.MAC chs56 (PAGNAM) Add PAGE NAME command. Reduced maximum length of title and subtitle from 132. to 80. RNPRE.MAC DATA.MAC CMTAB.MAC ERMSG.MAC RNCMD.MAC RUNOFF.MAC chs55 (AUTFIX) (A) Prevent multiple output of spacing lines in AUTOPARAGRAPH mode after PARAGRAPH command; (B) ignore multiple blank lines and FF's in AUTOPARAGRAPH mode (C) Disable AUTOPARAGRAPH's blank lines after HEADER LEVEL and NOTE RNPRE.MAC DATA.MAC RNCMD.MAC FMTCM.MAC RUNOFF.MAC chs54 (NEWFTN) (A) Rework footnote processing. Add warning message (AUTOFN) if footnote overfills page. (B) Add automatic line above footnote output (FOOTNOTE LINE command) RNPRE.MAC DATA.MAC CMTAB.MAC ERMSG.MAC RNCMD.MAC QUEUE.MAC RUNOFF.MAC chs53 (EXPTP) Add arguments to TEST PAGE for orphan control RNPRE.MAC RNCMD.MAC RUNOFF.MAC chs52 (none) (A) Correct processing of underlined index entries (IDXRM) (B) Don't exceed right margin in index RNPRE.MAC DATA.MAC RUNOFF.MAC INDEX.MAC PINDX.MAC chs51 (XENTRY) (A) Add ENTRY command (SUBIDX) (B) Include subindexing & [NO] FLAGS SUBINDEX commands (C) Don't let "entry" hang at bottom of page and put continuation line at top of page as needed (D) Correct ordering of subindex entries (ATOSBI) (E) Automatically insert entries above subindex entries RNPRE.MAC DATA.MAC CMTAB.MAC ERMSG.MAC RNCMD.MAC RUNOFF.MAC INDEX.MAC PINDX.MAC PRTOC.MAC chs50 (EXTEND) Expand task if index/footnote buffer fills Reduce task to installed size between commands (EXTND2) (A) Expand to even boundary during initialization RNPRE.MAC DATA.MAC START.MAC RUNOFF.MAC chs49 (MULTIN) Allow multiple input files. Switches on input side override those on output side (APNDSW) (A) Allow /AP switch to specify append to output (SAVPS) (B) Retain page-size values from one file to next RNPRE.MAC DATA.MAC START.MAC ERMSG.MAC RUNOFF.MAC RNORSX.MAC chs48 (NUMFIX) (A) Have NUMBER take actual new page number as (NUMREL) argument; (B) Allow relative argument for NUMBER; (C) Add to & change check for invalid NUMBER CHAPTER (BIGCHP) (D) Allow chapter numbers up to 255 (not selected) (none) (E) Modify processing of page numbering by CH, AX & DX RNPRE.MAC CMTAB.MAC RNCMD.MAC FMTCM.MAC RUNOFF.MAC INDEX.MAC chs47 (SBPFIX) Permit multiple consecutive subpages RNPRE.MAC CMTAB.MAC ERMSG.MAC FMTCM.MAC RUNOFF.MAC PINDX.MAC PRTOC.MAC chs46 (ALTSHF) Replace ALTERNATING HEADER function with ALTERNATE. RNPRE.MAC DATA.MAC CMTAB.MAC ERMSG.MAC SETUP.MAC RUNOFF.MAC chs45 (OPTXSW) Add /IN and /EX command-line switches (permit up to five values each) RNPRE.MAC DATA.MAC START.MAC ERMSG.MAC FMTCM.MAC RNORSX.MAC chs44 (EXCMNT) Add ! as comment command and flag RNPRE.MAC DATA.MAC COMND.MAC RNCMD.MAC FMTCM.MAC RUNOFF.MAC chs43 (QTCHAR) Add QUOTE CHARACTER command RNPRE.MAC DATA.MAC CMTAB.MAC ERMSG.MAC RNCMD.MAC RUNOFF.MAC chs42 (none) Add "BAD PARAMETER..." error message RNPRE.MAC COMND.MAC ERMSG.MAC FMTCM.MAC SETUP.MAC RUNOFF.MAC chs41 (XSPNG) Add control of group spacing in index RNPRE.MAC PINDX.MAC chs40 (EXTHDR) Extend HEADER to include length and margins (XHDRSW) Add /HL switch for "header length" RNPRE.MAC DATA.MAC CMTAB.MAC START.MAC ERMSG.MAC RNCMD.MAC FMTCM.MAC SETUP.MAC RUNOFF.MAC RNORSX.MAC PINDX.MAC PRTOC.MAC chs39 (PFCMD) Add PAGE FORMAT command to set top margin, page length, base left margin, and default right margin (PFSW) (A) Add /DO, /LO, /LE, /WI switches for DOwn, LOng, LEft, and WIdth, respectively RNPRE.MAC DATA.MAC CMTAB.MAC START.MAC ERMSG.MAC RNCMD.MAC FMTCM.MAC SETUP.MAC RUNOFF.MAC RNORSX.MAC PINDX.MAC PRTOC.MAC chs38 (LSTPG) Don't output blank page at end of output RNPRE.MAC START.MAC DATA.MAC ERMSG.MAC RUNOFF.MAC chs37 (FIGFIX) Hold FIGURE request(s) pending if not enough room on the current page. RNPRE.MAC DATA.MAC ERMSG.MAC RNCMD.MAC FMTCM.MAC QUEUE.MAC RUNOFF.MAC PINDX.MAC PRTOC.MAC chs36 (BIGSTD) Expand scope of "STANDARD" RNPRE.MAC ERMSG.MAC RNCMD.MAC SETUP.MAC chs35 (A) Fix SET TABS to allow maximum number of settings (B) Add check for values in ascending order (RELTAB) (C) Let values be relative (STDTAB) (D) Set standard tabs if no arguments to SET TABS RNPRE.MAC DATA.MAC CMTAB.MAC ERMSG.MAC RNCMD.MAC RUNOFF.MAC chs34 (DEFPTP) (A) Use previous PARAGRAPH test-page value as default (PARORD) (B) Skip lines before test page RNPRE.MAC RNCMD.MAC chs33 (FNFIX) Misc. fixes to FOOTNOTE processing RNPRE.MAC COMND.MAC RNCMD.MAC QUEUE.MAC chs32 (PARFN) Allow PARAGRAPH in footnotes RNPRE.MAC CMTAB.MAC RNCMD.MAC RUNOFF.MAC chs31 (none) Add NOTF (A) and FOTF (B) flags to several command entries CMTAB.MAC chs30 (SKPNEG) Allow negative arguments to SKIP and BLANK to mean move down to that many lines from bottom of page RNPRE.MAC RNCMD.MAC chs29 (NOPARM) Distinguish between no numeric argument provided (use default) and zero value provided RNPRE.MAC RUNOFF.MAC chs28 (none) (A) Fix output of index so blank line between letter groups never output at top of new page (IDXTP) (B) Do a "TEST PAGE " before each letter group RNPRE.MAC PINDX.MAC chs27 (none) Changes to LIST commands: (A) save vert. spacing & test page count when nested list starts/ends; (B) do test page after skipping lines; (none) (D) change default test-page count from 2 to 1; (E) fix indent of 1st line when text starts on separate line; (F) outdent list element number extra space if number greater than 9 DATA.MAC FMTCM.MAC chs26 (GLBLFH) Process hyphenation flag even when next character is not alphabetic RNPRE.MAC RUNOFF.MAC chs25 (FILLHY) Allow hyphenation when fill-only is in effect RNPRE.MAC RUNOFF.MAC chs24 (SKPFIX) Have internal line-skip routine just set page-pending flag instead of actually starting a new page RNPRE.MAC CMTAB.MAC RNCMD.MAC RUNOFF.MAC PINDX.MAC PRTOC.MAC chs23 (RTJUST) Include RIGHT JUSTIFY command RNPRE.MAC CMTAB.MAC ERMSG.MAC RNCMD.MAC RUNOFF.MAC chs22 (none) Make multi-part errors output on one line ERMSG.MAC FMTCM.MAC RUNOFF.MAC chs21 (none) Fixes to index creation. (A, B, C) (D) Ignore repeat entry on same page INDEX.MAC PINDX.MAC chs20 (OPTTXT) Include optional-text commands (value of OPTTXT determines maximum number of options) RNPRE.MAC DATA.MAC CMTAB.MAC START.MAC COMND.MAC ERMSG.MAC FMTCM.MAC RUNOFF.MAC chs19 (ATOSUB) Include AUTOSUBTITLE command RNPRE.MAC DATA.MAC CMTAB.MAC ERMSG.MAC RNCMD.MAC FMTCM.MAC chs18 (EXSTHY) Hyphenate at existing hyphens (none) (A) Prevent hyphenation of words containing underlining RNPRE.MAC RUNOFF.MAC HYPHEN.MAC chs17 (none) Skip white space in commands CMTAB.MAC COMND.MAC chs16 (none) Use symbols instead of constants in various places DATA.MAC ERMSG.MAC RNCMD.MAC FMTCM.MAC SETUP.MAC RUNOFF.MAC PINDX.MAC PRTOC.MAC chs15 (HLSKP) (A) Skip HEADER LEVEL blank lines immediately after CHAPTER, APPENDIX, or start of a new page; (B) minor change to label for levels 3 and higher RNPRE.MAC FMTCM.MAC chs14 (ALTTIT) Add ALTERNATING TITLE function RNPRE.MAC DATA.MAC CMTAB.MAC SETUP.MAC RUNOFF.MAC chs13 (none) Add NO FLAGS and NOFLAGS to command table CMTAB.MAC chs12 (EVNODD) Add EVEN and ODD commands RNPRE.MAC CMTAB.MAC RNCMD.MAC chs11 (none) Add "BLANK" HEADER option SETUP.MAC RUNOFF.MAC chs10 (none) Default to "MIXED" HEADER (initial & command) ERMSG.MAC SETUP.MAC chs09 (PRFHYP) Add preferred-hyphen feature. RNPRE.MAC RUNOFF.MAC HYPHEN.MAC chs08 (SEMISS) Single space after semicolon. RNPRE.MAC RUNOFF.MAC chs07 (PDPAR) Check for double space after . RNPRE.MAC DATA.MAC RUNOFF.MAC chs06 (QTSPSP) Treat "# " same as " #". RNPRE.MAC RUNOFF.MAC chs05 (none) Make PAGE SIZE defaults available to task build. DATA.MAC START.MAC ERMSG.MAC SETUP.CMD chs04 (ALTHDR) Add ALTERNATING HEADER function. RNPRE.MAC DATA.MAC CMTAB.MAC SETUP.MAC RUNOFF.MAC RNORSX.MAC chs03 (BLSW) Allow chapter header format to be command switch. RNPRE.MAC DATA.MAC ERMSG.MAC FMTCM.MAC SETUP.MAC RNORSX.MAC PINDX.MAC PRTOC.MAC chs02 (HPRMRG) Align page header with permanent right margin. RNPRE.MAC RUNOFF.MAC chs01 (BMPHDR) Start page header on line 1 instead of line 2. RNPRE.MAC RUNOFF.MAC