Trailing-Edge
-
PDP-10 Archives
-
decuslib10-06
-
43,50374/sos.b03
There are no other files named sos.b03 in the archive.
00100 TITLE SOS - SON OF STOPGAP %23(220)
00150 SUBTTL WM.FRANKLIN/WJF 27-JAN-76
00200
00300 ;*** COPYRIGHT 1973,1974 DIGITAL EQUIPMENT CORP., MAYNARD, MASS. ***
00310
00320 ;*** MODIFICATIONS COPYRIGHT (C) 1975,1976, THE BROOKINGS INSTITUTION, WASHINGTON, D.C.
00400
00500 SUBTTL DEFINITIONS
00600
00700 WHOSOS==0 ;LAST EDITED BY TAH
00800 VERSOS==23
00900 PATSOS==0 ;PATCH LEVEL
01000 MODSOS==220 ;EDIT LEVEL
01001
01002 SSCCVERSION==3 ;CURRENT SOS VERSION
01003 SSCCSWITCH==74 ;HIGHEST SSCC SWITCH
01004
01005 ; ASSEMBLY PARAMETERES
01006
01007 JUSTSW==0 ;NO JUSTIFY
01008 CRYPSW==1 ;FOR ENCRYPTION
01009 SRNUM==^D10 ;NUMBER OF PARALLEL SEARCH STRINGS
01010 PPNTSW==0 ;NO PRETTY PRINTING
01011 EXTEND==0 ;NO CONTEXT LINE SEARCH - SEE %SS055
01012
01013 %SS001==1 ;ADD "B" & "BP" COMMANDS
01014 ; %SS002-%SS004 OBSOLETE
01015 %SS005==1 ;IMPROVEMENTS TO ALTER COMMAND
01016 %SS006==1 ;IMPROVEMENTS TO FILE HANDLING
01017 IFNDEF FTIMPCPY, <FTIMPCPY==1>;"IMPLIED COPY FEATURE" PRESENT
01018 ; %SS007 OBSOLETE
01019 %SS010==1 ;ONLY APPLY LOWER/UPPER SWITCH TO _C128 CHARS
01020 ; %SS011 OBSOLETE
01021 %SS012==1 ;IMPROVEMENTS TO @-FILE HANDLING
01022 ; %SS013 OBSOLETE
01023 %SS014==1 ;IMPROVEMENTS TO RANGE & LINE SYNTAX (./. DEFAULT)
01024 ; %SS015-%SS016 OBSOLETE
01025 %SS017==1 ;REMEMBER TEMP INCR FOLLOWING I & R CMDS
01026 %SS020==1 ;PRINT LINES DELETED MESSAGE FOR T CMD; BEFORE
01027 ; INSERTING FOR R CMD
01028 %SS021==1 ;SUPPRESS <HT> WHEN TYPING A NULL LINE
01029 %SS022==0 ;MAKE 'Q' EQUIVALENT TO 'EQ' (NOT IMPLEMENTED)
01030 %SS023==1 ;ON ENTRY, DON'T TYPE THE FILE SPEC IF TYPED
01031 ;BY THE USER IN RESPONSE TO "FILE: "
01032 %SS024==1 ;TYPE A SHORTER 'SAVING' MESSAGE IF EXPERT
01033 %SS025==1 ;MAKE THE _C128 CHARACTER BE A PARAMETER
01034 IFNDEF DFC128,<DFC128=="?"> ;DEFAULT _C128 CHAR IS "?"
01035 %SS026==1 ;FOR N, IF START OF RANGE IS NOT THE
01036 ; START OF THE PAGE AND NOT STARTING LINE #
01037 ; IS GIVEN, MAKE START OF RANGE BE STARTING LINE #
01038 %SS027==1 ;USE 'INCR' AS DEFAULT INCREMENT ALWAYS, USE
01039 ; 'START' AS DEFAULT STARTING LINE # (NEW PAGE)
01040 %SS030==1 ;DEFAULT 'COPY-FROM-FILE' FILE SPEC TO BE
01041 ; THE PREVIOUS COPY FILE SPEC
01042 %SS031==1 ;IMPROVEMENTS IN T & C COMMAND
01043 %SS032==1 ;FOR SUCCESSIVE "P<CR>" CMDS, DON'T RETYPE
01044 ; CURRENT LINE
01045 %SS033==1 ;MAKE "." COMMAND MORE FLEXIBLE
01046 %SS034==1 ;MAKE 'W' IN @-FILE MODE WORK
01047 %SS035==1 ;PERFORMANCE IMPROVEMENTS
01048 %SS036==1 ;ADD 'CREATE' FEATURE
01049 %SS037==1 ;"DECIDE" OPTION IMPROVEMENTS - CONFIRMATION MSG
01050 %SS040==1 ;"EXACT" OPTION FOR A & X COMMANDS
01051 %SS041==1 ;"/DECIDE" SWITCH IMPROVEMENTS
01052 %SS042==1 ;COMMAND MODIFIERS IN ANY ORDER - P,F,A,S,X,LINE SEARCH
01053 %SS043==1 ;IMPROVEMENTS TO F,S,LINE SEARCH DEFAULT RANGE & COUNT
01054 IFNDEF DEFCRL, <DEFCRL==1> ;RANGE DEFAULTS TO CURRENT LINE WHEN STRING GIVEN
01055 %SS044==1 ;ADDITIONAL PATTERN MATCHING FUNCTIONS
01056 %SS045==1 ; ";" COMMENT LINE AS SOS COMMAND
01057 %SS046==1 ;"EX", "ET", "EN" EXIT OPTIONS, /TEXT SWITCH
01058 %SS047==1 ;BASIC LANGUAGE SUPPORT
01059 %SS050==1 ;ADD /CORE SWITCH, TO SPECIFY IN-CORE BUFFER SIZE
01060 IFNDEF DEFCOR, <DEFCOR==3*^D1024/2> ;DEFAULT BUFFER SIZE IS 1.5K
01061 %SS051==1 ;^C TRAP IMPROVEMENTS
01062 %SS052==1 ;COMPRESSED-FILE OPTION
01063 IFNDEF DEFBLK, <DEFBLK==0> ;DEFAULT: 0=LINE BLOCK, -1=COMPRESS
01064 %SS053==1 ;CONSISTENT RANGE DEF'N FOR D,R,T,C,K
01065 %SS054==1 ;CANNOT INSERT LINE #0
01066 %SS055==1 ;EXTENDED FIND(F) FUNCTIONS
01067 %SS056==1 ;COMMON ROUTINES FOR SPACE-SAVING
01068 %SS057==1 ;STANFORD CASE-INVERSION COMMANDS
01069 %SS060==1 ;"?\" AS <RUBOUT> C128 TYPE-IN CHARS
01070 %SS061==1 ;SET TEMPORARY "DSKFUL PAUSE" IN LIEU OF QUOTA CHECKING
01071 %SS062==1 ;CONFIMATION ON "ED" EXIT
01072 %SS063==1 ;MAKE "P ,S" WORK WHEN /NONUMBER SET
01073 %SS064==1 ;BETTER P/M HANDLING FOR TECO FILES
01074 %SS065==1 ;FORCE /UPPER IF "TTY LC" SET BUT NOT "M37"
01075 %SS066==1 ;U OF I-TYPE SAIL INTERFACE
01076 IFN %SS066, <CCLSW==1> ;SAIL NEEDS CCL SUPPORT
01077 %SS067==1 ;ASSEMBLY SWITCH FOR DEFAULT /BAK SETTING
01078 IFNDEF DEFBAK, <DEFBAK==-1> ;-1=/BAK, 0=/NOBAK, +1=/OLD
01079 %SS070==1 ;"FIND NOT" FACILITY
01080 %SS071==%SS006 ;SET .RBEST TO OPTIMIZE FILE ALLOCATION
01081 %SS072==1 ;SYMBOLIC RANGE DEFINITIONS ("BF"/"EF")
01082 %SS073==1 ;"=COLUMN" TO PRINT COLUMN MASK
01083 %SS074==1 ;"ILLEGAL WHEN READONLY" ERROR
01100
01200 ; EDITOR FOR THE DISK -- WORKS BY RECOPYING FILES USED
01300
01400 MLON ;MULTI-LINE THINGIES
01500 SALL ;SUPPRESS MACRO XPANSIONS
01600 ;;;; .HWFRMT ;READABLE LISTING ;** FIX **
01700
01800 IFNDEF LSTSW,<LSTSW==1 ;FOR L COMMAND>
01900 IFNDEF JUSTSW,<JUSTSW==0 ;FOR TEXT JUSTIFICATION>
02000 IFNDEF RENTSW,<RENTSW==1 ;FOR RE-ENTRANT VERSION>
02100 IFNDEF CCLSW,<CCLSW==1 ;FOR CCL FEATURES>
02200 IFNDEF TEMPC,<TEMPC==1 ;FOR TEMPCORE FEATURE>
02300 IFNDEF CRYPSW,<CRYPSW==0 ;FOR ENCRYPTED FILES>
02400 IFNDEF EXTEND,<EXTEND==1 ;FOR EXTENDED FEATURES>
02500 IFNDEF PPNTSW,<PPNTSW==0 ;FOR PRETTY PRINT FEATURES>
02600
02700 IFN RENTSW,< TWOSEG
02800 RELOC 400000 >
02900
03000 INTERN .JBVER
03100 .JBVER==137
03200 LOC .JBVER
03300 BYTE (3)WHOSOS (9)VERSOS (6)PATSOS (18)MODSOS
03400 RELOC
03500
03600 OPDEF OCRLF [OUTSTR [BYTE (7)15,12]]
03700 OPDEF ONECHO [SETSTS TTY,1]
03800 OPDEF OFFECHO [SETSTS TTY,201]
03900
04000 ;I/O CHANNELS
04100
04200 TTY==1 ;CHL FOR TTY
04300 IN==2
04400 OUT==3
04500 LPT==4
04600 ALTDV==5 ;THE OTHER INPUT DEVICE (COPY AND TRANSFER)
04700 IND==6 ;INDIRECT CHL FOR "@" CMD
04800 OPT==7 ;CHL FOR OPTION FILE
04900
05000 ;ACS USED
05100
05200 JF=0 ;TEMP FLAGS FOR JUSTIFY & PRETTY PRINT
05300 T1=1 ;TEMP REGISTERS
05400 T2=2
05500 T3=3
05600 T4=4
05700 T5=5
05800
05900 FL=10 ;FLAG REGISTER
06000 FL2=11
06100 ALTP=12 ;POINTER FOR ALTER MODE
06200 CS=13 ;CHARACTER TABLE BITS
06300 SINDEX=14 ;LINE TO FIND, USED ALSO BY THE VARIOUS ROUTINES
06400 PNTR=15 ;POINTS AT CURRENT PLACE IN BUFFER
06500 C=16 ;CHARACTER RETURNED HERE BY GNCH
06600 P=17 ;PUSHDOWN LIST
06700
06800 ;FLAGS (RIGHT HALF)
06900
07000 BOF==1 ;NOW ON FIRST RECORD OF FILE
07100 EOF==2 ;HAVE READ END OF FILE BUT NOT NECESSARILY BUT IN BUFFER
07200 EOF2==4 ;LAST WORD OF FILE IS IN CURRENT BUFFER
07300 ADDL==10 ;USED IN COMMAND SCANNING--LINE NUMBER + INC
07400 SUBL==20 ;LINE NUMBER - INC
07500 IDF==40 ;SCAN HAS SEEN AN IDENTIFIER
07600 NUMF==100 ;SCAN HAS SEEN A NUMBER
07700 TERMF==200 ;SCAN SAW A TERMINATOR (LF OR ALTMODE)
07800 LINSN==400 ;THE COMMAND INPUT ROUTINES SAW A LINE NUMBER
07900 PGSN==1000 ;THEY SAW A PAGE NUMBER
08000 NEWFL==2000 ;NEW FILE NAME SEEN BY END CODE
08100 ORDF==4000 ;LINES OUT OF ORDER (USED BY NUMBER)
08200 BGSN==10000 ;BIGGEST PAGE HAS BEEN SEEN
08300 M37F==20000 ;THIS IS A MODEL 37
08400 CNTF==40000 ;COMMAND USING !
08500 DPYF==100000 ;THIS IS A DISPLAY
08600 READOF==200000 ;THIS FILE IS BEING USED IN READ ONLY MODE
08700 EXTOG==400000 ;ON FOR SHORT ERROR MESSAGES
08800
08900 ;SPECIAL FLAGS FOR PARSE CODE
09000
09100 F.LAHD==1 ;LOOK-AHEAD FLAG
09200 F.PER==2 ;PERIOD SEEN
09300 F.SLSH==4 ;SLASH SEEN
09400 F.CDSN==10 ;CODE SEEN
09500 F.PPN==20 ;PPN SEEN
09600 F.COLN==400 ;COLON SEEN
09700 F.EQL==1000 ;EQUAL SIGN SEEN
09800 F.ANY==2000 ;ANY ATOM SEEN BEFORE EOL
09810 IFN %SS006, <
09820 F.PROT==4000 ;PROTECTION SEEN
09830 >; END OF IFN %SS006
09900
10000 P.FLGS==F.LAHD!F.PER!F.SLSH!F.CDSN!F.PPN!F.COLN!F.EQL!F.ANY!IFN %SS006,<F.PROT>
10100
10200 IFNDEF CODMAX, <CODMAX==^D20> ;MAX CHARS IN CODE
10300 IFNDEF SFDLVL, <SFDLVL==6> ;MAX SFD LVL
10400
10500 D==PNTR
10600 S1==PNTR ;SPECIAL ACS
10700 S2==SINDEX