EDIT867

(George Source)

Macros used: ACROSS, ALTLEND, BACKSPACE, BS, BXU, CLOSE, CLOSEABANDON, CLOSETOP, COMBRKIN, COMERR, CREATEB, DOWN, EDCOMERR, ENDCOM, FILEMOVE, FIXTRA, FNORM, FREECORE, MENDAREA, MHUNT, MHUNTW, MONOUT, NAME, NAMETOP, OPENDIR, OUTMON, OUTPAR, PARABEG, PARAPASS, PARUNACC, PHOTO, READY, REPALLER, SEG, SEGENTRY, SETMODE, SETNCORE, SETREP, STEP, TESTMOVE, TESTMULT, TESTREP2, TESTRPN2, TRAPADD, TREP, UNNORM, USEROPEN, USEROPEX, VFREE, WHATBACK, WIND

EDIT867.txt
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 <ENTRANT> 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 <NEW FILE> 
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 <ENTRANT> INTO FILE/FABSNB  
42DG          TESTREP2 NAMEFORM,XER1        [J IF CONVERSION FAILED 
42Y6          USEROPEN XER4,READ,LEAVE,NOERREP     [OPEN <EDITING FILE> 
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              [<NEWLINE>   
5LNB          OUTMON   6,A1,7,CPB,CUNI     [IN COMMENT CATEGORY 
5M82          OUTMON   5,A1,7              [<NEWLINE>   
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 <ENTRANT> 
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