{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: EDIT867)}}
====== EDIT867 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:ALTLEND|ALTLEND]], [[george:macro:BACKSPACE|BACKSPACE]], [[george:macro:BS|BS]], [[george:macro:BXU|BXU]], [[george:macro:CLOSE|CLOSE]], [[george:macro:CLOSEABANDON|CLOSEABANDON]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:COMBRKIN|COMBRKIN]], [[george:macro:COMERR|COMERR]], [[george:macro:CREATEB|CREATEB]], [[george:macro:DOWN|DOWN]], [[george:macro:EDCOMERR|EDCOMERR]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:FILEMOVE|FILEMOVE]], [[george:macro:FIXTRA|FIXTRA]], [[george:macro:FNORM|FNORM]], [[george:macro:FREECORE|FREECORE]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUT|MONOUT]], [[george:macro:NAME|NAME]], [[george:macro:NAMETOP|NAMETOP]], [[george:macro:OPENDIR|OPENDIR]], [[george:macro:OUTMON|OUTMON]], [[george:macro:OUTPAR|OUTPAR]], [[george:macro:PARABEG|PARABEG]], [[george:macro:PARAPASS|PARAPASS]], [[george:macro:PARUNACC|PARUNACC]], [[george:macro:PHOTO|PHOTO]], [[george:macro:READY|READY]], [[george:macro:REPALLER|REPALLER]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETMODE|SETMODE]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETREP|SETREP]], [[george:macro:STEP|STEP]], [[george:macro:TESTMOVE|TESTMOVE]], [[george:macro:TESTMULT|TESTMULT]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:TESTRPN2|TESTRPN2]], [[george:macro:TRAPADD|TRAPADD]], [[george:macro:TREP|TREP]], [[george:macro:UNNORM|UNNORM]], [[george:macro:USEROPEN|USEROPEN]], [[george:macro:USEROPEX|USEROPEX]], [[george:macro:VFREE|VFREE]], [[george:macro:WHATBACK|WHATBACK]], [[george:macro:WIND|WIND]]
22FL #LIS K0EDIT>K0ALLGEO>0
22K9 ... SEG EDIT,867,COMM,,G505,G571
22NS ...[
22SC ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
22Y2 ...[ THIS EXCLUDES CODE UNDER #SKI G505
233K ...[ AND UNDER #SKI G571
2378 ...[
23=R ...#OPT G505 = 0
23BB ...#SKI G505&1
23F^ ...# WITH UGUG EDIT M505 (3-SHIFT FOR ONLINE PROGRAMS AND EDITOR)
23KJ ...#OPT G571 = 0
23P7 ...#SKI G571&1
23SQ ...# WITH UGUG EDIT M571 (IMPROVED EDIT AMORPHOUS FILE)
23YG #
24D6 # THIS SEGMENT OPENS THE FILES FOR THE EDIT COMMAND. IT IS ENTERED
24XQ # FROM THE COMMAND PROCESSOR AT K1EDIT AND IF ALL IS WELL IT EXISTS
25CB # TO K1EDITOR. DESCRIPTION IS IN THE USER SPECIFICATION.
25X2 #
26BL SEGENTRY K1EDIT,N1EDIT [MODULAR ENTRY POINT FOR 'EDIT'
26W= SEGENTRY K2EDIT,N2EDIT [ENTRY POINT FOR 'GEDIT'
27*W #
27TG READY 15HEDITOR IS READY [HI
282N MANAGER 12HMANAGER
287W UBTEST 12HBTEST
28*6 #
28SQ N2EDIT ['GEDIT'
29#B #
29S2 # PARAMETERS AS FOR KIEDIT - PLUS
2=?L # PARAMETER FOUR =ONLY INSERTING DEVELOPMENT CODE (MUST BE "D")
2=R= #
2?=W LDCT 0 #001
2?QG ORS 0 EXT+11(2) [SET 'GEDIT' MARKER
2#=6 BRN PAR1
2#PQ #
2*9B N1EDIT [ENTRY POINT FROM COMMAND PROCESSOR
2*P2 #
2B8L # PARAMETER ONE =OLDFILE NAME
2BN= # PARAMETER TWO =NEWFILE NAME
2C7W # PARAMETER THREE =EDITFILE NAME
2CMG #
2D76 [
2DLQ [ ****** PARAMETER ONE ******
2F6B [
2FL2 LDCT 0 #001
2G5L ORS 0 EXT+11(2)
2GK= ERS 0 EXT+11(2) [UNSET 'GEDIT' MARKER
2H4W PAR1
2HJG CALL 6 PARA [READ FIRST PARAMETER OF EDIT AND
2J46 BPZ 7 XER7 [IF NULL GIVE COMMAND ERROR
2JHQ CALL 6 RNAME [CONVERT INTO FILE/FABSNB
2K3B TESTREP2 NAMEFORM,XER3 [J IF CONVERSION FAILED
2KH2 [OPEN OLD FILE AND LEAVE FILE/ENT
2L2L USEROPEN XER6,READ,LEAVE,NOERREP[DON'T REPORT ERRORS
2LG= TESTRPN2 OK,XRE3 [J IF OPEN FAILED
2L^W CALL 5 TESTMULT [HUNT FILE/ENT AND TEST
2MFG BRN XRE2 [MULTI-FILES - J IF SO
2M^6 LDX 5 ETM(3) [TYPE/MODE
2NDQ LDX 1 EUSE1(3) [TERMINAL?
2NYB LDX 0 EINF1(3) [SERIAL?
2PD2 BNZ 1 XER8 [J IF NOT TERMINAL
2PXL BPZ 0 XER8 [J IF NOT SERIAL
2QC= SLC 5 8 [TEST FOR TP TYPE(O/S)
2QWW BNG 5 XER8 [J IF SO : NOT ALLOWED
2RBG SRC 5 8
2RW6 FREECORE 3 [FREE FILE/ENT
2S*Q VFREE CPB,CUNI
2STB CREATEB 3 [GET FILE/CREATE
2T*2 LDCT 6 #400
2W#= STO 6 CEINF1(3) [SERIAL FILE
2WRW STO 5 CETM(3) [TYPE/NODE
2W^4 #UNS FTS1
2X6= #SKI
2X?G STO 6 CEINF2(3) [TO BE DUMPED
2XDN ...#SKI G571&1$1
2XKW ...(
2XR6 BNG 5 R0 [J IF NOT AMORPHOUS
2Y=Q EDCOMERR AFNA ["AMORPHOUS O/F NOT ALLOWED"
2YQB BRN XER2
2^28 ...)
2^=2 R0 STO 5 AWORK1(2) [STORE SIMPLIFIED TYPE
2^PL LDN 3 #3720 [MAX. NO. CHARS ALLOWED
329= LDX 7 AZVOLUME [DEFAULT O/P LIMIT
32NW STO 3 AWORK2(2) [AND STORE
338G STO 7 AWORK3(2) [DEFAULT RECORD LIMIT OF FILE
33N6 STO 3 AWORK4(2) [PRECAUTION IN CASE NO ADJUNCTS
347Q WHATBACK [GET BSTS/FULLB
349# #
34=W #
34#D STEP [READ OLD FILE
34B2 BNZ 3 RAZ [J IF NOT EMPTY
34CJ EDCOMERR IPMT ['INPUT FILE EMPTY
34F6 EDCOMERR EDAB ['EDIT ABANDONED'
34GN BRN XER2
34J= RAZ
34KS BACKSPACE [AS YOU WERE
34MB [
3572 [ ****** PARAMETER TWO ******
35LL [
366= CALL 6 PARA [READ SECOND PARAMETER OF EDIT
36KW BPZ 7 NFRIG [J IF NULL TO FRIG NAME
375G VFREE FILE,FABSNB [REMOVE OLD FILE/FABSNB
37=N #UNS FTS1
37CW VFREE FILE,ADJUNCTS [OLDFILE'S
37K6 PHOTO 6 [SNAP
384Q NAMETOP 3,FILE,FNAME [PERFORM CONVERSION OF SECOND
38JB FNORM 3 [PARAMETER (MAY HAVE ADJUNCTS)
3942 TESTREP2 NAMEFORM,XER2 [J IF CONVERSION FAILED
39HL TESTMOVE 6,T1 [J IF NOTHING HAS MOVED
3=3= MHUNT 3,FILE,FNAME [FIND NAME BLOCK AGAIN
3=GW T1 NAMETOP 3,CPB,CUNI [RENAME IN CASE OF ERROR IN OPEN
3?2G SETMODE 7,GENERAL,EMPTY,CREATE,LEAVE,NOERREP [DEFAULT OPEN MODES
3?G6 TESTRPN2 ADJUNCTS,T6 [J IF NO ADJUNCTS
3?^Q MHUNTW 3,FILE,ADJUNCTS [ELSE FIND BLOCK
3#33 ...#SKI G571&1
3#4# ...(
3#5K ... LDX 0 AWORK1(2)
3#6W ... BNZ 0 T1X [ NORMAL PATH UNLESS AMORPHOUS
3#87 ... LDX 6 A1+2(3)
3#9D ... BZE 6 T1X [ NO NEW TYPE SPECIFIED
3#=P ... MHUNTW 1,FILE,CREATE
3##2 ... STO 6 CETM(1) [ SET FOR FILE CREATION
3#*? ... DEX 6 AWORK1(2) [ B0 ZERO IF O/F AMORPHOUS
3#BJ ...T1X
3#CT ...)
3#FB LDCT 1 #400 [AND PICK UP
3#^2 ORS 3 1 [THE MAIN MODES
3*DL LDCH 5 A1+1(1) [BITS
3*Y= ANDN 5 #30 [TEST FOR APPEND
3BCW ERN 5 #30 [MODE
3BXG STO 5 AWRK4(2) [REMEMBER THEN
3CC6 BNZ 5 T2 [J IF NO APPEND
3CWQ SETMODE 7,APPEND,EMPTY,CREATE,LEAVE,NOERREP [APPEND OPEN MODES
3DBB T2 LDX 5 ALOGLEN(3) [GET LENGTH OF EXTENSION
3DW2 LDN 1 ADPAIR(3) [AND SET UP LOOP INDEX
3F*L SBN 5 ADPAIR-A1
3FT= SRL 5 1
3FYB #UNS FTS1
3G3G BZE 5 T6
3G6L #UNS FTS1
3G9Q #SKI
3G#W BZE 5 T5 [J NO QUALIFIER
3GSG T3 LDX 6 0(1) [GO DOWN THE ADJUNCTS
3H#6 ERN 6 #22 [BLOCK LOOKING FOR LIMIT QUALIFIER
3HRQ BZE 6 T4 [J IF FOUND
3J?B BDX 1 £
3JR2 BCT 5 T3
3K=L BRN T6 [J NO LIMIT
3KQ= T4 LDX 6 1(1) [GET LIMIT IN BINARY
3L9W SBN 6 1 [CONVERT TO EDITOR'S COUNTING
3LPG STO 6 AWORK3(2) [STORE LIMIT
3LWN #UNS FTS1
3M3W #SKI
3M96 T5 FREECORE 3 [FREE FILE/ADJUNCTS BLOCK
3MNQ T6 USEROPEX XER5,7 [OPEN
3MTY #UNS FTS1
3N36 VFREE FILE,ADJUNCTS
3N8B TESTRPN2 OK,XRE2 [J IF OPEN FAILED
3N8F P1
3N8J CALL 5 TESTMULT [J IF MULTI-FILE
3N8Q BRN XRE1
3N92 #SKI JDIAG1
3N9L (
3N9N LDCT 4 #001
3N9Q ANDX 4 EXT+11(2)
3N9S BZE 4 NOG [J IF NOT GEDIT
3N9W MHUNT 3,FILE,FABSNB [NEWFILE'S
3N9Y LDX 7 ATYPE(3)
3N=2 ANDN 7 #200
3N=4 BNZ 7 NOG [J IF WORKFILE - NO CAN DO
3N== OPENDIR XER4,GENERAL,CAREFUL [NEEDS FILE/FABSNB OF NF
3N=W VFREE FILE,ENT [FREE DIRECTORY'S FILE/ENT
3N?G SETNCORE 5,3,FILE,FTRAP
3N#6 LDN 4 5 [RECORD HEADER
3N#Q STO 4 ETRAPRH(3)
3N*B LDN 5 MANAGER(1)
3NB2 LDN 6 ETRUSER1(3)
3NBL MOVE 5 3
3NC= LDCT 5 #400 [GROUP TRAP
3NCW ADN 5 #2 [READ TRAP
3NDG STO 5 ETRAPMODES(3) ['TG :MANAGER,GROUP,READ'
3NF6 SETNCORE 5,3,FILE,FAPB [RENAMED FILE/FTRAP
3NFQ STO 4 ETRAPRH(3) [RECORD HEADER
3NGB LDN 5 UBTEST(1)
3NH2 LDN 6 ETRUSER1(3)
3NHL MOVE 5 3
3NJ= LDN 5 #20 [ERASE TRAP
3NJW STO 5 ETRAPMODES(3) ['TG BTEST,ERASE'
3NKG TRAPADD [SET THE TRAPS
3NL6 CLOSETOP [CLOSE THE DIRECTORY
3NLQ )
3P6B NOG MHUNTW 3,FILE,ENT [NEWFILE'S
3PM= LDX 5 AWORK4(2) [APPENDING?
3Q6W LDX 6 AWORK1(2) [O/F BASIC FILE TYPE
3QLG BNZ 5 P0 [J IF NO APPEND
3QNP ...#SKI G571&1
3QQY ...(
3QT7 ... ORX 6 BITS22LS [ GET NEWFILE TYPE WITH
3QXB ... ANDX 6 ETM(3) [ SAME B0 AS AWORK1
3Q^K ...)
3R3S ...#SKI G571&1$1
3R66 LDX 6 ETM(3) [FILE TYPE OF APPENDED NEWFILE
3RKQ P0 FREECORE 3
3S5B VFREE CPB,CUNI [FREE PARAMETER BLOCK
3SK2 VFREE FILE,FABSNB [REMOVE NEW FILE/FABSNB
3T4L BXU 6 AWORK1(2),TYPDF [ERROR IF NOT SAME TYPE AS O/F
3TJ= LDX 5 AWRK4(2)
3W3W BNZ 5 S7 [J IF NOT APPEND
3WHG WIND [WIND FILE UP TO END
3X36 [
3XGQ [ ****** PARAMETER THREE ******
3Y2B [
3YG2 S7 CALL 6 PARA [READ THIRD PARAMETER OF EDIT
3Y^L LDCT 5 #400 [SET ONLINE SWITCH THE IF THIRD
3^F= BPZ 7 P5 [PARAMETER NULL J FOR ONLINE
3^YW CALL 6 RNAME [CONVERT INTO FILE/FABSNB
42DG TESTREP2 NAMEFORM,XER1 [J IF CONVERSION FAILED
42Y6 USEROPEN XER4,READ,LEAVE,NOERREP [OPEN
435# #UNS FTS1
43=G VFREE FILE,ADJUNCTS
43CQ TESTRPN2 OK,XRE1 [J IF OPEN FAILED
43XB VFREE FILE,FABSNB
44C2 CALL 5 TESTMULT [HUNT FILE/ENT
44WL BRN XRE0 [J IF MULTI-FILE OR COMPONENT
45B= LDX 6 ETM(3) [TYPE OF EDITING FILE
45CS ...#SKI G571&1
45FB ...(
45GY ... BPZ 6 TPED [ AMORPHOUS EDIT FILE ILLEGAL
45JG ... LDX 0 AWORK1(2)
45L4 ... BZE 0 S7X [ AMORPHOUS N/F - ALLOW ANY E/F
45ML ... BNG 0 S7Y [ TYPED O/F - E/F MUST MATCH
45P8 ... ANDX 6 BITS22LS [ ELSE MUST MATCH N/F
45QQ ...S7Y
45S# ...)
45TW BXU 6 AWORK1(2),TPED
4634 ...#SKI G571&1
468= ...S7X
46*G FREECORE 3
46T6 FILEMOVE 0,2 [CLEVER STACK SHUFFLE
47#Q LDN 5 0 [UNSET ONLINE SWITCH
47SB P2 VFREE CPB,CUNI [FREE BLOCK
48#2 #SKI JDIAG1
48RL (
49?= [
49QW [ ****** PARAMETER FOUR ******
4==G [
4=Q6 STOZ AWORK4(2)
4=W3 ...#SKI G505&1
4=^Y ... PARUNACC [ 1ST UNACCESSED PARAM (4 OR 5)
4?5T ...#SKI G505&1$1
4?9Q PARAPASS
4?PB MHUNT 3,CPB,CUNI
4#92 NGX 7 ANUM(3)
4#NL BPZ 7 P4 [J IF NO PAPARAMETER
4*8= LDCT 7 #001
4*MW ANDX 7 EXT+11(2)
4B7G BZE 7 XIVP [NOT DOING A GEDIT
4BM6 LDX 7 ANUM(3)
4C6Q ANDN 7 #7777
4CLB SBN 7 1
4D62 BNZ 7 XIVP [MORE THAN ONE CHARACTER
4DKL LDCH 7 APARA(3)
4F5= SBN 7 #44
4FJW BNZ 7 XIVP [NOT [D"
4G4G LDN 7 #020
4GJ6 STO 7 AWORK4(2) [SET SPECIAL INSERT MARKER
4H3Q P4 VFREE CPB,CUNI
4HHB )
4J32 ALTLEND FX2,CPATLEN+IEXT [STRETCH ACTIVITY BLOCK
4JGL STOZ CPATLEN+A1(2) [THEN WE HAVE TO ZEROISE
4K2= LDN 6 CPATLEN+A1(2) [THE EXTENSION
4KFW LDN 7 CPATLEN+A1+1(2) [THIS INITIALISES ALL
4K^G MOVE 6 IEXT-1 [THE POINTERS
4LF6 STO 5 IEFT(2) [ONLINE SWITCH
4LYQ LDN 4 1
4MDB STO 4 IEFS(2) [ONE EDIT FILE AND
4MY2 STO 4 IEON(2) [ONE OLD FILE SO FAR
4NCL LDCT 4 #400
4NX= STO 4 IEVS(2) [NO VISIBLE SPACE YET
4PBW STO 4 IEDS(2) [NO DUMMY SYMBOL YET
4PWG STO 4 IEPF(2) [NO PFCC YET
4QB6 LDX 4 AWORK3(2)
4QTQ STO 4 IENL(2) [NEW FILE RECORD LIMIT
4R*B LDX 5 AWORK2(2)
4RT2 #SKI JDIAG1
4S#L (
4SS= LDN 4 A1+2
4T?W STO 4 IEIG(2) [EDIT FILE RECORD HDDR SIZE
4TRG LDCT 6 #001
4W?6 ANDX 6 EXT+11(2)
4WQQ BZE 6 NOTG [J IF NOT GEDIT
4X=B ADN 4 2
4XQ2 LDN 6 #4
4Y9L ADX 6 AWORK4(2) [FOURTH PAPARAMETER
4YP= ORS 6 IESW(2) [SET GEDIT MARKER
4^8W SBN 5 8 [DON'T COUNT SPECIAL WORDS
4^NG NOTG STO 4 IEOG(2) [OLD FILE RECORD HDDR SIZE
5286 STO 4 IENG(2) [NEW FILE RECORD HDDR SIZE
52MQ )
537B STO 5 IENH(2) [MAX CHAR FOR NEW FILE RECORD
53M2 SETNCORE 32,3,FILE,FAPB [GET AN OUTPUT BLOCK
546L LDN 0 0
54L= LDX 5 AWORK1(2) [GET OLD FILE TYPE/MODE
555W STO 5 IEOT(2) [SET OLDFILE TYPE/MODE
55?4 ...#SKI G571&1
55D= ... BZE 5 Q1 [ NEWFILE AMORPHOUS
55KG ANDN 5 #10
5656 BNZ 5 Q1 [J IF TR GRAPHIC
56JQ ADN 0 #7400 [ELSE SET MODE CHAR = ALPHA
574B Q1 ADN 0 #41 [SET PFCC
57J2 STO 0 A1+1(3) [SETTING FOR O/P FRLE
583L #SKI JDIAG1
58H= (
592W STOZ A1+2(3) [NULL INITIAL SEQUENCE WORD
59GG LDN 5 0
5=26 LDX 4 AWORK4(2)
5=FQ BZE 4 NOTD [J IF NO 'D' PARAMETER
5=^B LDCT 5 #400
5?F2 NOTD ADX 5 ACES
5?YL STO 5 A1+3(3) [INITIAL SECOND KEY WORD
5#D= )
5#XW DOWN EDITPT,10 [READ FIRST RECORD OF OLD FILE
5*CG ... BRN T63A [J TO CLEAR BREAKIN
5D*= T73 LDN 0 8 [EXAMINE THE
5DSW ANDX 0 CONTEXT(2) [CONTEXT IN WHICH THE
5F#G LDX 5 IEFT(2)
5FS6 BZE 5 P3 [EDIT COMMAND WAS ISSUED
5G?Q BZE 0 P3 [AND J IF NOT MOP ONLINE
5GRB SETNCORE 4,3,CPB,CUNI
5H?2 LDN 2 READY(1)
5HQL LDN 3 A1(3)
5J== MOVE 2 4
5JPW LDN 5 0
5K9G LDN 6 15 [IF MOP ONLINE
5KP6 LDN 7 #40 [OUTPUT 'EDITOR IS READY'
5L8Q OUTMON 5,A1,7 [
5LNB OUTMON 6,A1,7,CPB,CUNI [IN COMMENT CATEGORY
5M82 OUTMON 5,A1,7 [
5MML VFREE CPB,CUNI
5MS4 FIXTRA ESP1 [****EDITOR SPECIAL FOR PLESSEY****
5MYG P3
5N4Y BRN SP1
5N9B OUTPAR TIMENOW,JOBMILL
5N*S MONOUT EDSTART
5NCL SP1 ACROSS EDITOR,1 [START EDITING
5ND4 ...T63A DOWN EDITET,4 [CLEAR BREAKIN
5NDG ... BRN T73 [IGNORE BREAKIN & CONTINUE
5NDY ... BRN T73
5NFD #
5NH= T63
5NK4 ACROSS EDITOR,2 [CLOSE DOWN
5NLW #
5P6G TESTMULT [TEST FOR MULTIFILE OR COMPONENT OF MULTIFILE
5PL6 TREP STREAM,TMCER [DOES SUBREPLY INDICATE M-F
5Q5Q MHUNTW 3,FILE,ENT [USEROPEN MUST LEAVE
5QKB LDCT 0 #20 [CHECK B4
5R52 ANDX 0 EINF1(3) [INDICATES MULTIFILE COMPONENT
5RJL BNZ 0 TMCER [J IF SO
5S4= EXIT 5 1 [NORMAL EXIT
5SHW #
5WGB TMCER SETREP NOSTRMS [M-F NOT ALLOWED FOR THIS COM.
5X22 EXIT 5 0 [ERROR EXIT
5XFL #
5X^= PARA SBX 6 FX1 [OBTAIN NEXT PARAMETER
5YDW SPARAPASS
5YYG MHUNT 3,CPB,CUNI
5^D6 ADX 6 FX1
5^XQ NGX 7 ANUM(3)
62CB EXIT 6 0
62X2 #
63BL RNAME SBX 6 FX1 [NORMALISE
63W= PHOTO 7
64*W NAMETOP 3,FILE,FNAME
64F2 #UNS FTS1
64J6 FNORM 3
64M= #UNS FTS1
64QB #SKI
64TG FNORM 2
65*6 TESTMOVE 7,RNAM1
65SQ MHUNT 3,FILE,FNAME
66#B RNAM1 ADX 6 FX1
66S2 NAMETOP 3,CPB,CUNI
67?L EXIT 6 0
67R= #
68=W XCLSE SBX 6 FX1
68QG CLOSE
69=6 ADX 6 FX1
69PQ EXIT 6 0
6=9B #
6=P2 XCLAB SBX 6 FX1
6?8L CLOSEABANDON
6?N= ADX 6 FX1
6#7W EXIT 6 0
6#MG #
6#P9 P5 LDN 6 8
6#QY ANDX 6 CONTEXT(2)
6#R* ...#SKI G505&1
6#RQ ... BNZ 6 RU1 [J IF MOP & TEST IF SHIFT
6#S7 ...#SKI G505&1$1
6#SM BNZ 6 P2 [J IF MOP
6#WB LDX 6 CPLEV(2)
6#Y5 BNZ 6 P2 [J IF CPLEVEL>0
6#^S EDCOMERR IEYJ [NO JOB SOURCE
6*3H BRN XER1
6*5= #
6*5? ...#SKI G505&1
6*5# ...(
6*5* ...# A CHOICE OF TWO OPTIONS IS OFFERED AT COMPILE TIME.
6*5B ...# BY DEFAULT, ACTION IS STANDARD UNLESS 'SHIFT' IS SPECIFIED
6*5C ...# AS PARAMETER %D OR LATER, IN WHICH CASE INPUT IS TAKEN IN
6*5D ...# THE SHIFT MODE AND W/L OUTPUT APPEARS IN SHIFT FORM.
6*5F ...# TO MAKE SHIFT ACTION THE DEFAULT FOR NORMAL OR ALLCHAR FILES,
6*5G ...# THE LINE '#ALT G505ED = 1' SHOULD BE INCLUDED IN THE RESTORE
6*5H ...# PACK BEFORE THE CALL OF USERMODS. DEFAULT SHIFT ACTION CAN BE
6*5J ...# OVERRIDDEN BY 'GRAPHIC' AS %D OR LATER. EITHER PARAMETER
6*5K ...# CAN BE ABBREVIATED TO THE FIRST TWO CHARACTERS.
6*5L ...#OPT G505ED = 0
6*5M ...#
6*5N ...#SKI G505ED<1$1
6*5P ...(
6*5Q ...ZSH 2,2HSH
6*5R ...RU1 BNZ 7 P2 [ NO MORE PARAMS - AVOID PARABEG IF
6*5S ... VFREE CPB,CUNI [ ADDITIONAL PARAM CAN'T BE THERE
6*5T ... PARABEG 1,ZSH(1),,,0
6*5W ... MHUNT 3,CPB,CUNI
6*5X ... LDX 0 ANUM(3)
6*5Y ... BNG 0 P2 [ 'SHIFT' NOT SPECIFIED
6*5^ ...)
6*62 ...#SKI G505ED
6*63 ...(
6*64 ...RUGR 2,4HGR
6*65 ...RU1 LDXC 0 AWORK1(2) [FILE TYPE
6*66 ... BCC P2 [B0 CLEAR SO AMORPHOUS
6*67 ... ANDN 0 #10 [GRAPHIC MASK
6*68 ... BNZ 0 P2 [GRAPHIC FILE
6*69 ... BNZ 7 RU2 [ NO MORE PARAMS
6*6= ... VFREE CPB,CUNI
6*6? ... PARABEG 1,RUGR(1),,,0
6*6# ... MHUNT 3,CPB,CUNI
6*6* ... LDX 0 ANUM(3)
6*6B ... BPZ 0 P2 [PARAMETER FOUND - NOT SHIFT
6*6C ...)
6*6D ...RU2 BS 2,G502SHIFT [SET BIT IN CPAT
6*6F ... BRN P2
6*6G ...)
6*76 NFRIG MHUNT 3,FILE,FABSNB [INVENT OUTPUT FILENAME
6*LQ LDX 7 ATYPE(3)
6B6B ANDN 7 #200 [TEST IF OLDFILE IS WORKFILE
6BL2 BZE 7 NOTWF [J IF NOT
6C5L CALL 6 XCLSE [ELSE CLOSE OLDFILE
6D4W MHUNT 3,CPB,CUNI [GET NULL PARAMETER
6DJG LDN 4 2 [BLOCK AND FORCE PARAMETER
6F46 STO 4 JPARNUM(3) [NUMBER TO BE 2
6FHQ COMERR EDSHRIEK
6G3B NOTWF SMO HDREC(3) [GET FGN OF OLDFILE
6GH2 LDX 4 A1-2(3)
6H2L ADN 4 1 [INCREMENT BY ONE
6KDQ NOTW1 SMO HDREC(3) [PUT FGN BACK IN FABSNB
6KYB STO 4 A1-2(3) [AND OPEN FILE
6L=R USEROPEN XER5,GENERAL,EMPTY,CREATE,NOERREP,LEAVE
6LK8 #UNS FTS1
6LQB VFREE FILE,ADJUNCTS [LEFT OVER FROM OLDFILE
6LXL LDX 6 AWORK1(2) [PICK UP O/F TYPE
6MC= TESTREP2 OK,P1 [J IF OPEN WAS OK OTHERWISE REPORT
6MM4 VFREE FILE,ENT
6MWW SETNCORE 17,3,ADATA,CREADL [ERROR. FIRST DO AN UNNORM.
6NBG LDN 7 0
6NW6 PHOTO 6
6P*Q STO 7 A1(3)
6PTB UNNORM TWO [CONVERT TO A TWO-COMPONENT NAME
6Q*2 TESTMOVE 6,NFRG1
6QSL MHUNTW 3,ADATA,CREADL
6R#= NFRG1 SBX 7 A1(3) [-LENGTH
6RRW LDN 4 2
6S?G NGS 7 ANUM(3) [+LENGTH
6SR6 STO 4 JPARNUM(3) ['..IN PARAMETER 2 IN EDIT...'
6T=Q NAME 3,CPB,CUNI
6TQB BRN XRE2 [REPORT ERROR
6W=2 TYPDF EDCOMERR ITON [TYPES INCOMPATIBLE FOR O/F & N/F
6WPL BRN XER1
6X9= TPED EDCOMERR TPEF [TAPE PUNCH EDITING FILE
6XNW XER0 CALL 6 XCLSE
6Y8G XER1 CALL 6 XCLAB
6YN6 XER2 CALL 6 XCLSE
6^7Q XER3 ENDCOM
6^MB XER4 CALL 6 XCLAB
7272 XER5 CALL 6 XCLSE
72LL XER6 COMBRKIN
736= XER7 COMERR JPARMIS ['PARAMETER MISSING'
73KW XER8 CALL 6 XCLSE
745G COMERR JNOEDIT ['Z IS NOT SUITABLE FOR EDITING'
74K6 XRE0 REPALLER
773= BRN XER0
77GW XRE1 REPALLER
782G CALL 6 XCLAB
78G6 CALL 6 XCLSE
78^Q ENDCOM
79FB XRE2 REPALLER
79^2 CALL 6 XCLSE
7=DL ENDCOM
7=Y= XRE3 REPALLER
7?CW ENDCOM
7?XG #SKI JDIAG1
7#C6 (
7#WQ XIVP CALL 6 XCLAB [CLOSEABANDON NEWFILE
7*BB CALL 6 XCLSE [CLOSE OLDFILE
7*W2 BNZ 5 XIVP1 [J IF NO EDITFILE
7B*L CALL 6 XCLSE [CLOSE EDITFILE
7BT= XIVP1 COMERR APFERR
7C#W )
7CSG #
7D#6 MENDAREA 50,K100EDIT
7DRQ #END
^^^^ ...35772313000400000000