User Tools

Site Tools


cdc:nos2.source:opl.opl871:deck:fsescrn.001

Deck FSESCRN Part 001

22 Modifications

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
01861  M00S01625.fsescrn +++|      BEGIN
01862  M00S01626.fsescrn +++|      FILNUM=SPLITFILE[SPLIT];
01863  M00S01627.fsescrn +++|      IF FILNUM NQ 0 THEN
01864  M00S01628.fsescrn +++|        BEGIN
01865  M00S01629.fsescrn +++|        IF LTPS(SPLIT) NQ TOPS(SPLIT)
01866  M00S01630.fsescrn +++|          OR LASTNAME[SPLIT] NQ FILENAM[FILNUM] THEN
01867  M00S01631.fsescrn +++|          BEGIN
01868  M00S01632.fsescrn +++|          PAINTONESPLT(SPLIT);
01869  M00S01633.fsescrn +++|          END
01870  M00S01634.fsescrn +++|        END
01871  M00S01635.fsescrn +++|      END
01872  M00S01636.fsescrn +++|    END
01873  M00S01637.fsescrn +++|
01874  M00S01638.fsescrn +++|  PAINTMARKS(2);
01875  M00S01639.fsescrn +++|
01876  M00S01640.fsescrn +++|  FOR SCRNPT1=0 STEP 1 UNTIL USRNUMLIN DO
01877  M00S01641.fsescrn +++|    BEGIN
01878  M00S01642.fsescrn +++|    IF ROWPAINT[SCRNPT1] OR ROWORIG[SCRNPT1] NQ SCRNPT1 THEN
01879  M00S01643.fsescrn +++|      BEGIN
01880  M00S01644.fsescrn +++|      ROWPAINT[SCRNPT1]=FALSE;
01881  M00S01645.fsescrn +++|      ROWORIG[SCRNPT1]=SCRNPT1;
01882  M00S01646.fsescrn +++|      GOTO PAINTSW[ROWTYPE[SCRNPT1]];
01883  M00S01647.fsescrn +++|
01884  M00S01648.fsescrn +++|PTTEXT:
01885  M00S01649.fsescrn +++|      IF ROWPMARK[SCRNPT1] THEN
01886  M00S01650.fsescrn +++|        BEGIN                        # IF ONLY LOGICALLY MARKED #
01887  M00S01651.fsescrn +++|        IF NUMMARKS EQ 0 THEN ROWPMARK[SCRNPT1] = FALSE;
01888  M00S01652.fsescrn +++|        END
01889  M00S01653.fsescrn +++|CONTROL IFEQ MULTI,1;                # IF MULTI USER FSE #
01890  M00S01654.fsescrn +++|      VDTPOS(0,SCRNPT1);             # POSITION #
01891  M00S01655.fsescrn +++|CONTROL FI;                          # END OF IF MULTI #
01892  M00S01656.fsescrn +++|CONTROL IFEQ SINGLE,1;               # IF NOT MULTI USER FSE #
01893  M00S01657.fsescrn +++|      IF TABLOCKMDE[0] THEN
01894  M00S01658.fsescrn +++|        BEGIN                        # IF BLOCK MODE TERMINAL #
01895  M00S01659.fsescrn +++|        VDTSAP(DUMB,0,SCRNPT1);      # SET ATTRIBUTE POSITION #
01896  M00S01660.fsescrn +++|        END
01897  M00S01661.fsescrn +++|      ELSE
01898  M00S01662.fsescrn +++|        BEGIN                        # NOT BLOCK MODE #
01899  M00S01663.fsescrn +++|        VDTPOS(0,SCRNPT1);           # POSITION #
01900  M00S01664.fsescrn +++|        END
01901  M00S01665.fsescrn +++|CONTROL FI;                          # END OF NOT MULTI #
01902  M00S01666.fsescrn +++|      SPLIT=ROWSPLIT[SCRNPT1];
01903  M00S01667.fsescrn +++|      SCRNPT2=YTOL(SCRNPT1,SPLIT);
01904  M00S01668.fsescrn +++|      IF VTCLRFRST[0] THEN VDTCLL(0,SCRNPT1);
01905  M00S01669.fsescrn +++|      SCRNPT6=XSHIFT[SPLIT]-1;      # PRESET COLUMN LENGTH #
01906  M00S01670.fsescrn +++|      IF SCRNPT2 LS BOTS(SPLIT) THEN
01907  M00S01671.fsescrn +++|        BEGIN
01908  M00S01672.fsescrn +++|        POSZ(SCRNPT2);
01909  M00S01673.fsescrn +++|        SCRNPT6=LENGTH(LIN);
01910  M00S01674.fsescrn +++|        IF SCRNPT6 GR NUMWIDBLK+WIDTH AND ERRSTRING EQ " $" THEN
01911  M00S01675.fsescrn +++|          BEGIN
01912  M00S01676.fsescrn +++|          ERRSTRING="WIDE LINE$";
01913  M00S01677.fsescrn +++|          YCURSOR=SCRNPT1;
01914  M00S01678.fsescrn +++|          END
01915  M00S01679.fsescrn +++|        IF USRNUMCOL+XSHIFT[SPLIT] LS SCRNPT6 AND NOT ROWPMARK[SCRNPT1]
01916  M00S01680.fsescrn +++|          THEN
01917  M00S01681.fsescrn +++|          BEGIN
01918  M00S01682.fsescrn +++|          SETCHAR(LINE,USRNUMCOL+XSHIFT[SPLIT]+1,CENDLINE);
01919  M00S01683.fsescrn +++|          TRIMPAD;
01920  M00S01684.fsescrn +++|          SCRNPT6=LENGTH(LIN);
01921  M00S01685.fsescrn +++|          END
01922  M00S01686.fsescrn +++|        IF ROWCOLUM[SCRNPT1] THEN
01923  M00S01687.fsescrn +++|          BEGIN
01924  M00S01688.fsescrn +++|CONTROL IFEQ SINGLE,1;               # IF NOT MULTI USER FSE #
01925  M00S01689.fsescrn +++|          IF TABLOCKMDE[0] THEN VDTSAM(0);
01926  M00S01690.fsescrn +++|CONTROL FI;
01927  M00S01691.fsescrn +++|          ROWCOLUM[SCRNPT1] = FALSE;
01928  M00S01692.fsescrn +++|          SCRNPT6 = 1;
01929  M00S01693.fsescrn +++|          FOR SCRNPT4 = XSHIFT[SPLIT] STEP 1 UNTIL
01930  M00S01694.fsescrn +++|            XSHIFT[SPLIT] + USRNUMCOL DO
01931  M00S01695.fsescrn +++|            BEGIN
01932  M00S01696.fsescrn +++|            SCRNPT5 = MOD(SCRNPT4+1,10) + CDIGIT0;
01933  M00S01697.fsescrn +++|CONTROL IFEQ MULTI,1;                # IF MULTI USER FSE #
01934  M00S01698.fsescrn +++|            IF SCRNPT5 EQ CDIGIT1 AND NOT TABATTRCHR[0] THEN
01935  M00S01699.fsescrn +++|CONTROL FI;                          # END OF IF MULTI #
01936  M00S01700.fsescrn +++|CONTROL IFEQ SINGLE,1;               # IF NOT MULTI USER FSE #
01937  M00S01701.fsescrn +++|            IF SCRNPT5 EQ CDIGIT1 AND NOT TABATTRCHR[0]
01938  M00S01702.fsescrn +++|              AND NOT TABLOCKMDE[0] THEN
01939  M00S01703.fsescrn +++|CONTROL FI;                          # END OF IF NOT MULTI #
01940  M00S01704.fsescrn +++|              BEGIN
01941  M00S01705.fsescrn +++|              SCRNPT6 = SCRNPT6 LXR 1;
01942  M00S01706.fsescrn +++|              IF SCRNPT6 EQ 0 THEN
01943  M00S01707.fsescrn +++|                BEGIN
01944  M00S01708.fsescrn +++|                VDTSAM(0);
01945  M00S01709.fsescrn +++|                END
01946  M00S01710.fsescrn +++|              ELSE
01947  M00S01711.fsescrn +++|                BEGIN
01948  M00S01712.fsescrn +++|                VDTSAM(MSKINVERSE);
01949  M00S01713.fsescrn +++|                END
01950  M00S01714.fsescrn +++|              END
01951  M00S01715.fsescrn +++|            SCRNPT5 = XLTINTXP[SCRNPT5];
01952  M00S01716.fsescrn +++|            VDTCHR(SCRNPT5);
01953  M00S01717.fsescrn +++|            END
01954  M00S01718.fsescrn +++|CONTROL IFEQ MULTI,1;                # IF MULTI USER FSE #
01955  M00S01719.fsescrn +++|          IF SCRNPT6 EQ 1 AND NOT TABATTRCHR[0] THEN VDTSAM(0);
01956  M00S01720.fsescrn +++|CONTROL FI;                          # END OF IF MULTI #
01957  M00S01721.fsescrn +++|CONTROL IFEQ SINGLE,1;               # IF NOT MULTI USER FSE #
01958  M00S01722.fsescrn +++|          IF SCRNPT6 EQ 1 AND NOT TABATTRCHR[0] AND NOT TABLOCKMDE[0]
01959  M00S01723.fsescrn +++|            THEN VDTSAM(0);
01960  M00S01724.fsescrn +++|CONTROL FI;                          # END OF IF NOT MULTI #
01961  M00S01725.fsescrn +++|          GOTO PTDONE;               # FINISHED WITH THIS LINE #
01962  M00S01726.fsescrn +++|          END
01963  M00S01727.fsescrn +++|        ELSE IF ROWPMARK[SCRNPT1] THEN
01964  M00S01728.fsescrn +++|          BEGIN
01965  M00S01729.fsescrn +++|          IF SCRNPT6 EQ 0 THEN
01966  M00S01730.fsescrn +++|            BEGIN
01967  M00S01731.fsescrn +++|            LINE[0]=BLANKLIN;
01968  M00S01732.fsescrn +++|            SCRNPT6=LENGTH(LIN);
01969  M00S01733.fsescrn +++|            END
01970  M00S01734.fsescrn +++|          SCRNPT4=XSHIFT[SPLIT];
01971  M00S01735.fsescrn +++|          SCRNPT5=MIN(SCRNPT6-1,USRNUMCOL+XSHIFT[SPLIT]);
01972  M00S01736.fsescrn +++|          SCRNPT2 = SCRNPT4;         # SAVE DEFAULT VALUES #
01973  M00S01737.fsescrn +++|          SCRNPT3 = SCRNPT5;
01974  M00S01738.fsescrn +++|          IF CURRENT EQ REGLINE[MARKREG] AND MRKCHAR[0]
01975  M00S01739.fsescrn +++|            GQ 0 THEN SCRNPT4=MAX(MRKCHAR[0],XSHIFT[SPLIT]);
01976  M00S01740.fsescrn +++|          IF CURRENT EQ REGLINE[MARKREG+1] AND MRKCHAR[1]
01977  M00S01741.fsescrn +++|            GQ 0 THEN SCRNPT5=MIN(MRKCHAR[1],SCRNPT5);
01978  M00S01742.fsescrn +++|              IF SCRNPT4 GR SCRNPT5 THEN
01979  M00S01743.fsescrn +++|                BEGIN                # IF BEYOND MARKED AREA #
01980  M00S01744.fsescrn +++|                SCRNPT4 = - 1;
01981  M00S01745.fsescrn +++|                SCRNPT5 = - 1;
01982  M00S01746.fsescrn +++|                END
01983  M00S01747.fsescrn +++|          IF TABLOCKMDE[0] THEN
01984  M00S01748.fsescrn +++|            BEGIN                    # IF BLOCK MODE TYPE TERMINAL #
01985  M00S01749.fsescrn +++|            IF (SCRNPT2 EQ SCRNPT4) AND (SCRNPT3 EQ SCRNPT5) THEN
01986  M00S01750.fsescrn +++|              BEGIN                  # IF MARKING #
01987  M00S01751.fsescrn +++|              VDTSAM(MSKINVERSE);
01988  M00S01752.fsescrn +++|              END
01989  M00S01753.fsescrn +++|            ELSE
01990  M00S01754.fsescrn +++|              BEGIN                  # NOT MARKING #
01991  M00S01755.fsescrn +++|              VDTSAM(0);
01992  M00S01756.fsescrn +++|              END
01993  M00S01757.fsescrn +++|            END
01994  M00S01758.fsescrn +++|          SCRNPT6=MIN(SCRNPT6-1,USRNUMCOL+XSHIFT[SPLIT]);
01995  M00S01759.fsescrn +++|          FOR SCRNPT2=XSHIFT[SPLIT] STEP 1 UNTIL SCRNPT6 DO
01996  M00S01760.fsescrn +++|            BEGIN
01997  M00S01761.fsescrn +++|            IF SCRNPT2 EQ SCRNPT4 AND NOT TABLOCKMDE[0] THEN
01998  M00S01762.fsescrn +++|              BEGIN
01999  M00S01763.fsescrn +++|              IF TABATTRCHR[0] THEN
02000  M00S01764.fsescrn +++|                BEGIN                # IF ATTRIBUTE TAKES A SPACE #
02001  M00S01765.fsescrn +++|                IF TABNOTCHAR[0] AND SCRNPT2 EQ XSHIFT[SPLIT]
02002  M00S01766.fsescrn +++|                  AND SCRNPT2 NQ SCRNPT5 THEN
02003  M00S01767.fsescrn +++|                  BEGIN              # IF A CHARACTER MUST BE SKIPPED #
02004  M00S01768.fsescrn +++|                  SCRNPT2 = SCRNPT2 + 1;
02005  M00S01769.fsescrn +++|                  END
02006  M00S01770.fsescrn +++|                ELSE
02007  M00S01771.fsescrn +++|                  BEGIN              # MOVE CURSOR BACK FOR ATTRIBUTE #
02008  M00S01772.fsescrn +++|                  VDTOUT(X"08");
02009  M00S01773.fsescrn +++|                  END
02010  M00S01774.fsescrn +++|                END
02011  M00S01775.fsescrn +++|              VDTSAM(MSKINVERSE);
02012  M00S01776.fsescrn +++|              END
02013  M00S01777.fsescrn +++|            GETCHAR(LINE,SCRNPT2,SCRNPT3);
02014  M00S01778.fsescrn +++|            SCRNPT3=XLTINTXP[SCRNPT3];
Line S00001 Modification History
M01 (Added by) ns2623
Seq #  *Modification Id* Act 
----------------------------+
02015  M01S00001.ns2623  +++|            IF SCRNPT3 LS O"4040" THEN SCRNPT3 = XLTINTXP[UNPRINT];
02016  M00S01779.fsescrn +++|            VDTCHR(SCRNPT3);
02017  M00S01780.fsescrn +++|            IF SCRNPT2 EQ SCRNPT5 AND NOT TABLOCKMDE[0] THEN
02018  M00S01781.fsescrn +++|              BEGIN
02019  M00S01782.fsescrn +++|              IF TABATTRCHR[0] THEN
02020  M00S01783.fsescrn +++|                BEGIN                # IF ATTRIBUTE TAKES A BYTE #
02021  M00S01784.fsescrn +++|                IF SCRNPT2 EQ VTXMAX THEN
02022  M00S01785.fsescrn +++|                  BEGIN              # IF AT END OF CURRENT LINE #
02023  M00S01786.fsescrn +++|                  VDTOUT(X"08");     # CURSOR MUST MOVE BACK #
02024  M00S01787.fsescrn +++|                  END
02025  M00S01788.fsescrn +++|                ELSE
02026  M00S01789.fsescrn +++|                  BEGIN              # SKIP AN OUTPUT CHARACTER #
02027  M00S01790.fsescrn +++|                  IF SCRNPT2 NQ SCRNPT6 THEN SCRNPT2 = SCRNPT2 + 1;
02028  M00S01791.fsescrn +++|                  END
02029  M00S01792.fsescrn +++|                END
02030  M00S01793.fsescrn +++|              VDTSAM(0);
02031  M00S01794.fsescrn +++|              END
02032  M00S01795.fsescrn +++|            END
02033  M00S01796.fsescrn +++|          ROWPMARK[SCRNPT1]=FALSE;
02034  M00S01797.fsescrn +++|          END
02035  M00S01798.fsescrn +++|        ELSE
02036  M00S01799.fsescrn +++|          BEGIN                         # ALL TEXT THAT FITS WINDOW   #
02037  M00S01800.fsescrn +++|            IF TABATTRCHR[0] THEN
02038  M00S01801.fsescrn +++|              BEGIN                  # IF ATTRIBUTE TAKES A BYTE #
02039  M00S01802.fsescrn +++|              IF ROWTYPE[SCRNPT1-1] EQ ROWST"TITLE" THEN
02040  M00S01803.fsescrn +++|                BEGIN                # IF FIRST LINE AFTER TITLE #
02041  M00S01804.fsescrn +++|                VDTPOS(VTXMAX,SCRNPT1-1);
02042  M00S01805.fsescrn +++|                ATTRIBMASK = MSKINVERSE;
02043  M00S01806.fsescrn +++|                END
02044  M00S01807.fsescrn +++|              END
02045  M00S01808.fsescrn +++|          VDTSAM(0);                 # CLEAR ATTRIBUTES #
02046  M00S01809.fsescrn +++|          SCRNPT6=MIN(SCRNPT6-1,USRNUMCOL+XSHIFT[SPLIT]);
02047  M00S01810.fsescrn +++|          SCRNPT4 = -1;              # NUMBER OF BLANKS SO FAR, - 1 #
02048  M00S01811.fsescrn +++|          FOR SCRNPT2=XSHIFT[SPLIT] STEP 1 UNTIL SCRNPT6 DO
02049  M00S01812.fsescrn +++|            BEGIN
02050  M00S01813.fsescrn +++|            GETCHAR(LINE,SCRNPT2,SCRNPT3);
02051  M00S01814.fsescrn +++|            IF VTCLRFRST[0] AND SCRNPT3 EQ CBLANK THEN
02052  M00S01815.fsescrn +++|              BEGIN                  # IF LINE CLEAR, CHAR. A BLANK #
02053  M00S01816.fsescrn +++|              SCRNPT4 = SCRNPT4 + 1;
02054  M00S01817.fsescrn +++|              END
02055  M00S01818.fsescrn +++|            ELSE
02056  M00S01819.fsescrn +++|              BEGIN                  # NOT A BLANK, OR NO CLEAR LINE #
02057  M00S01820.fsescrn +++|              IF SCRNPT4 GQ 0 THEN
02058  M00S01821.fsescrn +++|                BEGIN                # IF SOME BLANKS HAVE BEEN SEEN #
02059  M00S01822.fsescrn +++|                IF SCRNPT4 GQ VTNUMBLNK[0] THEN
02060  M00S01823.fsescrn +++|                  BEGIN              # IF AT OR PAST THRESHOLD #
02061  M00S01824.fsescrn +++|                  VDTPOS(SCRNPT2-XSHIFT[SPLIT],SCRNPT1);
02062  M00S01825.fsescrn +++|                  END
02063  M00S01826.fsescrn +++|                ELSE
02064  M00S01827.fsescrn +++|                  BEGIN              # NOT WORTH VDTPOS #
02065  M00S01828.fsescrn +++|                  SCRNPT5 = XLTINTXP[CBLANK];
Line S01829 Modification History
M01 (Removed by) ns2444a
Seq #  *Modification Id* Act 
----------------------------+
02066  M01S01829.ns2444a ---|                  FOR DUMB = 0 STEP 1 UNTIL SCRNPT4 DO
Line S00001 Modification History
M01 (Added by) ns2444a
Seq #  *Modification Id* Act 
----------------------------+
02067  M01S00001.ns2444a +++|                  FOR SCRNPT4 = SCRNPT4 STEP -1 UNTIL 0 DO
02068  M00S01830.fsescrn +++|                    BEGIN            # SEND BLANKS #
02069  M00S01831.fsescrn +++|                    VDTCHR(SCRNPT5);
02070  M00S01832.fsescrn +++|                    END
02071  M00S01833.fsescrn +++|                  END
02072  M00S01834.fsescrn +++|                SCRNPT4 = -1;        # RESET BLANK COUNT #
02073  M00S01835.fsescrn +++|                END
02074  M00S01836.fsescrn +++|              SCRNPT3 = XLTINTXP[SCRNPT3];
Line S00002 Modification History
M01 (Added by) ns2623
Seq #  *Modification Id* Act 
----------------------------+
02075  M01S00002.ns2623  +++|              IF SCRNPT3 LS O"4040" THEN SCRNPT3 = XLTINTXP[UNPRINT];
02076  M00S01837.fsescrn +++|              VDTCHR(SCRNPT3);
02077  M00S01838.fsescrn +++|              END
02078  M00S01839.fsescrn +++|            END
02079  M00S01840.fsescrn +++|          END
02080  M00S01841.fsescrn +++|        END
02081  M00S01842.fsescrn +++|      ELSE
02082  M00S01843.fsescrn +++|        BEGIN
02083  M00S01844.fsescrn +++|        VDTSAM(0);                   # CLEAR ATTRIBUTES #
02084  M00S01845.fsescrn +++|        ROWPMARK[SCRNPT1] = FALSE;
02085  M00S01846.fsescrn +++|        END
02086  M00S01847.fsescrn +++|      SCRNPT6=SCRNPT6-XSHIFT[SPLIT]+1;
02087  M00S01848.fsescrn +++|      SCRNPT6=MAX(SCRNPT6,0);
02088  M00S01849.fsescrn +++|      IF SCRNPT6 LQ VTXMAX AND       # IF NOT CLEARED (AT PTTEXT)#
02089  M00S01850.fsescrn +++|         NOT VTCLRFRST[0] THEN       # BEFORE PRINTING OR BY THE #
02090  M00S01851.fsescrn +++|         VDTCLL(SCRNPT6,SCRNPT1);    # ACTUAL PRINTING OF OUTPUT #
02091  M00S01852.fsescrn +++|      GOTO PTDONE;
02092  M00S01853.fsescrn +++|
02093  M00S01854.fsescrn +++|PTTITLE:
02094  M00S01855.fsescrn +++|      SPLIT=ROWSPLIT[SCRNPT1];
02095  M00S01856.fsescrn +++|      FILNUM=SPLITFILE[SPLIT];
02096  M00S01857.fsescrn +++|      IF TABLOCKMDE[0] THEN
02097  M00S01858.fsescrn +++|        BEGIN                        # IF NOT CHARACTER MODE #
02098  M00S01859.fsescrn +++|        SCRNPT6 = 1;                 # WRITE TITLE LINE #
02099  M00S01860.fsescrn +++|        VDTSAP(DUMB,0,SCRNPT1);
02100  M00S01861.fsescrn +++|        VDTSAM(MSKPROTECT+MSKUNDERLN);
02101  M00S01862.fsescrn +++|        END
02102  M00S01863.fsescrn +++|      ELSE
02103  M00S01864.fsescrn +++|        BEGIN                        # CHARACTER MODE TERMINAL #
02104  M00S01865.fsescrn +++|        SCRNPT6 = 0;                 # NO CHANGE YET TO TITLE LINE #
02105  M00S01866.fsescrn +++|        END
02106  M00S01867.fsescrn +++|      GENTITLE(SPLIT);
02107  M00S01868.fsescrn +++|      SCRNPT5=LENGTH(TTYLIN);
02108  M00S01869.fsescrn +++|      IF TABATTRCHR[0] THEN SCRNPT5 = SCRNPT5 - 3;
02109  M00S01870.fsescrn +++|      IF SPLIT EQ 1 THEN
02110  M00S01871.fsescrn +++|        BEGIN                        # IF TOP SPLIT #
02111  M00S01872.fsescrn +++|        FOR SCRNPT2=LENGTH(TITLE1LIN) STEP 1 UNTIL SCRNPT5 DO
02112  M00S01873.fsescrn +++|          BEGIN
02113  M00S01874.fsescrn +++|          SETCHAR(TITLE1LINE,SCRNPT2,CENDLINE);
02114  M00S01875.fsescrn +++|          END
02115  M00S01876.fsescrn +++|        END
02116  M00S01877.fsescrn +++|      ELSE                           # IF BOTTOM SPLIT #
02117  M00S01878.fsescrn +++|        BEGIN
02118  M00S01879.fsescrn +++|        FOR SCRNPT2=LENGTH(TITLE2LIN) STEP 1 UNTIL SCRNPT5 DO
02119  M00S01880.fsescrn +++|          BEGIN
02120  M00S01881.fsescrn +++|          SETCHAR(TITLE2LINE,SCRNPT2,CENDLINE);
02121  M00S01882.fsescrn +++|          END
02122  M00S01883.fsescrn +++|        END
02123  M00S01884.fsescrn +++|      SCRNPT2 = 0;
02124  M00S01885.fsescrn +++|      IF TABATTRCHR[0] THEN SCRNPT2 = 1;
02125  M00S01886.fsescrn +++|      FOR SCRNPT2 = SCRNPT2 STEP 1 UNTIL SCRNPT5 DO
02126  M00S01887.fsescrn +++|        BEGIN                        # UNTIL DONE FOR TITLE LINE #
02127  M00S01888.fsescrn +++|        IF SPLIT EQ 1 THEN GETCHAR(TITLE1LINE,SCRNPT2,SCRNPT3);
02128  M00S01889.fsescrn +++|        ELSE GETCHAR(TITLE2LINE,SCRNPT2,SCRNPT3);
02129  M00S01890.fsescrn +++|        GETCHAR(TTYLINE,SCRNPT2,SCRNPT4);
02130  M00S01891.fsescrn +++|        IF SCRNPT3 NQ SCRNPT4 AND SCRNPT4 NQ CENDLINE THEN
02131  M00S01892.fsescrn +++|          BEGIN                      # IF CHARACTER HAS CHANGED #
02132  M00S01893.fsescrn +++|          SCRNPT4=XLTINTXP[SCRNPT4];
02133  M00S01894.fsescrn +++|          IF SCRNPT6 EQ 0 THEN
02134  M00S01895.fsescrn +++|            BEGIN                    # IF FIRST CHANGE (CHAR. MODE) #
02135  M00S01896.fsescrn +++|            IF TABNOTCHAR[0] THEN
02136  M00S01897.fsescrn +++|              BEGIN                  # IF ATTRIBUTE IS "EMBEDDED" #
02137  M00S01898.fsescrn +++|              VDTPOS(0,SCRNPT1);
02138  M00S01899.fsescrn +++|              END
02139  M00S01900.fsescrn +++|            ELSE
02140  M00S01901.fsescrn +++|              BEGIN                  # ATTRIBUTE WILL NOT OVERWRITE #
02141  M00S01902.fsescrn +++|              VDTPOS(SCRNPT2,SCRNPT1);
02142  M00S01903.fsescrn +++|              END
02143  M00S01904.fsescrn +++|            IF TABVTPROTM[0] THEN
02144  M00S01905.fsescrn +++|              BEGIN                  # IF PROTECT AVAILABLE FOR FSE #
02145  M00S01906.fsescrn +++|              VDTSAM(MSKPROTECT+MSKUNDERLN);
02146  M00S01907.fsescrn +++|              END
02147  M00S01908.fsescrn +++|            ELSE
02148  M00S01909.fsescrn +++|              BEGIN                  # NO PROTECT #
02149  M00S01910.fsescrn +++|              VDTSAM(MSKUNDERLN);
02150  M00S01911.fsescrn +++|              END
02151  M00S01912.fsescrn +++|            IF TABNOTCHAR[0] THEN
02152  M00S01913.fsescrn +++|              BEGIN                  # IF ATTRIBUTE IS "EMBEDDED" #
02153  M00S01914.fsescrn +++|              VDTPOS(SCRNPT2,SCRNPT1);
02154  M00S01915.fsescrn +++|              END
02155  M00S01916.fsescrn +++|            SCRNPT6 = 1;
02156  M00S01917.fsescrn +++|            END
02157  M00S01918.fsescrn +++|          ELSE
02158  M00S01919.fsescrn +++|            BEGIN                    # NOT FIRST CHANGED CHARACTER #
02159  M00S01920.fsescrn +++|            IF SCRNPT2 NQ VTXCUR THEN VDTPOS(SCRNPT2,SCRNPT1);
02160  M00S01921.fsescrn +++|            END
02161  M00S01922.fsescrn +++|          VDTCHR(SCRNPT4);
02162  M00S01923.fsescrn +++|          END
02163  M00S01924.fsescrn +++|        END
02164  M00S01925.fsescrn +++|      IF NOT TABLOCKMDE[0] THEN
02165  M00S01926.fsescrn +++|        BEGIN                        # IF CHARACTER MODE TERMINAL #
02166  M00S01927.fsescrn +++|        IF SCRNPT6 EQ 1 THEN
02167  M00S01928.fsescrn +++|          BEGIN                      # IF CHANGE MADE TO TITLE LINE #
Line S01929 Modification History
M01 (Removed by) ns2700
Seq #  *Modification Id* Act 
----------------------------+
02168  M01S01929.ns2700  ---|          IF TABNOTCHAR[0] THEN
02169  M01S01930.ns2700  ---|            BEGIN                    # IF ATTRIBUTE IS "EMBEDDED" #
02170  M01S01931.ns2700  ---|            IF TABATTRCHR[0] THEN
02171  M01S01932.ns2700  ---|              BEGIN                  # IF ATTRIBUTE TAKES SPACE #
02172  M01S01933.ns2700  ---|              VDTPOS(VTXMAX-1,SCRNPT1);
02173  M01S01934.ns2700  ---|              END
02174  M01S01935.ns2700  ---|            ELSE
02175  M01S01936.ns2700  ---|              BEGIN                  # NO SPACE TAKEN BY ATTRIBUTE #
02176  M01S01937.ns2700  ---|              VDTPOS(VTXMAX,SCRNPT1);
02177  M01S01938.ns2700  ---|              END
Line S00002 Modification History
M01 (Added by) ns2700
Seq #  *Modification Id* Act 
----------------------------+
02178  M01S00002.ns2700  +++|          IF TABNOTCHAR[0] AND TABATTRCHR[0] THEN
02179  M01S00003.ns2700  +++|            BEGIN                    # IF ATTRIBUTE TAKES SPACE #
02180  M01S00004.ns2700  +++|            VDTPOS(VTXMAX-1,SCRNPT1);
02181  M01S00005.ns2700  +++|            END
02182  M01S00006.ns2700  +++|          ELSE
02183  M01S00007.ns2700  +++|            BEGIN                    # IF ATTRIBUTE TAKES NO SPACE #
02184  M01S00008.ns2700  +++|            VDTPOS(VTXMAX,SCRNPT1);
02185  M00S01939.fsescrn +++|            END
02186  M00S01940.fsescrn +++|          VDTSAM(0);
02187  M00S01941.fsescrn +++|          SCRNPT6 = 0;
02188  M00S01942.fsescrn +++|          END
02189  M00S01943.fsescrn +++|        END
02190  M00S01944.fsescrn +++|      ATTRIBMASK[0] = 0;             # CLEAR MASK #
02191  M00S01945.fsescrn +++|      FOR SCRNPT2 = 0 STEP 1 UNTIL TTLLNLEN DO
02192  M00S01946.fsescrn +++|        BEGIN
02193  M00S01947.fsescrn +++|        IF SPLIT EQ 1 THEN TITLE1LINE[SCRNPT2]=TTYLINE[SCRNPT2];
02194  M00S01948.fsescrn +++|        ELSE TITLE2LINE[SCRNPT2]=TTYLINE[SCRNPT2];
02195  M00S01949.fsescrn +++|        END
02196  M00S01950.fsescrn +++|      LTPS(SPLIT)=TOPS(SPLIT);
02197  M00S01951.fsescrn +++|      LASTNAME[SPLIT]=FILENAM[FILNUM];
02198  M00S01952.fsescrn +++|      GOTO PTDONE;
02199  M00S01953.fsescrn +++|
02200  M00S01954.fsescrn +++|PTLABEL:
02201  M00S01955.fsescrn +++|      VDTSAP(DUMB,0,SCRNPT1);        # SET ATTR POSITION #
02202  M00S01956.fsescrn +++|      IF NOT TABLOCKMDE[0] THEN
02203  M00S01957.fsescrn +++|        BEGIN                        # IF NOT BLOCK MODE #
02204  M00S01958.fsescrn +++|        VDTCLL(0,SCRNPT1);           # CLEAR LINE #
02205  M00S01959.fsescrn +++|        END
02206  M00S01960.fsescrn +++|      IF TABVTPROTM[0] THEN VDTSAM(MSKPROTECT);
02207  M00S01961.fsescrn +++|      SCRNPT3=1;
Line S01962 Modification History
M01 (Removed by) ns2675
Seq #  *Modification Id* Act 
----------------------------+
02208  M01S01962.ns2675  ---|      IF SCRNPT1 EQ FKEYROW OR SCRNPT1 EQ FKEYROW+3 THEN SCRNPT3=-1;
02209  M01S01963.ns2675  ---|      SCRNPT4=0;
02210  M01S01964.ns2675  ---|      IF SCRNPT1 GQ FKEYROW+3 THEN SCRNPT4=FKEYSHOW;
Line S00001 Modification History
M01 (Added by) ns2675
M02 (Removed by) ns2700
Seq #  *Modification Id* Act 
----------------------------+
02211  M02S00001.ns2700  ---|      IF SCRNPT1 EQ FKEYROW OR SCRNPT1 EQ FKEYROW+3
02212  M02S00002.ns2700  ---|        OR SCRNPT1 EQ FKEYROW+6 THEN SCRNPT3 = -1;
02213  M02S00003.ns2700  ---|      IF SCRNPT1 LS FKEYROW+2 THEN SCRNPT4 = 0;
02214  M02S00004.ns2700  ---|      ELSE IF SCRNPT1 LS FKEYROW+5 THEN SCRNPT4 = FKEYSHOW;
Line S00009 Modification History
M01 (Added by) ns2700
Seq #  *Modification Id* Act 
----------------------------+
02215  M01S00009.ns2700  +++|      IF SHIFTFKEY NQ 0 AND (SCRNPT1 EQ FKEYROW OR SCRNPT1 EQ FKEYROW+3
02216  M01S00010.ns2700  +++|        OR SCRNPT1 EQ FKEYROW+6) THEN SCRNPT3 = -1;
02217  M01S00011.ns2700  +++|      IF SCRNPT1 LS FKEYROW+1+SHIFTFKEY THEN SCRNPT4 = 0;
02218  M01S00012.ns2700  +++|      ELSE IF SCRNPT1 LS FKEYROW+2*(2+SHIFTFKEY)-1 THEN
02219  M01S00013.ns2700  +++|        SCRNPT4 = FKEYSHOW;
Line S00005 Modification History
M01 (Added by) ns2675
Seq #  *Modification Id* Act 
----------------------------+
02220  M01S00005.ns2675  +++|      ELSE SCRNPT4 = FKEYSHOW+FKEYSHOW;
Line S00006 Modification History
M01 (Added by) ns2675
M02 (Removed by) ns2700
Seq #  *Modification Id* Act 
----------------------------+
02221  M02S00006.ns2700  ---|      SCRNPT2=1;
02222  M02S00007.ns2700  ---|      FOR SCRNPT5 = 1 STEP 1 UNTIL POSFKEYS DO
02223  M02S00008.ns2700  ---|        BEGIN
02224  M02S00009.ns2700  ---|        IF (FKEYSTRING[SCRNPT5] NQ NULLIN) OR
02225  M02S00010.ns2700  ---|           (FKEYSTRING[-SCRNPT5] NQ NULLIN) THEN
02226  M02S00011.ns2700  ---|          BEGIN
02227  M02S00012.ns2700  ---|          FKEYNUMS[SCRNPT2] = SCRNPT5;
02228  M02S00013.ns2700  ---|          SCRNPT2 = SCRNPT2 + 1;
02229  M02S00014.ns2700  ---|          END
02230  M02S00015.ns2700  ---|        END
02231  M02S00016.ns2700  ---|      FOR SCRNPT2 = SCRNPT2 STEP 1 UNTIL POSFKEYS DO
02232  M02S00017.ns2700  ---|        FKEYNUMS[SCRNPT2] = 0;
02233  M00S01965.fsescrn +++|      FOR SCRNPT2=1 STEP 1 WHILE SCRNPT2 LQ FKEYSHOW
Line S01966 Modification History
M01 (Removed by) ns2675
Seq #  *Modification Id* Act 
----------------------------+
02234  M01S01966.ns2675  ---|        AND SCRNPT1 NQ FKEYROW+2 DO
Line S00018 Modification History
M01 (Added by) ns2675
M02 (Removed by) ns2700
Seq #  *Modification Id* Act 
----------------------------+
02235  M02S00018.ns2700  ---|        AND SCRNPT1 NQ FKEYROW+2 AND SCRNPT1 NQ FKEYROW+5 DO
Line S00014 Modification History
M01 (Added by) ns2700
Seq #  *Modification Id* Act 
----------------------------+
02236  M01S00014.ns2700  +++|        AND SCRNPT1 NQ FKEYROW+1+SHIFTFKEY
02237  M01S00015.ns2700  +++|        AND SCRNPT1 NQ FKEYROW+2*(2+SHIFTFKEY)-1 DO
02238  M00S01967.fsescrn +++|        BEGIN
Line S01968 Modification History
M01 (Removed by) ns2675
Seq #  *Modification Id* Act 
----------------------------+
02239  M01S01968.ns2675  ---|        SCRNPT5=SCRNPT2+SCRNPT4;
Line S00019 Modification History
M01 (Added by) ns2675
Seq #  *Modification Id* Act 
----------------------------+
02240  M01S00019.ns2675  +++|        SCRNPT5 = FKEYNUMS[SCRNPT2+SCRNPT4];
02241  M01S00020.ns2675  +++|        IF SCRNPT5 EQ 0 THEN SCRNPT3 = -1;
02242  M00S01969.fsescrn +++|        IF SCRNPT3 GQ 0 THEN
02243  M00S01970.fsescrn +++|          BEGIN
02244  M00S01971.fsescrn +++|          IF SCRNPT5 LS 10 THEN TTSTR("F$");
02245  M00S01972.fsescrn +++|          TTDEC(SCRNPT5);
02246  M00S01973.fsescrn +++|          TTSTR(FKEYSPC1);           # " $" OR "$" #
02247  M00S01974.fsescrn +++|          END
02248  M00S01975.fsescrn +++|        ELSE TTSTR(FKEYSPC2);        # "   $" OR "  $" #
02249  M00S01976.fsescrn +++|        IF TABVTPROTM[0] THEN
02250  M00S01977.fsescrn +++|          BEGIN                      # IF PROTECT AVAILABLE FOR FSE #
02251  M00S01978.fsescrn +++|          VDTSAM(MSKPROTECT+MSKINVERSE);
02252  M00S01979.fsescrn +++|          END
02253  M00S01980.fsescrn +++|        ELSE
02254  M00S01981.fsescrn +++|          BEGIN                      # NO PROTECT #
02255  M00S01982.fsescrn +++|          VDTSAM(MSKINVERSE);
02256  M00S01983.fsescrn +++|          END
Line S01984 Modification History
M01 (Removed by) ns2641
Seq #  *Modification Id* Act 
----------------------------+
02257  M01S01984.ns2641  ---|        IF VTXMAX EQ 131 THEN TTSTR("   $");
Line S00152 Modification History
M01 (Added by) ns2641
Seq #  *Modification Id* Act 
----------------------------+
02258  M01S00152.ns2641  +++|        IF FKEYPAD GR 0 THEN TTST("      ",FKEYPAD);
02259  M00S01985.fsescrn +++|        TTST(FKEYNAME[SCRNPT5*SCRNPT3],FKEYCHARS);
Line S01986 Modification History
M01 (Removed by) ns2641
Seq #  *Modification Id* Act 
----------------------------+
02260  M01S01986.ns2641  ---|        IF VTXMAX EQ 131 THEN TTSTR("   $");
Line S00153 Modification History
M01 (Added by) ns2641
Seq #  *Modification Id* Act 
----------------------------+
02261  M01S00153.ns2641  +++|        IF FKEYPAD GR 0 THEN TTST("      ",FKEYPAD);
02262  M00S01987.fsescrn +++|        IF SCRNPT2 NQ FKEYSHOW THEN
02263  M00S01988.fsescrn +++|          BEGIN                      # IF NOT FKEYSHOW #
02264  M00S01989.fsescrn +++|          IF TABVTPROTM[0] THEN
02265  M00S01990.fsescrn +++|            BEGIN                    # IF PROTECT AVAILABLE FOR FSE #
02266  M00S01991.fsescrn +++|            VDTSAM(MSKPROTECT);
02267  M00S01992.fsescrn +++|            END
02268  M00S01993.fsescrn +++|          ELSE
02269  M00S01994.fsescrn +++|            BEGIN                    # NO PROTECT #
02270  M00S01995.fsescrn +++|            VDTSAM(0);
02271  M00S01996.fsescrn +++|            END
02272  M00S01997.fsescrn +++|          TTSTR(FKEYSPC1);           # " $" OR "$" #
02273  M00S01998.fsescrn +++|          END
02274  M00S01999.fsescrn +++|        END
02275  M00S02000.fsescrn +++|      IF NOT TABLOCKMDE[0] THEN
02276  M00S02001.fsescrn +++|        BEGIN                        # IF CHARACTER MODE TERMINAL #
02277  M00S02002.fsescrn +++|        IF NOT(TABATTRCHR[0] AND TABLASTPOS[0] EQ CURSORMOVE"SCROLL"
02278  M00S02003.fsescrn +++|          AND VTYCUR EQ VTYMAX) THEN VDTSAM(0);
02279  M00S02004.fsescrn +++|        END
02280  M00S02005.fsescrn +++|      ELSE
02281  M00S02006.fsescrn +++|        BEGIN                        # IF BLOCK MODE TERMINAL #
Line S02007 Modification History
M01 (Removed by) ns2675
Seq #  *Modification Id* Act 
----------------------------+
02282  M01S02007.ns2675  ---|        IF SCRNPT1 EQ FKEYROW+2 THEN VDTCLL(0,SCRNPT1);
Line S00021 Modification History
M01 (Added by) ns2675
M02 (Removed by) ns2700
Seq #  *Modification Id* Act 
----------------------------+
02283  M02S00021.ns2700  ---|        IF SCRNPT1 EQ FKEYROW+2 OR SCRNPT1 EQ FKEYROW+5 THEN
Line S00016 Modification History
M01 (Added by) ns2700
Seq #  *Modification Id* Act 
----------------------------+
02284  M01S00016.ns2700  +++|        IF SCRNPT1 EQ FKEYROW+1+SHIFTFKEY
02285  M01S00017.ns2700  +++|          OR SCRNPT1 EQ FKEYROW+2*(2+SHIFTFKEY)-1 THEN
Line S00022 Modification History
M01 (Added by) ns2675
Seq #  *Modification Id* Act 
----------------------------+
02286  M01S00022.ns2675  +++|          VDTCLL(0,SCRNPT1);
02287  M00S02008.fsescrn +++|        END
02288  M00S02009.fsescrn +++|      ATTRIBMASK[0] = 0;             # CLEAR MASK #
02289  M00S02010.fsescrn +++|      GOTO PTDONE;
02290  M00S02011.fsescrn +++|
02291  M00S02012.fsescrn +++|PTEMPTY:
02292  M00S02013.fsescrn +++|      VDTSAP(DUMB,0,SCRNPT1);        # SET UP AN ATTR BYTE #
02293  M00S02014.fsescrn +++|      VDTSAM(0);
02294  M00S02015.fsescrn +++|      VDTCLL(0,SCRNPT1);
02295  M00S02016.fsescrn +++|      GOTO PTDONE;
02296  M00S02017.fsescrn +++|
02297  M00S02018.fsescrn +++|PTCMD:
02298  M00S02019.fsescrn +++|      VDTSAP(DUMB,0,COMMANDROW);     # SET UP AN ATTR BYTE #
02299  M00S02020.fsescrn +++|      VDTSAM(0);
02300  M00S02021.fsescrn +++|      VDTCLL(0,COMMANDROW);
02301  M00S02022.fsescrn +++|      GOTO PTDONE;
02302  M00S02023.fsescrn +++|
02303  M00S02024.fsescrn +++|PTRESPONSE:
02304  M00S02025.fsescrn +++|      VDTSAP(DUMB,0,RESPONSEROW);    # SET ATTRIBUTE POSITION #
02305  M00S02026.fsescrn +++|      IF TABLOCKMDE[0] THEN VDTSAM(MSKPROTECT);
02306  M00S02027.fsescrn +++|      VDTCLL(0,RESPONSEROW);
02307  M00S02028.fsescrn +++|      ATTRIBMASK[0] = 0;
02308  M00S02029.fsescrn +++|                                     # FALL THROUGH TO PTDONE #
02309  M00S02030.fsescrn +++|PTDONE:
02310  M00S02031.fsescrn +++|
02311  M00S02032.fsescrn +++|      END
02312  M00S02033.fsescrn +++|    END
02313  M00S02034.fsescrn +++|
02314  M00S02035.fsescrn +++|  IF ERRCURSOR GQ 0 THEN
02315  M00S02036.fsescrn +++|    BEGIN
02316  M00S02037.fsescrn +++|    XCURSOR=ERRCURSOR;
02317  M00S02038.fsescrn +++|    IF YCURSOR EQ COMMANDROW THEN
02318  M00S02039.fsescrn +++|      BEGIN                          # IF COMMAND ROW #
02319  M00S02040.fsescrn +++|      IF TABLOCKMDE[0] THEN
02320  M00S02041.fsescrn +++|        BEGIN                        # SET ATTRIBUTE #
02321  M00S02042.fsescrn +++|        VDTSAP(DUMB,0,COMMANDROW);
02322  M00S02043.fsescrn +++|        VDTSAM(0);
02323  M00S02044.fsescrn +++|        END
02324  M00S02045.fsescrn +++|      VDTCLL(0,COMMANDROW);
02325  M00S02046.fsescrn +++|      FOR SCRNPT2 = 0 STEP 1 UNTIL LENGTH(CMDLIN) - 1  DO
02326  M00S02047.fsescrn +++|        BEGIN                        # WRITE COMMAND #
02327  M00S02048.fsescrn +++|        GETCHAR(CMDLINE,SCRNPT2,SCRNPT3);
02328  M00S02049.fsescrn +++|        VDTCHR(XLTINTXP[SCRNPT3]);
02329  M00S02050.fsescrn +++|        END
02330  M00S02051.fsescrn +++|      ROWPAINT[COMMANDROW]=TRUE;
02331  M00S02052.fsescrn +++|      END
02332  M00S02053.fsescrn +++|    END
02333  M00S02054.fsescrn +++|  ELSE
02334  M00S02055.fsescrn +++|    BEGIN                            # NO NEED TO PAINT #
02335  M00S02056.fsescrn +++|    IF TABLOCKMDE[0] THEN
02336  M00S02057.fsescrn +++|      BEGIN                          # INSURE ATTRIBUTE #
02337  M00S02058.fsescrn +++|      VDTSAP(DUMB,0,COMMANDROW);
02338  M00S02059.fsescrn +++|      VDTSAM(0);
02339  M00S02060.fsescrn +++|      END
02340  M00S02061.fsescrn +++|    END
02341  M00S02062.fsescrn +++|
02342  M00S02063.fsescrn +++|  IF ERRSTRING NQ " $" THEN
02343  M00S02064.fsescrn +++|    BEGIN
02344  M00S02065.fsescrn +++|    VDTSAP(DUMB,0,RESPONSEROW);
02345  M00S02066.fsescrn +++|    IF TABLOCKMDE[0] THEN VDTSAM(MSKPROTECT);
02346  M00S02067.fsescrn +++|    VDTCLL(0,RESPONSEROW);
02347  M00S02068.fsescrn +++|    TTSTR(ERRSTRING);
02348  M00S02069.fsescrn +++|    ATTRIBMASK[0] = 0;
02349  M00S02070.fsescrn +++|    ROWPAINT[RESPONSEROW]=TRUE;
02350  M00S02071.fsescrn +++|    END
02351  M00S02072.fsescrn +++|
02352  M00S02073.fsescrn +++|  POSZ(CURF(CURFILE));
02353  M00S02074.fsescrn +++|  IF XCURSOR LS 0 THEN XCURSOR=0;
02354  M00S02075.fsescrn +++|  IF XCURSOR GR USRNUMCOL THEN
02355  M00S02076.fsescrn +++|    BEGIN                            # IF CURSOR OFF EDGE OF SCREEN #
02356  M00S02077.fsescrn +++|    XCURSOR=0;
02357  M00S02078.fsescrn +++|    IF ERRSTRING EQ " $" THEN
02358  M00S02079.fsescrn +++|      BEGIN                          # IF NO OTHER ERROR MESSAGE #
02359  M00S02080.fsescrn +++|      ERRSTRING = "CURSOR RESET FROM BEYOND EDGE OF SCREEN$";
02360  M00S02081.fsescrn +++|      CONTROL IFEQ SINGLE,1;         # IF NOT MULTI USER FSE #
02361  M00S02082.fsescrn +++|        IF TABLOCKMDE[0] THEN
02362  M00S02083.fsescrn +++|          BEGIN
02363  M00S02084.fsescrn +++|          VDTSAP(DUMB,0,RESPONSEROW);
02364  M00S02085.fsescrn +++|          VDTSAM(MSKPROTECT);
02365  M00S02086.fsescrn +++|          END
02366  M00S02087.fsescrn +++|      CONTROL FI;                    # END OF NOT MULTI USER FSE #
02367  M00S02088.fsescrn +++|      VDTCLL(0,RESPONSEROW);
02368  M00S02089.fsescrn +++|      TTSTR(ERRSTRING);
02369  M00S02090.fsescrn +++|      ATTRIBMASK[0] = 0;
02370  M00S02091.fsescrn +++|      ROWPAINT[RESPONSEROW]=TRUE;
02371  M00S02092.fsescrn +++|      END
02372  M00S02093.fsescrn +++|    END
02373  M00S02094.fsescrn +++|  VDTPOS(XCURSOR,YCURSOR);
02374  M00S02095.fsescrn +++|
02375  M00S02096.fsescrn +++|  IOEND  # PAINTSCREEN #
02376  M00S02097.fsescrn +++|PAGE                         # GLOBAL LOCATE/CHANGE PROMPT #
02377  M00S02098.fsescrn +++|
02378  M00S02099.fsescrn +++|
02379  M00S02100.fsescrn +++|PROC GLOBALPROMPT;
02380  M00S02101.fsescrn +++|  IOBEGIN(GLOBALPROMPT)
02381  M00S02102.fsescrn +++|#
02382  M00S02103.fsescrn +++|**        GLOBALPROMPT - ASK QUESTION FOR GLOBAL OPERATIONS.
02383  M00S02104.fsescrn +++|*
02384  M00S02105.fsescrn +++|*         THIS ROUTINE PROVIDES SCREEN FORMATTING AND INTERACTIVE
02385  M00S02106.fsescrn +++|*         DIALOGUE FOR THE GENERAL CATEGORY OF GLOBAL SEARCH AND
02386  M00S02107.fsescrn +++|*         GLOBAL CHANGES.  THESE FUNCTIONS REQUIRE INTERMITTENT
02387  M00S02108.fsescrn +++|*         CALLS TO A SCREEN DRIVER WHILE PROCESSING A FILE.  THE
02388  M00S02109.fsescrn +++|*         ACTUAL PROCESSING CODE INTERFACES TO EITHER GLOBALLOCATE
02389  M00S02110.fsescrn +++|*         OR GLOBALCHANGE.  THESE ROUTINES PERFORM PRELIMINARY
02390  M00S02111.fsescrn +++|*         OPERATIONS AND THEN PASS THE CALL TO THIS ROUTINE.  THEN
02391  M00S02112.fsescrn +++|*         THE INTERFACE ROUTINE ANALYZES THE USERS REPLY.
02392  M00S02113.fsescrn +++|*
02393  M00S02114.fsescrn +++|*         GLOBALPROMPT HAS THREE BASIC FUNCTIONS.  FIRST, IT DOES
02394  M00S02115.fsescrn +++|*         INITIAL SCREEN FORMATTING ON THE FIRST CALL OF THE GLOBAL
02395  M00S02116.fsescrn +++|*         OPERATION OR THE FIRST CALL AFTER A DIALOGUE.  SECOND, IT
02396  M00S02117.fsescrn +++|*         DISPLAYS EACH LINE OF TEXT AS THEY BECOME AVAILABLE.
02397  M00S02118.fsescrn +++|*         THIRD, WHEN THE DISPLAY IS FULL OR THE OPERATION IS ABOUT
02398  M00S02119.fsescrn +++|*         TO FINISH, GLOBALPROMPT PROMPTS THE USER FOR INSTRUCTIONS.
02399  M00S02120.fsescrn +++|*
02400  M00S02121.fsescrn +++|*         ENTRY  SCRNPT4 - ORDINAL OF PROMPT MESSAGE.
02401  M00S02122.fsescrn +++|*                SCREENMODE, PROMPTING - BOTH TRUE TO DO ANYTHING.
02402  M00S02123.fsescrn +++|*                ROWSUSED - AS INITIALIZED OR LEFT BY PREVIOUS CALL.
02403  M00S02124.fsescrn +++|*                LINCTR - INDICATES FINAL CALL OF GLOBAL OPERATION.
02404  M00S02125.fsescrn +++|*                CURRENT, CURSPLIT, CURFILE, TOPF() - WHERE WE ARE.
02405  M00S02126.fsescrn +++|*                COMMANDROW, TITLEROW[ALL], NUMROWS[ALL] - SETUP.
02406  M00S02127.fsescrn +++|*
02407  M00S02128.fsescrn +++|*         EXIT   SCRNPT5=1 IF PROMPT REALLY OCCURRED, ELSE 0.
02408  M00S02129.fsescrn +++|*                TTYLIN - POSSIBLY INPUT TEXT.
02409  M00S02130.fsescrn +++|*                TMPLIN - OLD VERSION OF TTYLIN IF TTYLIN CHANGED.
02410  M00S02131.fsescrn +++|*                ROWLNPTR[ALL] - INDICATE WHICH FILE LINE ON ROW.
02411  M00S02132.fsescrn +++|*                ROWUSED - UPDATED.
02412  M00S02133.fsescrn +++|*                ROWPAINT[THIS SPLIT] - TRUE.
02413  M00S02134.fsescrn +++|*                TITLE1LIN, TITLE2LIN - CLEARED.
02414  M00S02135.fsescrn +++|*
02415  M00S02136.fsescrn +++|*         MACROS GETCHAR.
02416  M00S02137.fsescrn +++|*
02417  M00S02138.fsescrn +++|*         CALLS  VDTCLL, VDTPOS, TTLPAD, TTSTR, VDTCHR, PAINTNONE,
02418  M00S02139.fsescrn +++|*                COPYLIN, ASKUSER, PAINTSPLIT.
02419  M00S02140.fsescrn +++|*
02420  M00S02141.fsescrn +++|*         USES   P<FROM>, SCRNPT1, SCRNPT2, SCRNPT3, SCRNPT6.
02421  M00S02142.fsescrn +++|#
02422  M00S02143.fsescrn +++|  ARRAY GLBLMSGS [1:4] S(8);
02423  M00S02144.fsescrn +++|    BEGIN
02424  M00S02145.fsescrn +++|    ITEM GLBLTITLE  C(0,0,40) = [ "LOCATED LINES$",
02425  M00S02146.fsescrn +++|      "LOCATED LINES$", "CHANGED LINES$", "CHANGED LINES$" ];
02426  M00S02147.fsescrn +++|    ITEM GLBLPROMPT C(4,0,40) = [
02427  M00S02148.fsescrn +++|      "ENTER LINE NUMBER OR PRESS NEXT$",
02428  M00S02149.fsescrn +++|      "ENTER LINE NUMBER OR PRESS NEXT$",
02429  M00S02150.fsescrn +++|      "ENTER UNDO OR PRESS NEXT FOR MORE$",
02430  M00S02151.fsescrn +++|      "ENTER UNDO OR PRESS NEXT TO END$" ];
02431  M00S02152.fsescrn +++|    END
02432  M00S02153.fsescrn +++|
02433  M00S02154.fsescrn +++|  SCRNPT5=0;
02434  M00S02155.fsescrn +++|
02435  M00S02156.fsescrn +++|  IF NOT (SCREENMODE AND PROMPTING) THEN IORET
02436  M00S02157.fsescrn +++|
02437  M00S02158.fsescrn +++|  IF ROWSUSED EQ 0 THEN      # INIT DISPLAY      #
02438  M00S02159.fsescrn +++|    BEGIN
02439  M00S02160.fsescrn +++|    VDTCLL(0,COMMANDROW);
02440  M00S02161.fsescrn +++|    VDTCLL(0,RESPONSEROW);
02441  M00S02162.fsescrn +++|    TITLE1LINE[0]=NULLIN;
02442  M00S02163.fsescrn +++|    TITLE2LINE[0]=NULLIN;
02443  M00S02164.fsescrn +++|    FOR SCRNPT1=0 STEP 1 UNTIL VTYMAX DO ROWLNPTR[SCRNPT1]=0;
02444  M00S02165.fsescrn +++|    FOR SCRNPT1=TITLEROW[CURSPLIT] STEP 1 UNTIL
02445  M00S02166.fsescrn +++|      TITLEROW[CURSPLIT]+NUMROWS[CURSPLIT] DO VDTCLL(0,SCRNPT1);
02446  M00S02167.fsescrn +++|    VDTPOS(0,TITLEROW[CURSPLIT]);
02447  M00S02168.fsescrn +++|    TTSTR("F$");
02448  M00S02169.fsescrn +++|    TTLCSTR("ILE $");
02449  M00S02170.fsescrn +++|    TTLFN(FILENAM[SPLITFILE[CURSPLIT]]);
02450  M00S02171.fsescrn +++|    TTSTR("   D$");
02451  M00S02172.fsescrn +++|    TTLCSTR("ISPLAYING $");
02452  M00S02173.fsescrn +++|    P<FROM>=LOC(GLBLTITLE[SCRNPT4]);
02453  M00S02174.fsescrn +++|    TTLCSTR(FROM);
02454  M00S02175.fsescrn +++|    END
02455  M00S02176.fsescrn +++|
02456  M00S02177.fsescrn +++|  IF LINCTR LS LARGENUM THEN # NOT FINAL CALL    #
02457  M00S02178.fsescrn +++|    BEGIN
02458  M00S02179.fsescrn +++|    ROWSUSED=ROWSUSED+1;
02459  M00S02180.fsescrn +++|    # PRINT ONE TEXT LINE NEXT POSITION #
02460  M00S02181.fsescrn +++|    VDTPOS(0,TITLEROW[CURSPLIT]+ROWSUSED);
02461  M00S02182.fsescrn +++|    ROWLNPTR[TITLEROW[CURSPLIT]+ROWSUSED]=CURRENT-TOPF(CURFILE);
02462  M00S02183.fsescrn +++|    TTLPAD(CURRENT-TOPF(CURFILE),7," ");
02463  M00S02184.fsescrn +++|    TTSTR(" $");
02464  M00S02185.fsescrn +++|    SCRNPT6 = -1;                    # NUMBER OF BLANKS SO FAR, - 1 #
02465  M00S02186.fsescrn +++|    FOR SCRNPT1=0 STEP 1 UNTIL MIN(LENGTH(LIN)-1,VTXMAX-8) DO
02466  M00S02187.fsescrn +++|      BEGIN
02467  M00S02188.fsescrn +++|      GETCHAR(LINE,SCRNPT1,SCRNPT2);
02468  M00S02189.fsescrn +++|      IF SCRNPT2 EQ CBLANK THEN
02469  M00S02190.fsescrn +++|        BEGIN                       # IF CHARACTER IS A BLANK #
02470  M00S02191.fsescrn +++|        SCRNPT6 = SCRNPT6 + 1;
02471  M00S02192.fsescrn +++|        END
02472  M00S02193.fsescrn +++|      ELSE
02473  M00S02194.fsescrn +++|        BEGIN                        # NOT A BLANK #
02474  M00S02195.fsescrn +++|        IF SCRNPT6 GQ 0 THEN
02475  M00S02196.fsescrn +++|          BEGIN                      # IF SOME BLANKS HAVE BEEN SEEN #
02476  M00S02197.fsescrn +++|          IF SCRNPT6 GQ VTNUMBLNK[0] THEN
02477  M00S02198.fsescrn +++|            BEGIN                    # IF AT OR PAST THRESHOLD #
02478  M00S02199.fsescrn +++|            VDTPOS(SCRNPT1+8,VTYCUR);
02479  M00S02200.fsescrn +++|            END
02480  M00S02201.fsescrn +++|          ELSE
02481  M00S02202.fsescrn +++|            BEGIN                    # NOT WORTH VDTPOS #
02482  M00S02203.fsescrn +++|            SCRNPT3 = XLTINTXP[CBLANK];
Line S02204 Modification History
M01 (Removed by) ns2444a
Seq #  *Modification Id* Act 
----------------------------+
02483  M01S02204.ns2444a ---|            FOR DUMB = 0 STEP 1 UNTIL SCRNPT6 DO
Line S00002 Modification History
M01 (Added by) ns2444a
Seq #  *Modification Id* Act 
----------------------------+
02484  M01S00002.ns2444a +++|            FOR SCRNPT6 = SCRNPT6 STEP -1 UNTIL 0 DO
02485  M00S02205.fsescrn +++|              BEGIN                  # SEND BLANKS #
02486  M00S02206.fsescrn +++|              VDTCHR(SCRNPT3);
02487  M00S02207.fsescrn +++|              END
02488  M00S02208.fsescrn +++|            END
02489  M00S02209.fsescrn +++|          SCRNPT6 = -1;              # RESET BLANK COUNT #
02490  M00S02210.fsescrn +++|          END
02491  M00S02211.fsescrn +++|        SCRNPT2 = XLTINTXP[SCRNPT2];
02492  M00S02212.fsescrn +++|        VDTCHR(SCRNPT2);
02493  M00S02213.fsescrn +++|        END
02494  M00S02214.fsescrn +++|      END
02495  M00S02215.fsescrn +++|    END
02496  M00S02216.fsescrn +++|
02497  M00S02217.fsescrn +++|  IF ROWSUSED LS NUMROWS[CURSPLIT] AND LINCTR LS LARGENUM
02498  M00S02218.fsescrn +++|    THEN IORET
02499  M00S02219.fsescrn +++|
02500  M00S02220.fsescrn +++|  PAINTNONE;                         # SUPPRESS PAINTSCREEN OUTPUT #
02501  M00S02221.fsescrn +++|  COPYLIN(TTYLIN,TMPLIN);      # PRESERVE OLD TTYLIN         #
02502  M00S02222.fsescrn +++|  P<FROM>=LOC(GLBLPROMPT[SCRNPT4]);
02503  M00S02223.fsescrn +++|  ASKUSER(FROM,0);
02504  M00S02224.fsescrn +++|  PROMPTING=TRUE;            # SINCE ASKUSER CLEARS        #
02505  M00S02225.fsescrn +++|  PAINTSPLIT;                # SO SCREEN WILL BE RE-BUILT  #
02506  M00S02226.fsescrn +++|  SCRNPT5=1;                 # INDICATE PROMPT ON THIS CYCLE         #
02507  M00S02227.fsescrn +++|  ROWSUSED=0;                # INDICATE FRESH BATCH NEXT TIME        #
02508  M00S02228.fsescrn +++|
02509  M00S02229.fsescrn +++|  IOEND                       # OF GLOBALPROMPT   #
02510  M00S02230.fsescrn +++|
02511  M00S02231.fsescrn +++|
02512  M00S02232.fsescrn +++|PROC GLOBALLOCATE;
02513  M00S02233.fsescrn +++|  IOBEGIN(GLOBALLOCATE)
02514  M00S02234.fsescrn +++|#
02515  M00S02235.fsescrn +++|**        GLOBALLOCATE - GLOBAL LOCATE PROMPTING INTERFACE.
02516  M00S02236.fsescrn +++|*
02517  M00S02237.fsescrn +++|*         GLOBALLOCATE IS AN INTERFACE BETWEEN THE LOCATE
02518  M00S02238.fsescrn +++|*         COMMAND PROCESSING AND THE GLOBALPROMPT ROUTINE.
02519  M00S02239.fsescrn +++|*         GLOBAL SEARCHES DROP INTO A SECONDARY DISPLAY AND PROMPT.
02520  M00S02240.fsescrn +++|*         GLOBALLOCATE USES GLOBALPROMPT FOR CONTROL OVER THE
02521  M00S02241.fsescrn +++|*         DISPLAY AND USER'S REPLY, AND PERFORMS ITS OWN
02522  M00S02242.fsescrn +++|*         ANALYSIS OF REPLIES.  GLOBALLOCATE CAN DIRECT THE COMMAND
02523  M00S02243.fsescrn +++|*         DRIVER TO SHUTDOWN THE SEARCH ON USER REQUEST.
02524  M00S02244.fsescrn +++|*
02525  M00S02245.fsescrn +++|*         ENTRY  LINCTR - INDICATES LAST CALL OF OPERATION.
02526  M00S02246.fsescrn +++|*                CURRENT, CURSPLIT, CURFILE, TOPF() - WHERE WE ARE.
02527  M00S02247.fsescrn +++|*
02528  M00S02248.fsescrn +++|*         EXIT   LINCTR=LARGENUM FOR USER-REQUESTED SHUTDOWN.
02529  M00S02249.fsescrn +++|*                CURRENT - POSSIBLY MOVED.
02530  M00S02250.fsescrn +++|*
02531  M00S02251.fsescrn +++|*         MACROS GETCHAR.
02532  M00S02252.fsescrn +++|*
02533  M00S02253.fsescrn +++|*         CALLS  GLOBALPROMPT, WINDOLIN, POSZ.
02534  M00S02254.fsescrn +++|*
02535  M00S02255.fsescrn +++|*         USES   TTYLIN, SCRNPT4, SCRNPT5.
02536  M00S02256.fsescrn +++|#
02537  M00S02257.fsescrn +++|  ITEM TMP1, TMP2, TMP3;     # USE INSTANTLY     #
02538  M00S02258.fsescrn +++|
02539  M00S02259.fsescrn +++|  SCRNPT4=1;                 # INDICATE MESSAGE SELECTION  #
02540  M00S02260.fsescrn +++|  IF LINCTR EQ LARGENUM THEN SCRNPT4=2;
02541  M00S02261.fsescrn +++|  GLOBALPROMPT;
02542  M00S02262.fsescrn +++|  IF SCRNPT5 EQ 0 THEN IORET        # IF NO REPLY YET #
02543  M00S02263.fsescrn +++|
02544  M00S02264.fsescrn +++|  # EXIT IMMEDIATELY IF USER ESCAPING WITH FKEY #
02545  M00S02265.fsescrn +++|  IF ESCAPE THEN IORET
02546  M00S02266.fsescrn +++|
02547  M00S02267.fsescrn +++|  TMP1=-1;                   # SEE IF NUMERIC REPLY        #
02548  M00S02268.fsescrn +++|  FOR TMP2=0 STEP 1 UNTIL LENGTH(TTYLIN)-1 DO
02549  M00S02269.fsescrn +++|    BEGIN
02550  M00S02270.fsescrn +++|    GETCHAR(TTYLINE,TMP2,TMP3);
02551  M00S02271.fsescrn +++|    IF TMP3 GQ CDIGIT0 AND TMP3 LQ CDIGIT9 THEN
02552  M00S02272.fsescrn +++|      BEGIN
02553  M00S02273.fsescrn +++|      IF TMP1 LS 0 THEN TMP1=0;
02554  M00S02274.fsescrn +++|      TMP1=TMP1*10 + TMP3-CDIGIT0;
02555  M00S02275.fsescrn +++|      END
02556  M00S02276.fsescrn +++|    END
02557  M00S02277.fsescrn +++|
02558  M00S02278.fsescrn +++|  IF TMP1 LS 0 AND YCURSOR GR 0 AND ROWLNPTR[YCURSOR-1] NQ 0
02559  M00S02279.fsescrn +++|    THEN TMP1=ROWLNPTR[YCURSOR-1];     # IF CURSOR POINTED #
02560  M00S02280.fsescrn +++|
02561  M00S02281.fsescrn +++|  IF TMP1 GQ 0 THEN          # STOP ON SIGNIFICANT REPLY   #
02562  M00S02282.fsescrn +++|    BEGIN
02563  M00S02283.fsescrn +++|    LINCTR=LARGENUM;         # TO STOP DORANGE   #
02564  M00S02284.fsescrn +++|    TMP1=TMP1+TOPF(CURFILE);
02565  M00S02285.fsescrn +++|    WINDOLIN(TMP1,CURFILE);
02566  M00S02286.fsescrn +++|    POSZ(TMP1);
02567  M00S02287.fsescrn +++|    END
02568  M00S02288.fsescrn +++|
02569  M00S02289.fsescrn +++|  IOEND                       # OF GLOBALLOCATE   #
02570  M00S02290.fsescrn +++|
02571  M00S02291.fsescrn +++|
02572  M00S02292.fsescrn +++|PROC GLOBALCHANGE;
02573  M00S02293.fsescrn +++|  IOBEGIN(GLOBALCHANGE)
02574  M00S02294.fsescrn +++|#
02575  M00S02295.fsescrn +++|**        GLOBALCHANGE - GLOBAL CHANGE PROMPTING INTERFACE.
02576  M00S02296.fsescrn +++|*
02577  M00S02297.fsescrn +++|*         ENTRY  LINCTR - INDICATES LAST CALL OF OPERATION.
02578  M00S02298.fsescrn +++|*                CURRENT, CURSPLIT, CURFILE, TOPF() - WHERE WE ARE.
02579  M00S02299.fsescrn +++|*
02580  M00S02300.fsescrn +++|*         EXIT   LINCTR=LARGENUM FOR USER-REQUESTED SHUTDOWN.
02581  M00S02301.fsescrn +++|*                CMDLIN - POSSIBLY UNDO COMMAND.
02582  M00S02302.fsescrn +++|*
02583  M00S02303.fsescrn +++|*         MACROS GETCHAR.
02584  M00S02304.fsescrn +++|*
02585  M00S02305.fsescrn +++|*         CALLS  GLOBALPROMPT, EXCHWD, DSPLCOD, STARTCMD.
02586  M00S02306.fsescrn +++|*
02587  M00S02307.fsescrn +++|*         USES   TMPLIN, SCRNPT4, SCRNPT5.
02588  M00S02308.fsescrn +++|*
02589  M00S02309.fsescrn +++|*         NOTE   TTYLIN USED WITH RESTORATION.
02590  M00S02310.fsescrn +++|#
02591  M00S02311.fsescrn +++|
02592  M00S02312.fsescrn +++|  ITEM TMP1, TMP2, TMP3;     # USE INSTANTLY     #
02593  M00S02313.fsescrn +++|
02594  M00S02314.fsescrn +++|  IF NOT (SCREENMODE AND PROMPTING) THEN IORET   # EFFICIENT         #
02595  M00S02315.fsescrn +++|
02596  M00S02316.fsescrn +++|  SCRNPT4=3;                 # INDICATE MESSAGE SELECTION  #
02597  M00S02317.fsescrn +++|  IF LINCTR EQ LARGENUM THEN SCRNPT4=4;
02598  M00S02318.fsescrn +++|  GLOBALPROMPT;
02599  M00S02319.fsescrn +++|  IF SCRNPT5 EQ 0 THEN IORET    # LEAVE IF NO REPLY YET #
02600  M00S02320.fsescrn +++|
02601  M00S02321.fsescrn +++|  # GET OUT IF USER ESCAPING WITH FKEY #
02602  M00S02322.fsescrn +++|  IF ESCAPE THEN IORET
02603  M00S02323.fsescrn +++|
02604  M00S02324.fsescrn +++|  EXCHWD(BUFWIDP1,TTYLIN,TMPLIN);      # TTYLIN AS WAS, TMPLIN=INPUT #
02605  M00S02325.fsescrn +++|  TMP1=-1;                   # SEARCH FOR ALPHABETIC REPLY #
02606  M00S02326.fsescrn +++|  FOR TMP2=0 STEP 1 UNTIL LENGTH(TMPLIN)-1 DO
02607  M00S02327.fsescrn +++|    BEGIN
02608  M00S02328.fsescrn +++|    GETCHAR(TMPLINE,TMP2,TMP3);
02609  M00S02329.fsescrn +++|    DSPLCOD(TMP3);
02610  M00S02330.fsescrn +++|    IF TMP1 LS 0 AND TMP3 GQ CLETTERA AND TMP3 LQ CLETTERZ
02611  M00S02331.fsescrn +++|      THEN TMP1=TMP3;
02612  M00S02332.fsescrn +++|    END
02613  M00S02333.fsescrn +++|  IF TMP1 EQ "U" THEN
02614  M00S02334.fsescrn +++|    BEGIN
02615  M00S02335.fsescrn +++|    LINCTR=LARGENUM;         # TO STOP DORANGE   #
02616  M00S02336.fsescrn +++|    SETCHAR(CMDLINE,0,CLETTERU);       # CREATE UNDO COMMAND         #
02617  M00S02337.fsescrn +++|    SETCHAR(CMDLINE,1,CENDLINE);
02618  M00S02338.fsescrn +++|    STARTCMD;
02619  M00S02339.fsescrn +++|    END
02620  M00S02340.fsescrn +++|
02621  M00S02341.fsescrn +++|  IOEND                       # OF GLOBALCHANGE   #
02622  M00S02342.fsescrn +++|PAGE                         # GENERAL LINE TO SCREEN DISPLAYS       #
02623  M00S02343.fsescrn +++|
02624  M00S02344.fsescrn +++|#
02625  M00S02345.fsescrn +++|**        DEDICATED DISPLAY DRIVERS.
02626  M00S02346.fsescrn +++|*
02627  M00S02347.fsescrn +++|*         BGNDSPLAY, ENDDSPLAY, AND EOLDSPLAY PROVIDE A GENERAL
02628  M00S02348.fsescrn +++|*         MECHANISM FOR COMMAND PROCESSORS IN THE EDITOR TO
02629  M00S02349.fsescrn +++|*         OVERRIDE THE NORMAL DISPLAY AND DISPLAY SPECIALIZED
02630  M00S02350.fsescrn +++|*         INFORMATION.  AT THE CURRENT TIME, THESE ROUTINES ARE
02631  M00S02351.fsescrn +++|*         COMPILED ONLY IN THE SINGLE-USER VERSION OF THE EDITOR
02632  M00S02352.fsescrn +++|*         DUE TO THEIR LIMITED SCOPE OF NEED.
02633  M00S02353.fsescrn +++|*
02634  M00S02354.fsescrn +++|*         THE CALLER USES BGNDSPLAY TO TAKE OVER THE SCREEN,
02635  M00S02355.fsescrn +++|*         THEN USES ANY OF THE FSEFORM ROUTINES TO FORMAT EACH
02636  M00S02356.fsescrn +++|*         LINE OF TEXT, CALLING EOLDSPLAY TO ADVANCE THE CURSOR
02637  M00S02357.fsescrn +++|*         BETWEEN LINES.  THE DISPLAY IS COMPLETED BY ENDDSPLAY.
02638  M00S02358.fsescrn +++|*         NOTE THAT EOLDSPLAY INCLUDES LOGIC TO TURN PAGES.
02639  M00S02359.fsescrn +++|#
02640  M00S02360.fsescrn +++|
02641  M00S02361.fsescrn +++|CONTROL IFEQ SINGLE,1;
02642  M00S02362.fsescrn +++|
02643  M00S02363.fsescrn +++|  PROC BGNDSPLAY;
02644  M00S02364.fsescrn +++|# TITLE BGNDSPLAY - INTIALIZE DEDICATED DISPLAY FORMAT. #
02645  M00S02365.fsescrn +++|
02646  M00S02366.fsescrn +++|    BEGIN  # BGNDSPLAY #
02647  M00S02367.fsescrn +++|
02648  M00S02368.fsescrn +++|#
02649  M00S02369.fsescrn +++|**        BGNDSPLAY - INITIALIZE DEDICATED DISPLAY FORMAT.
02650  M00S02370.fsescrn +++|*
02651  M00S02371.fsescrn +++|*         PROC BGNDSPLAY
02652  M00S02372.fsescrn +++|*
02653  M00S02373.fsescrn +++|*         ENTRY  SCREENMODE - ON FOR NON-TRIVIAL OPERATION.
02654  M00S02374.fsescrn +++|*
02655  M00S02375.fsescrn +++|*         EXIT   SCRNPT1 - INITIALIZED AS PAGE COUNTER.
02656  M00S02376.fsescrn +++|*                SCREEN CLEARED, CURSOR POSITIONED.
02657  M00S02377.fsescrn +++|*                TITLE1LIN, TITLE2LIN - CLEARED.
02658  M00S02378.fsescrn +++|*
02659  M00S02379.fsescrn +++|*         CALLS  PAINTNONE, VDTCLS, VDTPOS.
02660  M00S02380.fsescrn +++|#
02661  M00S02381.fsescrn +++|
02662  M00S02382.fsescrn +++|    IF SCREENMODE THEN
02663  M00S02383.fsescrn +++|      BEGIN
02664  M00S02384.fsescrn +++|      IF SPLITFILE[2] NQ 0 THEN
02665  M00S02385.fsescrn +++|        BEGIN                        # IF IN SPLIT SCREEN MODE #
02666  M00S02386.fsescrn +++|        IF CURSPLIT EQ 1 THEN
02667  M00S02387.fsescrn +++|          BEGIN                      # IF FIRST SPLIT IS CURRENT #
02668  M00S02388.fsescrn +++|          CURSPLIT = 2;              # CLEAR FOR OTHER SPLIT #
02669  M00S02389.fsescrn +++|          PAINTNONE;
02670  M00S02390.fsescrn +++|          CURSPLIT = 1;              # RESET #
02671  M00S02391.fsescrn +++|          END
02672  M00S02392.fsescrn +++|        ELSE
02673  M00S02393.fsescrn +++|          BEGIN                      # CURRENT SPLIT IN THE SECOND #
02674  M00S02394.fsescrn +++|          CURSPLIT = 1;              # CLEAR FOR OTHER SPLIT #
02675  M00S02395.fsescrn +++|          PAINTNONE;
02676  M00S02396.fsescrn +++|          CURSPLIT = 2;              # RESET #
02677  M00S02397.fsescrn +++|          END
02678  M00S02398.fsescrn +++|        END
02679  M00S02399.fsescrn +++|      PAINTNONE;
02680  M00S02400.fsescrn +++|      VDTCLS;
02681  M00S02401.fsescrn +++|      TITLE1LINE[0]=NULLIN;
02682  M00S02402.fsescrn +++|      TITLE2LINE[0]=NULLIN;
02683  M00S02403.fsescrn +++|      SCRNPT1=TITLEROW[1];
02684  M00S02404.fsescrn +++|      VDTPOS(0,SCRNPT1);
02685  M00S02405.fsescrn +++|      END
02686  M00S02406.fsescrn +++|
02687  M00S02407.fsescrn +++|    END  # BGNDSPLAY #
02688  M00S02408.fsescrn +++|
02689  M00S02409.fsescrn +++|
02690  M00S02410.fsescrn +++|  PROC ENDDSPLAY;
02691  M00S02411.fsescrn +++|    BEGIN
02692  M00S02412.fsescrn +++|#
02693  M00S02413.fsescrn +++|**        ENDDSPLAY - TERMINATE SPECIAL DISPLAY SEQUENCE.
02694  M00S02414.fsescrn +++|*
02695  M00S02415.fsescrn +++|*         EXIT   ROWPAINT[ALL] - TRUE.
02696  M00S02416.fsescrn +++|*
02697  M00S02417.fsescrn +++|*         CALLS  EOLDSPLAY, PAINTALL.
02698  M00S02418.fsescrn +++|*
02699  M00S02419.fsescrn +++|*         USES   SCRNPT1.
02700  M00S02420.fsescrn +++|#
02701  M00S02421.fsescrn +++|    SCRNPT1=VTYMAX;
02702  M00S02422.fsescrn +++|    EOLDSPLAY;
02703  M00S02423.fsescrn +++|    PAINTALL;
02704  M00S02424.fsescrn +++|    END                       # OF ENDDSPLAY      #
02705  M00S02425.fsescrn +++|
02706  M00S02426.fsescrn +++|
02707  M00S02427.fsescrn +++|  PROC EOLDSPLAY;
02708  M00S02428.fsescrn +++|    BEGIN
02709  M00S02429.fsescrn +++|#
02710  M00S02430.fsescrn +++|**        EOLDSPLAY - LINE BY LINE CONTROL FOR SPECIAL DISPLAYS.
02711  M00S02431.fsescrn +++|*
02712  M00S02432.fsescrn +++|*         ENTRY  SCREENMODE - TRUE FOR NON-TRIVIAL OPERATION.
02713  M00S02433.fsescrn +++|*                SCRNPT1 - AS INITIALIZED BY BGNDSPLAY OR INCREMENTED
02714  M00S02434.fsescrn +++|*                    IN LAST CALL TO EOLDSPLAY.
02715  M00S02435.fsescrn +++|*
02716  M00S02436.fsescrn +++|*         EXIT   SCRNPT1 - INCREMENTED OR RE-INITIALIZED.
02717  M00S02437.fsescrn +++|*                CURSOR MOVED TO NEXT LINE.
02718  M00S02438.fsescrn +++|*
02719  M00S02439.fsescrn +++|*         CALLS  ASKUSER, BGNDSPLAY, VDTPOS, TTBRK.
02720  M00S02440.fsescrn +++|*
02721  M00S02441.fsescrn +++|*         USES   SCRNPT2.
02722  M00S02442.fsescrn +++|#
02723  M00S02443.fsescrn +++|    IF SCREENMODE THEN
02724  M00S02444.fsescrn +++|      BEGIN
02725  M00S02445.fsescrn +++|      SCRNPT1=SCRNPT1+1;
02726  M00S02446.fsescrn +++|      SCRNPT2=USRNUMLIN;
02727  M00S02447.fsescrn +++|      IF SCRNPT2 EQ COMMANDROW THEN SCRNPT2=SCRNPT2-1;
02728  M00S02448.fsescrn +++|      IF SCRNPT1 GR SCRNPT2 THEN
02729  M00S02449.fsescrn +++|        BEGIN
02730  M00S02450.fsescrn +++|        ASKUSER("PRESS NEXT TO CONTINUE$",0);
02731  M00S02451.fsescrn +++|        BGNDSPLAY;
02732  M00S02452.fsescrn +++|        END
02733  M00S02453.fsescrn +++|      ELSE VDTPOS(0,SCRNPT1);
02734  M00S02454.fsescrn +++|      END
02735  M00S02455.fsescrn +++|    ELSE TTBRK;
02736  M00S02456.fsescrn +++|    END                       # OF EOLDSPLAY      #
02737  M00S02457.fsescrn +++|
02738  M00S02458.fsescrn +++|CONTROL FI;
02739  M00S02459.fsescrn +++|PAGE                         # SCREEN SETUP/MANIPULATION   #
02740  M00S02460.fsescrn +++|
02741  M00S02461.fsescrn +++|
02742  M00S02462.fsescrn +++|PROC PAINTALL;
02743  M00S02463.fsescrn +++|  BEGIN
02744  M00S02464.fsescrn +++|#
02745  M00S02465.fsescrn +++|**        PAINTALL - SET PAINT BITS ON ALL LINES.
02746  M00S02466.fsescrn +++|*
02747  M00S02467.fsescrn +++|*         EXIT   ROWPAINT[ALL] - TRUE.
02748  M00S02468.fsescrn +++|*
02749  M00S02469.fsescrn +++|*         CALLS  PAINTREST.
02750  M00S02470.fsescrn +++|#
02751  M00S02471.fsescrn +++|  PAINTREST(0);
02752  M00S02472.fsescrn +++|  END                        # OF PAINTALL     #
02753  M00S02473.fsescrn +++|
02754  M00S02474.fsescrn +++|
02755  M00S02475.fsescrn +++|PROC PAINTNONE;
02756  M00S02476.fsescrn +++|  BEGIN
02757  M00S02477.fsescrn +++|#
02758  M00S02478.fsescrn +++|**        PAINTNONE - CLEAR PAINT BITS FOR ONE SPLIT.
02759  M00S02479.fsescrn +++|*
02760  M00S02480.fsescrn +++|*         ENTRY  CURSPLIT - WHICH SPLIT TO SUPPRESS PAINT.
02761  M00S02481.fsescrn +++|*                TITLEROW[1-2], NUMROWS[1-2] - SETUP.
02762  M00S02482.fsescrn +++|*
02763  M00S02483.fsescrn +++|*         EXIT   ROWPAINT[ALL IN SPLIT] - FALSE.
02764  M00S02484.fsescrn +++|*                ROWORIG[ALL IN SPLIT] - NOMINAL.
02765  M00S02485.fsescrn +++|#
02766  M00S02486.fsescrn +++|  FOR SCRNPT1=TITLEROW[CURSPLIT] STEP 1 UNTIL
02767  M00S02487.fsescrn +++|    TITLEROW[CURSPLIT]+NUMROWS[CURSPLIT] DO
02768  M00S02488.fsescrn +++|    BEGIN                     # SUPPRESS PAINTSCREEN OUTPUT #
02769  M00S02489.fsescrn +++|    ROWPAINT[SCRNPT1]=FALSE;
02770  M00S02490.fsescrn +++|    ROWORIG[SCRNPT1]=SCRNPT1;
02771  M00S02491.fsescrn +++|    END
02772  M00S02492.fsescrn +++|  END                         # OF PAINTNONE      #
02773  M00S02493.fsescrn +++|
02774  M00S02494.fsescrn +++|
02775  M00S02495.fsescrn +++|PROC PAINTREST(PARM);
02776  M00S02496.fsescrn +++|# TITLE PAINTREST - SET PAINT BITS FOR REST OF SCREEN. #
02777  M00S02497.fsescrn +++|
02778  M00S02498.fsescrn +++|  BEGIN  # PAINTREST #
02779  M00S02499.fsescrn +++|
02780  M00S02500.fsescrn +++|#
02781  M00S02501.fsescrn +++|**        PAINTREST - SET PAINT BITS FOR REST OF SCREEN.
02782  M00S02502.fsescrn +++|*
02783  M00S02503.fsescrn +++|*         PROC PAINTREST(PARM)
02784  M00S02504.fsescrn +++|*
02785  M00S02505.fsescrn +++|*         ENTRY  PARM - FIRST LINE TO SET BIT FOR.
02786  M00S02506.fsescrn +++|*                VTYMAX - LAST LINE.
02787  M00S02507.fsescrn +++|*
02788  M00S02508.fsescrn +++|*         EXIT   ROWPAINT[THOSE] - TRUE.
02789  M00S02509.fsescrn +++|#
02790  M00S02510.fsescrn +++|
02791  M00S02511.fsescrn +++|  ITEM PARM      I;                  # FIRST LINE #
02792  M00S02512.fsescrn +++|  ITEM TMP1      I;                  # TEMPORARY STORAGE #
02793  M00S02513.fsescrn +++|
02794  M00S02514.fsescrn +++|  FOR TMP1=PARM STEP 1 UNTIL VTYMAX DO
02795  M00S02515.fsescrn +++|    BEGIN
02796  M00S02516.fsescrn +++|    ROWPAINT[TMP1]=TRUE;
02797  M00S02517.fsescrn +++|    IF ROWTYPE[TMP1] EQ ROWST"TITLE" THEN
02798  M00S02518.fsescrn +++|      BEGIN
02799  M00S02519.fsescrn +++|      IF ROWSPLIT[TMP1] EQ 1 THEN TITLE1LINE[0]=NULLIN;
02800  M00S02520.fsescrn +++|      ELSE TITLE2LINE[0]=NULLIN;
02801  M00S02521.fsescrn +++|      END
02802  M00S02522.fsescrn +++|    END
02803  M00S02523.fsescrn +++|
02804  M00S02524.fsescrn +++|  END  # PAINTREST #
02805  M00S02525.fsescrn +++|
02806  M00S02526.fsescrn +++|
02807  M00S02527.fsescrn +++|PROC PAINTSPLIT;
02808  M00S02528.fsescrn +++|# TITLE PAINTSPLIT - SET PAINT BITS ALL LINES ONE SPLIT. #
02809  M00S02529.fsescrn +++|
02810  M00S02530.fsescrn +++|  BEGIN  # PAINTSPLIT #
02811  M00S02531.fsescrn +++|
02812  M00S02532.fsescrn +++|#
02813  M00S02533.fsescrn +++|**        PAINTSPLIT - SET PAINT BITS ALL LINES ONE SPLIT.
02814  M00S02534.fsescrn +++|*
02815  M00S02535.fsescrn +++|*         PROC PAINTSPLIT
02816  M00S02536.fsescrn +++|*
02817  M00S02537.fsescrn +++|*         ENTRY  CURSPLIT - WHICH SPLIT TO PAINT.
02818  M00S02538.fsescrn +++|*                TITLEROW[1-2], NUMROWS[1-2] - SETUP.
02819  M00S02539.fsescrn +++|*
02820  M00S02540.fsescrn +++|*         EXIT   ROWPAINT[ALL IN SPLIT] - TRUE.
02821  M00S02541.fsescrn +++|*
02822  M00S02542.fsescrn +++|*         CALLS  PAINTONESPLT.
02823  M00S02543.fsescrn +++|#
02824  M00S02544.fsescrn +++|
02825  M00S02545.fsescrn +++|  PAINTONESPLT(CURSPLIT);
02826  M00S02546.fsescrn +++|
02827  M00S02547.fsescrn +++|  END  # PAINTSPLIT #
02828  M00S02548.fsescrn +++|
02829  M00S02549.fsescrn +++|
02830  M00S02550.fsescrn +++|PROC PAINTONESPLT(SPLIT);
02831  M00S02551.fsescrn +++|# TITLE PAINTONESPLT - SET PAINT BITS ALL LINES ONE SPLIT. #
02832  M00S02552.fsescrn +++|
02833  M00S02553.fsescrn +++|  BEGIN  # PAINTONESPLT #
02834  M00S02554.fsescrn +++|
02835  M00S02555.fsescrn +++|#
02836  M00S02556.fsescrn +++|**        PAINTONESPLT - SET PAINT BITS ALL LINES ONE SPLIT.
02837  M00S02557.fsescrn +++|*
02838  M00S02558.fsescrn +++|*         PROC PAINTONESPLT(SPLIT)
02839  M00S02559.fsescrn +++|*
02840  M00S02560.fsescrn +++|*         ENTRY  SPLIT - WHICH SPLIT TO PAINT.
02841  M00S02561.fsescrn +++|*                TITLEROW[1-2], NUMROWS[1-2] - SETUP.
02842  M00S02562.fsescrn +++|*
02843  M00S02563.fsescrn +++|*         EXIT   ROWPAINT[ALL IN SPLIT] - TRUE.
02844  M00S02564.fsescrn +++|#
02845  M00S02565.fsescrn +++|
02846  M00S02566.fsescrn +++|  ITEM SPLIT;                        # WHICH SPLIT TO PAINT #
02847  M00S02567.fsescrn +++|  ITEM TMP1;                         # TEMPORARY STORAGE #
02848  M00S02568.fsescrn +++|
02849  M00S02569.fsescrn +++|  FOR TMP1=TITLEROW[SPLIT] STEP 1 UNTIL
02850  M00S02570.fsescrn +++|    TITLEROW[SPLIT]+NUMROWS[SPLIT] DO ROWPAINT[TMP1]=TRUE;
02851  M00S02571.fsescrn +++|
02852  M00S02572.fsescrn +++|  END  # PAINTONESPLT #
02853  M00S02573.fsescrn +++|
02854  M00S02574.fsescrn +++|
02855  M00S02575.fsescrn +++|PROC SETUPSCREEN(I,J,K);
02856  M00S02576.fsescrn +++|  BEGIN
02857  M00S02577.fsescrn +++|#
02858  M00S02578.fsescrn +++|**        SETUPSCREEN - INITIALIZE ALL SCREEN FORMAT CONTROLS.
02859  M00S02579.fsescrn +++|*
02860  M00S02580.fsescrn +++|*         ENTRY  I - FILE BRACKET NUMBER FOR SPLIT 1.
02861  M00S02581.fsescrn +++|*                J - FILE BRACKET NUMBER FOR SPLIT 2.
02862  M00S02582.fsescrn +++|*                K - NUMBER OF DATA LINES IN BOTTOM SPLIT.
02863  M00S02583.fsescrn +++|*                TABVTHOMEU[0] - CONTROLS SELECTION OF COMMANDROW.
02864  M00S02584.fsescrn +++|*                FKEYNUMROW - WHETHER TO INCLUDE FUNCTION KEY DISPLAY.
02865  M00S02585.fsescrn +++|*
02866  M00S02586.fsescrn +++|*         EXIT   COMMANDROW, FKEYROW - SETUP.
02867  M00S02587.fsescrn +++|*                TITLEROW[1-2], NUMROWS[1-2] - SETUP.
02868  M00S02588.fsescrn +++|*                TOPS(1-2), BOTS(1-2) - SETUP.
02869  M00S02589.fsescrn +++|*                ALL ROW CONTROLS SETUP.
02870  M00S02590.fsescrn +++|*
02871  M00S02591.fsescrn +++|*         CALLS  SETTOPBOTS, SETROWTYPE.
Line S00018 Modification History
M01 (Added by) ns2700
Seq #  *Modification Id* Act 
----------------------------+
02872  M01S00018.ns2700  +++|*
02873  M01S00019.ns2700  +++|*         USES   SCRNPT1, SCRNPT2.
02874  M00S02592.fsescrn +++|#
02875  M00S02593.fsescrn +++|  ITEM I,J,K;
02876  M00S02594.fsescrn +++|  ITEM NKEYS, NTITLES;
02877  M00S02595.fsescrn +++|
02878  M00S02596.fsescrn +++|
02879  M00S02597.fsescrn +++|  PROC SETROWSPLIT;
02880  M00S02598.fsescrn +++|# TITLE SETROWSPLIT - INITIALIZE ROWSPLIT VECTOR. #
02881  M00S02599.fsescrn +++|
02882  M00S02600.fsescrn +++|    BEGIN  # SETROWSPLIT #
02883  M00S02601.fsescrn +++|
02884  M00S02602.fsescrn +++|#
02885  M00S02603.fsescrn +++|**        SETROWSPLIT - INITIALIZE ROWSPLIT VECTOR.
02886  M00S02604.fsescrn +++|*
02887  M00S02605.fsescrn +++|*         PROC SETROWSPLIT
02888  M00S02606.fsescrn +++|*
02889  M00S02607.fsescrn +++|*         ENTRY  CURSPLIT - WHICH SPLIT.
02890  M00S02608.fsescrn +++|*                TITLEROW[1-2], NUMROWS[1-2] - SETUP.
02891  M00S02609.fsescrn +++|*
02892  M00S02610.fsescrn +++|*         EXIT   ROWTYPE[ALL IN SPLIT] - INITIALIZED.
02893  M00S02611.fsescrn +++|*                ROWSPLIT[ALL IN SPLIT] - INITIALIZED.
02894  M00S02612.fsescrn +++|*
02895  M00S02613.fsescrn +++|*         CALLS  PAINTSPLIT.
02896  M00S02614.fsescrn +++|*
02897  M00S02615.fsescrn +++|*         USES   SCRNPT1, SCRNPT5.
02898  M00S02616.fsescrn +++|#
02899  M00S02617.fsescrn +++|
02900  M00S02618.fsescrn +++|    IF ROWTYPE[TITLEROW[CURSPLIT]] NQ ROWST"TITLE"
02901  M00S02619.fsescrn +++|      OR ROWSPLIT[TITLEROW[CURSPLIT]] NQ CURSPLIT THEN
02902  M00S02620.fsescrn +++|      BEGIN
02903  M00S02621.fsescrn +++|      PAINTSPLIT;
02904  M00S02622.fsescrn +++|      IF CURSPLIT EQ 1 THEN TITLE1LINE[0]=NULLIN;
02905  M00S02623.fsescrn +++|      ELSE TITLE2LINE[0]=NULLIN;
02906  M00S02624.fsescrn +++|      END
02907  M00S02625.fsescrn +++|    ROWTYPE[TITLEROW[CURSPLIT]]=ROWST"TITLE";
02908  M00S02626.fsescrn +++|    ROWSPLIT[TITLEROW[CURSPLIT]]=CURSPLIT;
02909  M00S02627.fsescrn +++|    FOR SCRNPT1=1 STEP 1 UNTIL NUMROWS[CURSPLIT] DO
02910  M00S02628.fsescrn +++|      BEGIN
02911  M00S02629.fsescrn +++|      SCRNPT5=SCRNPT1+TITLEROW[CURSPLIT];
02912  M00S02630.fsescrn +++|      IF ROWTYPE[SCRNPT5] NQ ROWST"TEXT"
02913  M00S02631.fsescrn +++|        OR ROWSPLIT[SCRNPT5] NQ CURSPLIT THEN ROWPAINT[SCRNPT5]=TRUE;
02914  M00S02632.fsescrn +++|      ROWTYPE[SCRNPT5]=ROWST"TEXT";
02915  M00S02633.fsescrn +++|      ROWSPLIT[SCRNPT5]=CURSPLIT;
02916  M00S02634.fsescrn +++|      END
02917  M00S02635.fsescrn +++|
02918  M00S02636.fsescrn +++|    END  # SETROWSPLIT #
02919  M00S02637.fsescrn +++|
02920  M00S02638.fsescrn +++|
02921  M00S02639.fsescrn +++|  PROC SETROWTYPE;
02922  M00S02640.fsescrn +++|    BEGIN
02923  M00S02641.fsescrn +++|#
02924  M00S02642.fsescrn +++|**        SETROWTYPE - CLASSIFY LINES BY TYPE OF DISPLAY.
02925  M00S02643.fsescrn +++|*
02926  M00S02644.fsescrn +++|*         ENTRY  COMMANDROW, RESPONSEROW, TITLEROW[1-2],
02927  M00S02645.fsescrn +++|*                FKEYROW, SPLITFILE[1-2] - INITIALIZED.
02928  M00S02646.fsescrn +++|*                VTYMAX - NUMBER OF LINES ON SCREEN.
02929  M00S02647.fsescrn +++|*
02930  M00S02648.fsescrn +++|*         EXIT   ROWTYPE[ALL] - INITIALIZED.
02931  M00S02649.fsescrn +++|*                ROWSPLIT[ALL] - INITIALIZED.
02932  M00S02650.fsescrn +++|*                CURSPLIT - INITIALIZED.
02933  M00S02651.fsescrn +++|*
02934  M00S02652.fsescrn +++|*         CALLS  SETROWSPLIT.
02935  M00S02653.fsescrn +++|*
02936  M00S02654.fsescrn +++|*         USES   SCRNPT1, SCRNPT2, SCRNPT3.
02937  M00S02655.fsescrn +++|#
02938  M00S02656.fsescrn +++|    ROWTYPE[COMMANDROW]=ROWST"COMMAND";
02939  M00S02657.fsescrn +++|    ROWSPLIT[COMMANDROW]=1;
02940  M00S02658.fsescrn +++|    ROWTYPE[RESPONSEROW] = ROWST"RESPONSE";
02941  M00S02659.fsescrn +++|
02942  M00S02660.fsescrn +++|    CURSPLIT=1;
02943  M00S02661.fsescrn +++|    SETROWSPLIT;
02944  M00S02662.fsescrn +++|    IF SPLITFILE[2] NQ 0 THEN
02945  M00S02663.fsescrn +++|      BEGIN
02946  M00S02664.fsescrn +++|      CURSPLIT=2;
02947  M00S02665.fsescrn +++|      SETROWSPLIT;
02948  M00S02666.fsescrn +++|      END
02949  M00S02667.fsescrn +++|
Line S02668 Modification History
M01 (Removed by) ns2675
Seq #  *Modification Id* Act 
----------------------------+
02950  M01S02668.ns2675  ---|    SCRNPT1=-1;
02951  M01S02669.ns2675  ---|    IF FKEYNUMROW EQ 1 THEN SCRNPT1=1;
02952  M01S02670.ns2675  ---|    IF FKEYNUMROW EQ 2 THEN SCRNPT1=4;
Line S00023 Modification History
M01 (Added by) ns2675
Seq #  *Modification Id* Act 
----------------------------+
02953  M01S00023.ns2675  +++|    IF FKEYNUMROW EQ 0 THEN SCRNPT1=-1;
Line S00024 Modification History
M01 (Added by) ns2675
M02 (Removed by) ns2700
Seq #  *Modification Id* Act 
----------------------------+
02954  M02S00024.ns2700  ---|    ELSE SCRNPT1=1+(FKEYNUMROW-1)*3;
Line S00020 Modification History
M01 (Added by) ns2700
Seq #  *Modification Id* Act 
----------------------------+
02955  M01S00020.ns2700  +++|    ELSE SCRNPT1=FKEYNUMROW*(2+SHIFTFKEY)-2;
02956  M00S02671.fsescrn +++|    FOR SCRNPT2=0 STEP 1 UNTIL SCRNPT1 DO
02957  M00S02672.fsescrn +++|      BEGIN
02958  M00S02673.fsescrn +++|      IF ROWTYPE[FKEYROW+SCRNPT2] NQ ROWST"LABEL" THEN
02959  M00S02674.fsescrn +++|        BEGIN
02960  M00S02675.fsescrn +++|        ROWPAINT[FKEYROW+SCRNPT2]=TRUE;
02961  M00S02676.fsescrn +++|        ROWTYPE[FKEYROW+SCRNPT2]=ROWST"LABEL";
02962  M00S02677.fsescrn +++|        END
02963  M00S02678.fsescrn +++|      END
02964  M00S02679.fsescrn +++|    SCRNPT1=FKEYROW+SCRNPT1+1;
02965  M00S02680.fsescrn +++|    SCRNPT3=VTYMAX;
02966  M00S02681.fsescrn +++|    IF COMMANDROW EQ VTYMAX THEN SCRNPT3=VTYMAX-1;
02967  M00S02682.fsescrn +++|    FOR SCRNPT2=SCRNPT1 STEP 1 UNTIL SCRNPT3 DO
02968  M00S02683.fsescrn +++|      BEGIN
02969  M00S02684.fsescrn +++|      # BLANK OUT BOTTOM OF SCREEN IF USER REQUESTED SHORT SCREEN #
02970  M00S02685.fsescrn +++|      IF ROWTYPE[SCRNPT2] NQ ROWST"EMPTY" THEN ROWPAINT[SCRNPT2]=TRUE;
02971  M00S02686.fsescrn +++|      ROWTYPE[SCRNPT2]=ROWST"EMPTY";
02972  M00S02687.fsescrn +++|      END
02973  M00S02688.fsescrn +++|
02974  M00S02689.fsescrn +++|    END                              # OF SETROWTYPE #
02975  M00S02690.fsescrn +++|
02976  M00S02691.fsescrn +++|
02977  M00S02692.fsescrn +++|  # ACTUAL SETUPSCREEN MAIN CODE STARTS HERE #
02978  M00S02693.fsescrn +++|
02979  M00S02694.fsescrn +++|  IF NOT SCREENMODE THEN RETURN;
02980  M00S02695.fsescrn +++|
02981  M00S02696.fsescrn +++|  IF TABVTHOMEU[0] THEN
02982  M00S02697.fsescrn +++|    BEGIN
02983  M00S02698.fsescrn +++|    COMMANDROW=0;
02984  M00S02699.fsescrn +++|    RESPONSEROW=1;
02985  M00S02700.fsescrn +++|    TITLEROW[1]=2;
02986  M00S02701.fsescrn +++|    END
02987  M00S02702.fsescrn +++|  ELSE
02988  M00S02703.fsescrn +++|    BEGIN
02989  M00S02704.fsescrn +++|    COMMANDROW=VTYMAX;
02990  M00S02705.fsescrn +++|    RESPONSEROW = VTYMAX-1;
02991  M00S02706.fsescrn +++|    TITLEROW[1]=0;
02992  M00S02707.fsescrn +++|    END
02993  M00S02708.fsescrn +++|
02994  M00S02709.fsescrn +++|  SPLITFILE[1]=I;
02995  M00S02710.fsescrn +++|  SPLITFILE[2]=J;
02996  M00S02711.fsescrn +++|
Line S02712 Modification History
M01 (Removed by) ns2675
Seq #  *Modification Id* Act 
----------------------------+
02997  M01S02712.ns2675  ---|  NKEYS=FKEYNUMROW*2;
02998  M01S02713.ns2675  ---|  IF NKEYS EQ 4 THEN NKEYS=5;
02999  M01S02714.ns2675  ---|    FKEYROW = USRNUMLIN + TITLEROW[1] - (NKEYS + 1);
Line S00025 Modification History
M01 (Added by) ns2675
M02 (Removed by) ns2700
Seq #  *Modification Id* Act 
----------------------------+
03000  M02S00025.ns2700  ---|  NKEYS=MAX(0,FKEYNUMROW*3-1);
Line S00021 Modification History
M01 (Added by) ns2700
M02 (Removed by) ns2718
Seq #  *Modification Id* Act 
----------------------------+
03001  M02S00021.ns2718  ---|  SHIFTFKEY = 0;
Line S00001 Modification History
M01 (Added by) ns2718
Seq #  *Modification Id* Act 
----------------------------+
03002  M01S00001.ns2718  +++|  SFKEYDEFS = 0;
Line S00022 Modification History
M01 (Added by) ns2700
Seq #  *Modification Id* Act 
----------------------------+
03003  M01S00022.ns2700  +++|  SCRNPT1 = 1;
03004  M01S00023.ns2700  +++|  FOR SCRNPT2 = 1 STEP 1 UNTIL POSFKEYS DO
03005  M01S00024.ns2700  +++|    BEGIN
03006  M01S00025.ns2700  +++|    IF (FKEYNAME[SCRNPT2] NQ " ") OR
03007  M01S00026.ns2700  +++|       (FKEYNAME[-SCRNPT2] NQ " ") THEN
03008  M01S00027.ns2700  +++|      BEGIN                          # IF FUNCTION KEY DEFINED #
03009  M01S00028.ns2700  +++|      FKEYNUMS[SCRNPT1] = SCRNPT2;
03010  M01S00029.ns2700  +++|      SCRNPT1 = SCRNPT1 + 1;
Line S00030 Modification History
M01 (Added by) ns2700
M02 (Removed by) ns2718
Seq #  *Modification Id* Act 
----------------------------+
03011  M02S00030.ns2718  ---|      IF FKEYNAME[-SCRNPT2] NQ " " THEN SHIFTFKEY = 1;
Line S00002 Modification History
M01 (Added by) ns2718
Seq #  *Modification Id* Act 
----------------------------+
03012  M01S00002.ns2718  +++|      IF FKEYNAME[-SCRNPT2] NQ " " THEN SFKEYDEFS = 1;
Line S00031 Modification History
M01 (Added by) ns2700
Seq #  *Modification Id* Act 
----------------------------+
03013  M01S00031.ns2700  +++|      END
03014  M01S00032.ns2700  +++|    END
03015  M01S00033.ns2700  +++|  FOR SCRNPT1 = SCRNPT1 STEP 1 UNTIL POSFKEYS DO
03016  M01S00034.ns2700  +++|    FKEYNUMS[SCRNPT1] = 0;
Line S00003 Modification History
M01 (Added by) ns2718
Seq #  *Modification Id* Act 
----------------------------+
03017  M01S00003.ns2718  +++|  SHIFTFKEY = SFKEYDEFS LAN SFKEYSHOW;
Line S00035 Modification History
M01 (Added by) ns2700
Seq #  *Modification Id* Act 
----------------------------+
03018  M01S00035.ns2700  +++|  NKEYS=MAX(0,FKEYNUMROW*(2+SHIFTFKEY)-1);
Line S00026 Modification History
M01 (Added by) ns2675
Seq #  *Modification Id* Act 
----------------------------+
03019  M01S00026.ns2675  +++|  FKEYROW = USRNUMLIN + TITLEROW[1] - (NKEYS + 1);
03020  M00S02715.fsescrn +++|
03021  M00S02716.fsescrn +++|  NUMROWS[1]=0;
03022  M00S02717.fsescrn +++|  IF K LS 0 THEN NUMROWS[2]=(USRNUMLIN-2-NKEYS)/2;
03023  M00S02718.fsescrn +++|  ELSE NUMROWS[2]=MIN(K,(USRNUMLIN-2-NKEYS));
03024  M00S02719.fsescrn +++|
03025  M00S02720.fsescrn +++|  IF J EQ 0 THEN NTITLES=1;
03026  M00S02721.fsescrn +++|  ELSE NTITLES=2;
03027  M00S02722.fsescrn +++|
03028  M00S02723.fsescrn +++|  IF I NQ 0 THEN
03029  M00S02724.fsescrn +++|    BEGIN
03030  M00S02725.fsescrn +++|    NUMROWS[1]=USRNUMLIN-NKEYS-NTITLES-NUMROWS[2]-1;
03031  M00S02726.fsescrn +++|    SETTOPBOTS(1);
03032  M00S02727.fsescrn +++|    END
03033  M00S02728.fsescrn +++|  IF J NQ 0 THEN
03034  M00S02729.fsescrn +++|    BEGIN
03035  M00S02730.fsescrn +++|    TITLEROW[2]=USRNUMLIN-NKEYS-NUMROWS[2]-2+TITLEROW[1];
03036  M00S02731.fsescrn +++|    SETTOPBOTS(2);
03037  M00S02732.fsescrn +++|    END
03038  M00S02733.fsescrn +++|  ELSE TITLEROW[2]=TITLEROW[1]+NUMROWS[1];
03039  M00S02734.fsescrn +++|  SETROWTYPE;
03040  M00S02735.fsescrn +++|  IF TABLOCKMDE[0] OR TABATTRCHR[0] THEN
03041  M00S02736.fsescrn +++|    BEGIN                            # IF ATTRIBUTE TAKES A POSITION #
03042  M00S02737.fsescrn +++|    IF TABLOCKMDE[0] THEN ATTCOUNT = 1;
03043  M00S02738.fsescrn +++|    FKEYSPC1 = "$";
03044  M00S02739.fsescrn +++|    FKEYSPC2 = "  $";
03045  M00S02740.fsescrn +++|    END
03046  M00S02741.fsescrn +++|  ELSE
03047  M00S02742.fsescrn +++|    BEGIN                            # CHARACTER MODE TERMINAL #
03048  M00S02743.fsescrn +++|    ATTCOUNT = 0;                    # NO ATTRIBUTE BYTE #
03049  M00S02744.fsescrn +++|    FKEYSPC1 = " $";
03050  M00S02745.fsescrn +++|    FKEYSPC2 = "   $";
03051  M00S02746.fsescrn +++|    END
03052  M00S02747.fsescrn +++|  END                            #  OF SETUPSCREEN  #
03053  M00S02748.fsescrn +++|
03054  M00S02749.fsescrn +++|CONTROL IFEQ SINGLE,1;
03055  M00S02750.fsescrn +++|  PROC CLEARSCREEN;
03056  M00S02751.fsescrn +++|# TITLE CLEARSCREEN - GET BACK TO LINE MODE. #
03057  M00S02752.fsescrn +++|
03058  M00S02753.fsescrn +++|    BEGIN  # CLEARSCREEN #
03059  M00S02754.fsescrn +++|
03060  M00S02755.fsescrn +++|#
03061  M00S02756.fsescrn +++|**        CLEARSCREEN - GET BACK TO LINE MODE.
03062  M00S02757.fsescrn +++|*
03063  M00S02758.fsescrn +++|*         EXIT   SCREEN CLEARED.
03064  M00S02759.fsescrn +++|*                VIRTERM SHUT DOWN VIA VDTSTM ROUTINE.
03065  M00S02760.fsescrn +++|*                ALL PAINT BITS TRUE.
03066  M00S02761.fsescrn +++|*
03067  M00S02762.fsescrn +++|*         CALLS  PAINTALL, VDTCLS, VDTSTM.
03068  M00S02763.fsescrn +++|*
03069  M00S02764.fsescrn +++|*         USES   SCRNPT1.
03070  M00S02765.fsescrn +++|#
03071  M00S02766.fsescrn +++|
03072  M00S02767.fsescrn +++|    IF SCREENMODE THEN
03073  M00S02768.fsescrn +++|      BEGIN
03074  M00S02769.fsescrn +++|      VDTCLS;
03075  M00S02770.fsescrn +++|      PAINTALL;
03076  M00S02771.fsescrn +++|      VDTSTM(0,SCRNPT1);             # SET LINE MODE #
03077  M00S02772.fsescrn +++|      ATTCOUNT = 0;                  # CLEAR ATTRIBUTE BYTE COUNT #
03078  M00S02773.fsescrn +++|      END
03079  M00S02774.fsescrn +++|
03080  M00S02775.fsescrn +++|    END  # CLEARSCREEN #
03081  M00S02776.fsescrn +++|CONTROL FI;
03082  M00S02777.fsescrn +++|PAGE                      # EDITOR/WORKIO/SCREEN INTERFACE #
03083  M00S02778.fsescrn +++|
03084  M00S02779.fsescrn +++|
03085  M00S02780.fsescrn +++|PROC SETTOPBOTS(SPLIT);
03086  M00S02781.fsescrn +++|# TITLE SETTOPBOTS - FORCE TOPS AND BOTS TO BRACKET CURRENT. #
03087  M00S02782.fsescrn +++|
03088  M00S02783.fsescrn +++|  BEGIN  # SETTOPBOTS #
03089  M00S02784.fsescrn +++|
03090  M00S02785.fsescrn +++|#
03091  M00S02786.fsescrn +++|**        SETTOPBOTS - FORCE TOPS AND BOTS TO BRACKET CURRENT.
03092  M00S02787.fsescrn +++|*
03093  M00S02788.fsescrn +++|*         SETTOPBOTS ASSURES THAT TOPS AND BOTS ARE WITHIN LEGAL
03094  M00S02789.fsescrn +++|*         FILE BOUNDARIES AND THAT THEY BRACKET THE CURRENT LINE.
03095  M00S02790.fsescrn +++|*         IF THESE CONDITIONS ARE ALREADY TRUE, NOTHING IS CHANGED.
03096  M00S02791.fsescrn +++|*         ELSE WE BUILD NEW SPLIT STARTING AT CURRENT LINE.
03097  M00S02792.fsescrn +++|*
03098  M00S02793.fsescrn +++|*         PROC SETTOPBOTS(SPLIT)
03099  M00S02794.fsescrn +++|*
03100  M00S02795.fsescrn +++|*         ENTRY  SPLIT - WHICH SPLIT.
03101  M00S02796.fsescrn +++|*                SPLITFILE[SPLIT] - SETUP.
03102  M00S02797.fsescrn +++|*                CURF(SPLITFILE[SPLIT]) - CURRENT LINE.
03103  M00S02798.fsescrn +++|*                TOPS(SPLIT), BOTS(SPLIT) - POSSIBLY ALREADY VALID.
03104  M00S02799.fsescrn +++|*
03105  M00S02800.fsescrn +++|*         EXIT   TOPS(SPLIT), BOTS(SPLIT) - GUARANTEED VALID.
03106  M00S02801.fsescrn +++|*                ROWPAINT[ALL THIS SPLIT] - POSSIBLY TRUE.
03107  M00S02802.fsescrn +++|*
03108  M00S02803.fsescrn +++|*         CALLS  SETTOPS, SETBOTS, PAINTONESPLT.
03109  M00S02804.fsescrn +++|#
03110  M00S02805.fsescrn +++|
03111  M00S02806.fsescrn +++|  ITEM SPLIT     I;                  # WHICH SPLIT #
03112  M00S02807.fsescrn +++|  ITEM L         I;                  # LINE #
03113  M00S02808.fsescrn +++|
03114  M00S02809.fsescrn +++|  SETTOPS(SPLIT);
03115  M00S02810.fsescrn +++|  SETBOTS(SPLIT);
03116  M00S02811.fsescrn +++|  L=CURF(SPLITFILE[SPLIT]);
03117  M00S02812.fsescrn +++|  L=MAX(L,TOPF(SPLITFILE[SPLIT])+1);
03118  M00S02813.fsescrn +++|  L=MIN(L,BOTF(SPLITFILE[SPLIT])-1);
03119  M00S02814.fsescrn +++|  IF L LQ TOPS(SPLIT) OR L GQ BOTS(SPLIT) THEN
03120  M00S02815.fsescrn +++|    BEGIN
03121  M00S02816.fsescrn +++|    TOPS(SPLIT)=L-1;
03122  M00S02817.fsescrn +++|    SETTOPS(SPLIT);
03123  M00S02818.fsescrn +++|    SETBOTS(SPLIT);
03124  M00S02819.fsescrn +++|    IF BOTS(SPLIT) GR TOPS(SPLIT)+1 THEN PAINTONESPLT(SPLIT);
03125  M00S02820.fsescrn +++|    END
03126  M00S02821.fsescrn +++|
03127  M00S02822.fsescrn +++|  END  # SETTOPBOTS #
03128  M00S02823.fsescrn +++|
03129  M00S02824.fsescrn +++|
03130  M00S02825.fsescrn +++|PROC SETTOPS(SPLIT);
03131  M00S02826.fsescrn +++|  BEGIN
03132  M00S02827.fsescrn +++|#
03133  M00S02828.fsescrn +++|**        SETTOPS - ASSURE TOPS() IS IN FILE BOUNDS.
03134  M00S02829.fsescrn +++|*
03135  M00S02830.fsescrn +++|*         ENTRY  SPLIT - WHICH SPLIT.
03136  M00S02831.fsescrn +++|*                SPLITFILE[SPLIT] - WHICH FILE.
03137  M00S02832.fsescrn +++|*                TOPF(FILE), BOTF(FILE) - FILE BOUNDARIES.
03138  M00S02833.fsescrn +++|*
03139  M00S02834.fsescrn +++|*         EXIT   TOPS(SPLIT) - GUARANTEED IN BOUNDS.
03140  M00S02835.fsescrn +++|#
03141  M00S02836.fsescrn +++|  ITEM SPLIT;
03142  M00S02837.fsescrn +++|  TOPS(SPLIT)=MIN(TOPS(SPLIT),BOTF(SPLITFILE[SPLIT])-2);
03143  M00S02838.fsescrn +++|  TOPS(SPLIT)=MAX(TOPS(SPLIT),TOPF(SPLITFILE[SPLIT]));
03144  M00S02839.fsescrn +++|  END                         # OF SETTOPS        #
03145  M00S02840.fsescrn +++|
03146  M00S02841.fsescrn +++|
03147  M00S02842.fsescrn +++|PROC SETBOTS(SPLIT);
03148  M00S02843.fsescrn +++|  BEGIN
03149  M00S02844.fsescrn +++|#
03150  M00S02845.fsescrn +++|**        SETBOTS - SET BOTS() BY TOPS() AND FILE BOUNDS.
03151  M00S02846.fsescrn +++|*
03152  M00S02847.fsescrn +++|*         ENTRY  SPLIT - WHICH SPLIT.
03153  M00S02848.fsescrn +++|*                SPLITFILE[SPLIT] - WHICH FILE BRACKET.
03154  M00S02849.fsescrn +++|*                TOPS(SPLIT), BOTF(FILE) - SETUP.
03155  M00S02850.fsescrn +++|*
03156  M00S02851.fsescrn +++|*         EXIT   BOTS(SPLIT) - DEFINED.
03157  M00S02852.fsescrn +++|#
03158  M00S02853.fsescrn +++|  ITEM SPLIT;
03159  M00S02854.fsescrn +++|  BOTS(SPLIT)=MIN(TOPS(SPLIT)+NUMROWS[SPLIT]+1,BOTF(SPLITFILE[SPLIT]));
03160  M00S02855.fsescrn +++|  END                      # OF SETBOTS                 #
03161  M00S02856.fsescrn +++|
03162  M00S02857.fsescrn +++|
03163  M00S02858.fsescrn +++|PROC REPX;
03164  M00S02859.fsescrn +++|  IOBEGIN(REPX)
03165  M00S02860.fsescrn +++|#
03166  M00S02861.fsescrn +++|**        REPX - INTERFACE FOR LINE REPLACEMENT.
03167  M00S02862.fsescrn +++|*
03168  M00S02863.fsescrn +++|*         REPX IS CALLED BY ANY ROUTINE IN THE EDITOR WHICH IS
03169  M00S02864.fsescrn +++|*         REPLACING A TEXT LINE IN THE WORKFILE.  NOTE THAT WE
03170  M00S02865.fsescrn +++|*         DEFINE TEXT LINES AS LINES WITHIN FILE BRACKETS.  THIS
03171  M00S02866.fsescrn +++|*         DOES NOT INCLUDE LINES IN THE AUDIT TRAIL OR IN THE
03172  M00S02867.fsescrn +++|*         FILE DIRECTORY.
03173  M00S02868.fsescrn +++|*
03174  M00S02869.fsescrn +++|*         REPX ASSURES THAT ANY SCREEN DISPLAY OF THE LINE IS
03175  M00S02870.fsescrn +++|*         FLAGGED FOR REPAINT WHEN NEEDED.  REPAINT IS NOT NEEDED
03176  M00S02871.fsescrn +++|*         FOR CHANGES MADE BY THE DOSCREEN ROUTINE TO MIMIC TERMINAL
03177  M00S02872.fsescrn +++|*         HARDWARE CAPABILITIES.  THIS IS DENOTED BY THE HARDFN FLAG.
03178  M00S02873.fsescrn +++|*
03179  M00S02874.fsescrn +++|*         LOGIC FOR THIS ROUTINE MUST CHECK SCREEN BOUNDARIES SINCE
03180  M00S02875.fsescrn +++|*         CHANGES CAN BE MADE OFF-SCREEN.  ALSO MUST CHECK FOR OVER-
03181  M00S02876.fsescrn +++|*         LAPPED SPLITS OF SAME FILE - EVEN IF CHANGE CAME AS A
03182  M00S02877.fsescrn +++|*         HARD FUNCTION, THE OVERLAPPED VERSON STILL NEEDS PAINTING.
03183  M00S02878.fsescrn +++|*
03184  M00S02879.fsescrn +++|*         ENTRY  LIN - THE LINE IMAGE AS CHANGED.
03185  M00S02880.fsescrn +++|*                CURRENT, CURSPLIT, CURFILE - WHERE WE ARE.
03186  M00S02881.fsescrn +++|*                HARDFN - TRUE IF MIMIC-ING WHAT HARDWARE ALREADY DID.
03187  M00S02882.fsescrn +++|*                TOPS(BOTH), BOTS(BOTH) - BRACKET THE LINES ON DISPLAY.
03188  M00S02883.fsescrn +++|*                SCREENMODE - TRUE FOR NON-TRIVIAL OPERATION.
03189  M00S02884.fsescrn +++|*
03190  M00S02885.fsescrn +++|*         EXIT   ROWPAINT[RIGHT ROWS] - SET TRUE IF NEEDED.
03191  M00S02886.fsescrn +++|*                WORKFILE ACCESS METHOD CALLED TO MANAGE UPDATE.
03192  M00S02887.fsescrn +++|*
03193  M00S02888.fsescrn +++|*         CALLS  REPS (INTERNAL), REPZ.
03194  M00S02889.fsescrn +++|#
03195  M00S02890.fsescrn +++|
03196  M00S02891.fsescrn +++|   PROC REPS(SPLIT);
03197  M00S02892.fsescrn +++|     BEGIN
03198  M00S02893.fsescrn +++|#
03199  M00S02894.fsescrn +++|**        REPS - INTERNAL LOGIC FOR REPX.
03200  M00S02895.fsescrn +++|*
03201  M00S02896.fsescrn +++|*         NOTE   SEE HEADER FOR REPX.
03202  M00S02897.fsescrn +++|#
03203  M00S02898.fsescrn +++|     ITEM SPLIT;
03204  M00S02899.fsescrn +++|     IF CURRENT GR TOPS(SPLIT) AND CURRENT LS BOTS(SPLIT)
03205  M00S02900.fsescrn +++|       AND (SPLIT NQ CURSPLIT OR NOT HARDFN)
03206  M00S02901.fsescrn +++|       THEN ROWPAINT[LTOY(CURRENT,SPLIT)]=TRUE;
03207  M00S02902.fsescrn +++|     END                     # OF REPS            #
03208  M00S02903.fsescrn +++|
03209  M00S02904.fsescrn +++|  # ACTUAL REPX CODE STARTS HERE #
03210  M00S02905.fsescrn +++|  REPZ;
03211  M00S02906.fsescrn +++|  IF SCREENMODE THEN
03212  M00S02907.fsescrn +++|    BEGIN
03213  M00S02908.fsescrn +++|    REPS(1);
03214  M00S02909.fsescrn +++|    REPS(2);
03215  M00S02910.fsescrn +++|    END
03216  M00S02911.fsescrn +++|  IOEND                    # OF REPX            #
03217  M00S02912.fsescrn +++|
03218  M00S02913.fsescrn +++|
03219  M00S02914.fsescrn +++|PROC INSX;
03220  M00S02915.fsescrn +++|  IOBEGIN(INSX)
03221  M00S02916.fsescrn +++|#
03222  M00S02917.fsescrn +++|**        INSX - INTERFACE FOR LINE INSERTION.
03223  M00S02918.fsescrn +++|*
03224  M00S02919.fsescrn +++|*         INSX IS CALLED BY ANY ROUTINE IN THE EDITOR WHICH IS
03225  M00S02920.fsescrn +++|*         INSERTING A TEXT LINE IN THE WORKFILE.  NOTE THAT WE
03226  M00S02921.fsescrn +++|*         DEFINE TEXT LINES AS LINES WITHIN FILE BRACKETS.  THIS
03227  M00S02922.fsescrn +++|*         DOES NOT INCLUDE LINES IN THE AUDIT TRAIL OR IN THE
03228  M00S02923.fsescrn +++|*         FILE DIRECTORY.
03229  M00S02924.fsescrn +++|*
03230  M00S02925.fsescrn +++|*         INSX ASSURES THAT ANY SCREEN DISPLAY OF THE LINE IS
03231  M00S02926.fsescrn +++|*         FLAGGED FOR REPAINT WHEN NEEDED.  REPAINT IS NOT NEEDED
03232  M00S02927.fsescrn +++|*         FOR CHANGES MADE BY THE DOSCREEN ROUTINE TO MIMIC TERMINAL
03233  M00S02928.fsescrn +++|*         HARDWARE CAPABILITIES.  THIS IS DENOTED BY THE HARDFN FLAG.
03234  M00S02929.fsescrn +++|*
03235  M00S02930.fsescrn +++|*         LOGIC FOR THIS ROUTINE MUST CHECK SCREEN BOUNDARIES SINCE
03236  M00S02931.fsescrn +++|*         CHANGES CAN BE MADE OFF-SCREEN.  ALSO MUST CHECK FOR OVER-
03237  M00S02932.fsescrn +++|*         LAPPED SPLITS OF SAME FILE - EVEN IF CHANGE CAME AS A
03238  M00S02933.fsescrn +++|*         HARD FUNCTION, THE OVERLAPPED VERSON STILL NEEDS PAINTING.
03239  M00S02934.fsescrn +++|*
03240  M00S02935.fsescrn +++|*         ENTRY  LIN - THE LINE IMAGE TO BE INSERTED.
03241  M00S02936.fsescrn +++|*                CURRENT, CURSPLIT, CURFILE - WHERE WE ARE.
03242  M00S02937.fsescrn +++|*                HARDFN - TRUE IF MIMIC-ING WHAT HARDWARE ALREADY DID.
03243  M00S02938.fsescrn +++|*                TOPS(BOTH), BOTS(BOTH) - BRACKET THE LINES ON DISPLAY.
03244  M00S02939.fsescrn +++|*                SCREENMODE - TRUE FOR NON-TRIVIAL OPERATION.
03245  M00S02940.fsescrn +++|*                TABVTPROTM[0] - TERMINAL CAPABILITY TO PROTECT FIELDS.
03246  M00S02941.fsescrn +++|*
03247  M00S02942.fsescrn +++|*         EXIT   ROWPAINT[RIGHT ROWS] - SET TRUE IF NEEDED.
03248  M00S02943.fsescrn +++|*                ROWPAINT[LOWER], ROWBITS[LOWER] - PROPOGATED AS NEEDED.
03249  M00S02944.fsescrn +++|*                WORKFILE ACCESS METHOD CALLED TO MANAGE UPDATE.
03250  M00S02945.fsescrn +++|*
03251  M00S02946.fsescrn +++|*         CALLS  INSS (INTERNAL), INSZ.
03252  M00S02947.fsescrn +++|#
03253  M00S02948.fsescrn +++|
03254  M00S02949.fsescrn +++|  PROC INSS(SPLIT);
03255  M00S02950.fsescrn +++|    BEGIN
03256  M00S02951.fsescrn +++|#
03257  M00S02952.fsescrn +++|**        INSS - INTERNAL LOGIC FOR INSX.
03258  M00S02953.fsescrn +++|*
03259  M00S02954.fsescrn +++|*         NOTE   SEE HEADER FOR INSX.
03260  M00S02955.fsescrn +++|#
03261  M00S02956.fsescrn +++|    ITEM SPLIT, I, THISROW, LASTROW;
03262  M00S02957.fsescrn +++|    IF SPLITFILE[SPLIT] NQ 0 THEN
03263  M00S02958.fsescrn +++|      BEGIN
03264  M00S02959.fsescrn +++|      IF CURRENT GR TOPF(SPLITFILE[SPLIT]) AND
03265  M00S02960.fsescrn +++|         CURRENT LS BOTF(SPLITFILE[SPLIT]) THEN
03266  M00S02961.fsescrn +++|        BEGIN
03267  M00S02962.fsescrn +++|        SETBOTS(SPLIT);
03268  M00S02963.fsescrn +++|        IF CURRENT GR TOPS(SPLIT) AND CURRENT LS BOTS(SPLIT) THEN
03269  M00S02964.fsescrn +++|          BEGIN
03270  M00S02965.fsescrn +++|          THISROW=LTOY(CURRENT,SPLIT);
03271  M00S02966.fsescrn +++|          LASTROW=TITLEROW[SPLIT]+NUMROWS[SPLIT];
03272  M00S02967.fsescrn +++|          FOR I=LASTROW STEP -1 UNTIL THISROW+1 DO
03273  M00S02968.fsescrn +++|            BEGIN
03274  M00S02969.fsescrn +++|            ROWPAINT[I]=ROWPAINT[I-1];
03275  M00S02970.fsescrn +++|            ROWBITS[I]=ROWBITS[I-1];
03276  M00S02971.fsescrn +++|            END
03277  M00S02972.fsescrn +++|          IF HARDFN AND SPLIT EQ CURSPLIT THEN
03278  M00S02973.fsescrn +++|            BEGIN
03279  M00S02974.fsescrn +++|            IF NOT TABVTPROTM[0] THEN PAINTREST(LASTROW+1);
03280  M00S02975.fsescrn +++|            END
03281  M00S02976.fsescrn +++|          ELSE
03282  M00S02977.fsescrn +++|            BEGIN
03283  M00S02978.fsescrn +++|            FOR I=LASTROW STEP -1 UNTIL THISROW+1
03284  M00S02979.fsescrn +++|              DO ROWORIG[I]=ROWORIG[I-1];
03285  M00S02980.fsescrn +++|            ROWORIG[THISROW]=0;
03286  M00S02981.fsescrn +++|            END
03287  M00S02982.fsescrn +++|          END
03288  M00S02983.fsescrn +++|        END
03289  M00S02984.fsescrn +++|      END
03290  M00S02985.fsescrn +++|    END                    # OF INSS              #
03291  M00S02986.fsescrn +++|
03292  M00S02987.fsescrn +++|  # ACTUAL INSX CODE STARTS HERE #
03293  M00S02988.fsescrn +++|  INSZ;
03294  M00S02989.fsescrn +++|  IF SCREENMODE THEN
03295  M00S02990.fsescrn +++|    BEGIN
03296  M00S02991.fsescrn +++|    INSS(1);
03297  M00S02992.fsescrn +++|    INSS(2);
03298  M00S02993.fsescrn +++|    END
03299  M00S02994.fsescrn +++|  IOEND                   # OF INSX              #
03300  M00S02995.fsescrn +++|
03301  M00S02996.fsescrn +++|
03302  M00S02997.fsescrn +++|PROC DELX;
03303  M00S02998.fsescrn +++|  IOBEGIN(DELX)
03304  M00S02999.fsescrn +++|#
03305  M00S03000.fsescrn +++|**        DELX - INTERFACE FOR LINE DELETION.
03306  M00S03001.fsescrn +++|*
03307  M00S03002.fsescrn +++|*         DELX IS CALLED BY ANY ROUTINE IN THE EDITOR WHICH IS
03308  M00S03003.fsescrn +++|*         DELETEING A TEXT LINE IN THE WORKFILE.  NOTE THAT WE
03309  M00S03004.fsescrn +++|*         DEFINE TEXT LINES AS LINES WITHIN FILE BRACKETS.  THIS
03310  M00S03005.fsescrn +++|*         DOES NOT INCLUDE LINES IN THE AUDIT TRAIL OR IN THE
03311  M00S03006.fsescrn +++|*         FILE DIRECTORY.
03312  M00S03007.fsescrn +++|*
03313  M00S03008.fsescrn +++|*         DELX ASSURES THAT ANY SCREEN DISPLAY OF THE LINE IS
03314  M00S03009.fsescrn +++|*         FLAGGED FOR REPAINT WHEN NEEDED.  REPAINT IS NOT NEEDED
03315  M00S03010.fsescrn +++|*         FOR CHANGES MADE BY THE DOSCREEN ROUTINE TO MIMIC TERMINAL
03316  M00S03011.fsescrn +++|*         HARDWARE CAPABILITIES.  THIS IS DENOTED BY THE HARDFN FLAG.
03317  M00S03012.fsescrn +++|*
03318  M00S03013.fsescrn +++|*         LOGIC FOR THIS ROUTINE MUST CHECK SCREEN BOUNDARIES SINCE
03319  M00S03014.fsescrn +++|*         CHANGES CAN BE MADE OFF-SCREEN.  ALSO MUST CHECK FOR OVER-
03320  M00S03015.fsescrn +++|*         LAPPED SPLITS OF SAME FILE - EVEN IF CHANGE CAME AS A
03321  M00S03016.fsescrn +++|*         HARD FUNCTION, THE OVERLAPPED VERSON STILL NEEDS PAINTING.
03322  M00S03017.fsescrn +++|*
03323  M00S03018.fsescrn +++|*         ENTRY  LIN - THE LINE IMAGE TO BE DELETED.
03324  M00S03019.fsescrn +++|*                CURRENT, CURSPLIT, CURFILE - WHERE WE ARE.
03325  M00S03020.fsescrn +++|*                HARDFN - TRUE IF MIMIC-ING WHAT HARDWARE ALREADY DID.
03326  M00S03021.fsescrn +++|*                TABVTPROTM[0] - TERMINAL CAPABILITY TO PROTECT FIELDS.
03327  M00S03022.fsescrn +++|*                TOPS(BOTH), BOTS(BOTH) - BRACKET THE LINES ON DISPLAY.
03328  M00S03023.fsescrn +++|*                SCREENMODE - TRUE FOR NON-TRIVIAL OPERATION.
03329  M00S03024.fsescrn +++|*
03330  M00S03025.fsescrn +++|*         EXIT   ROWPAINT[RIGHT ROWS] - SET TRUE IF NEEDED.
03331  M00S03026.fsescrn +++|*                ROWPAINT[LOWER], ROWBITS[LOWER] - POSSIBLY PROPOGATED.
03332  M00S03027.fsescrn +++|*                LIN - UNAFFECTED BY DELX CODE.  MAY BE AFFECTED BY
03333  M00S03028.fsescrn +++|*                    PASS-ON CALL TO DELZ.
03334  M00S03029.fsescrn +++|*                WORKFILE ACCESS METHOD CALLED TO MANAGE UPDATE.
03335  M00S03030.fsescrn +++|*
03336  M00S03031.fsescrn +++|*         CALLS  DELS (INTERNAL), DELZ.
03337  M00S03032.fsescrn +++|#
Line S00001 Modification History
M01 (Added by) fsesc30
Seq #  *Modification Id* Act 
----------------------------+
03338  M01S00001.fsesc30 +++|  ITEM SPLIT;                        # TEMPORARY SPLIT REFERENCE #
03339  M00S03033.fsescrn +++|
03340  M00S03034.fsescrn +++|  PROC DELS(SPLIT);
03341  M00S03035.fsescrn +++|    BEGIN
03342  M00S03036.fsescrn +++|#
03343  M00S03037.fsescrn +++|**        DELS - INTERNAL LOGIC FOR DELX.
03344  M00S03038.fsescrn +++|*
03345  M00S03039.fsescrn +++|*         NOTE   SEE HEADER FOR DELX.
03346  M00S03040.fsescrn +++|#
03347  M00S03041.fsescrn +++|    ITEM SPLIT,I,THISROW,LASTROW;
03348  M00S03042.fsescrn +++|    IF SPLITFILE[SPLIT] NQ 0 THEN
Line S03043 Modification History
M01 (Removed by) fsesc30
Seq #  *Modification Id* Act 
----------------------------+
03349  M01S03043.fsesc30 ---|      BEGIN
Line S00002 Modification History
M01 (Added by) fsesc30
Seq #  *Modification Id* Act 
----------------------------+
03350  M01S00002.fsesc30 +++|      BEGIN                          # IF A FILE IN THIS SPLIT #
Line S03044 Modification History
M01 (Removed by) fses30a
Seq #  *Modification Id* Act 
----------------------------+
03351  M01S03044.fses30a ---|      IF CURRENT GQ TOPF(SPLITFILE[SPLIT]) AND
03352  M01S03045.fses30a ---|         CURRENT LQ BOTF(SPLITFILE[SPLIT]) THEN
Line S03046 Modification History
M01 (Removed by) fsesc30
M02 (Removed by) fses30a
Seq #  *Modification Id* Act 
----------------------------+
03353  M02S03046.fses30a ---|        BEGIN
03354  M02S03047.fses30a ---|        IF CURRENT GQ TOPS(SPLIT) AND CURRENT LQ BOTS(SPLIT) THEN
03355  M02S03048.fses30a ---|          BEGIN
Line S00003 Modification History
M01 (Added by) fsesc30
M02 (Removed by) fses30a
Seq #  *Modification Id* Act 
----------------------------+
03356  M02S00003.fses30a ---|        BEGIN                        # IF DELETED LINE IN THIS FILE #
03357  M02S00004.fses30a ---|        IF TEMP GR 0 AND CURRENT LS BOTS(SPLIT) THEN
Line S00001 Modification History
M01 (Added by) fses30a
Seq #  *Modification Id* Act 
----------------------------+
03358  M01S00001.fses30a +++|        IF TEMP GR 0 THEN
Line S00005 Modification History
M01 (Added by) fsesc30
Seq #  *Modification Id* Act 
----------------------------+
03359  M01S00005.fsesc30 +++|          BEGIN                      # IF DELETED LINE WAS ON SCREEN #
03360  M00S03049.fsescrn +++|          THISROW=CURRENT-DELETCTL;
03361  M00S03050.fsescrn +++|          THISROW=LTOY(THISROW,SPLIT);
03362  M00S03051.fsescrn +++|          LASTROW=TITLEROW[SPLIT]+NUMROWS[SPLIT];
03363  M00S03052.fsescrn +++|          FOR I=THISROW+2 STEP 1 UNTIL LASTROW DO
Line S03053 Modification History
M01 (Removed by) fsesc30
Seq #  *Modification Id* Act 
----------------------------+
03364  M01S03053.fsesc30 ---|            BEGIN
Line S00006 Modification History
M01 (Added by) fsesc30
Seq #  *Modification Id* Act 
----------------------------+
03365  M01S00006.fsesc30 +++|            BEGIN                    # REPAINT LINES AFTER DELETION #
03366  M00S03054.fsescrn +++|            ROWPAINT[I-1]=ROWPAINT[I];
03367  M00S03055.fsescrn +++|            ROWBITS[I-1]=ROWBITS[I];
03368  M00S03056.fsescrn +++|            END
03369  M00S03057.fsescrn +++|          ROWPAINT[LASTROW]=TRUE;
03370  M00S03058.fsescrn +++|          IF HARDFN AND SPLIT EQ CURSPLIT THEN
03371  M00S03059.fsescrn +++|            BEGIN
03372  M00S03060.fsescrn +++|            IF NOT TABVTPROTM[0] THEN PAINTREST(LASTROW);
03373  M00S03061.fsescrn +++|            END
03374  M00S03062.fsescrn +++|          ELSE
03375  M00S03063.fsescrn +++|            BEGIN
03376  M00S03064.fsescrn +++|            ROWORIG[THISROW]=0;
03377  M00S03065.fsescrn +++|            FOR I=THISROW+2 STEP 1 UNTIL LASTROW
03378  M00S03066.fsescrn +++|              DO ROWORIG[I-1]=ROWORIG[I];
03379  M00S03067.fsescrn +++|            END
03380  M00S03068.fsescrn +++|          END
Line S00007 Modification History
M01 (Added by) fsesc30
M02 (Removed by) fses30a
Seq #  *Modification Id* Act 
----------------------------+
03381  M02S00007.fses30a ---|        POPTEMP;
Line S03069 Modification History
M01 (Removed by) fses30a
Seq #  *Modification Id* Act 
----------------------------+
03382  M01S03069.fses30a ---|        END
Line S00002 Modification History
M01 (Added by) fses30a
Seq #  *Modification Id* Act 
----------------------------+
03383  M01S00002.fses30a +++|      POPTEMP;
03384  M00S03070.fsescrn +++|      END
03385  M00S03071.fsescrn +++|    END                    # OF DELS             #
03386  M00S03072.fsescrn +++|
03387  M00S03073.fsescrn +++|  # ACTUAL DELX CODE STARTS HERE #
03388  M00S03074.fsescrn +++|
03389  M00S03075.fsescrn +++|  IF NUMMARKS GR 0 THEN
03390  M00S03076.fsescrn +++|    BEGIN                            # IF MARK IS ACTIVE #
03391  M00S03077.fsescrn +++|    IF CURRENT EQ REGLINE[MARKREG] THEN
03392  M00S03078.fsescrn +++|      BEGIN                          # IF FIRST MARKED LINE DELETED #
03393  M00S03079.fsescrn +++|      IF REGLINE[MARKREG+1] GR CURRENT THEN
03394  M00S03080.fsescrn +++|        BEGIN                        # IF MORE THAN ONE MARKED LINE #
03395  M00S03081.fsescrn +++|        REGLINE[MARKREG] = CURRENT + 1;
03396  M00S03082.fsescrn +++|        MRKCHAR[0] = - 1;
03397  M00S03083.fsescrn +++|        END
03398  M00S03084.fsescrn +++|      ELSE
03399  M00S03085.fsescrn +++|        BEGIN                        # ONLY ONE MARKED LINE #
Line S03086 Modification History
M01 (Removed by) fsesc30
Seq #  *Modification Id* Act 
----------------------------+
03400  M01S03086.fsesc30 ---|      KILLMARKS = TRUE;
Line S00008 Modification History
M01 (Added by) fsesc30
Seq #  *Modification Id* Act 
----------------------------+
03401  M01S00008.fsesc30 +++|        KILLMARKS = TRUE;
03402  M00S03087.fsescrn +++|        END
03403  M00S03088.fsescrn +++|      END
03404  M00S03089.fsescrn +++|    ELSE
03405  M00S03090.fsescrn +++|      BEGIN                          # NOT FIRST MARKED LINE DELETED #
03406  M00S03091.fsescrn +++|      IF CURRENT EQ REGLINE[MARKREG+1] THEN
03407  M00S03092.fsescrn +++|        BEGIN                        # IF LAST MARKED LINE DELETED #
03408  M00S03093.fsescrn +++|        IF REGLINE[MARKREG] LS CURRENT THEN
03409  M00S03094.fsescrn +++|          BEGIN                      # IF MORE THAN ONE MARKED LINE #
03410  M00S03095.fsescrn +++|          REGLINE[MARKREG+1] = CURRENT - 1;
Line S03096 Modification History
M01 (Removed by) fsesc30
Seq #  *Modification Id* Act 
----------------------------+
03411  M01S03096.fsesc30 ---|        MRKCHAR[1] = - 1;
Line S00009 Modification History
M01 (Added by) fsesc30
Seq #  *Modification Id* Act 
----------------------------+
03412  M01S00009.fsesc30 +++|          MRKCHAR[1] = - 1;
03413  M00S03097.fsescrn +++|          END
03414  M00S03098.fsescrn +++|        ELSE
03415  M00S03099.fsescrn +++|          BEGIN                      # ONLY ONE MARKED LINE #
Line S03100 Modification History
M01 (Removed by) fsesc30
Seq #  *Modification Id* Act 
----------------------------+
03416  M01S03100.fsesc30 ---|        KILLMARKS = TRUE;
Line S00010 Modification History
M01 (Added by) fsesc30
Seq #  *Modification Id* Act 
----------------------------+
03417  M01S00010.fsesc30 +++|          KILLMARKS = TRUE;
03418  M00S03101.fsescrn +++|          END
03419  M00S03102.fsescrn +++|        END
03420  M00S03103.fsescrn +++|      END
03421  M00S03104.fsescrn +++|    END
Line S03105 Modification History
M01 (Removed by) fsesc30
Seq #  *Modification Id* Act 
----------------------------+
03422  M01S03105.fsesc30 ---|  DELZ;
03423  M00S03106.fsescrn +++|  IF SCREENMODE THEN
03424  M00S03107.fsescrn +++|    BEGIN
Line S00011 Modification History
M01 (Added by) fsesc30
Seq #  *Modification Id* Act 
----------------------------+
03425  M01S00011.fsesc30 +++|    FOR SPLIT=2 STEP -1 UNTIL 1 DO
03426  M01S00012.fsesc30 +++|      BEGIN
03427  M01S00013.fsesc30 +++|      IF SPLITFILE[SPLIT] NQ 0 THEN
03428  M01S00014.fsesc30 +++|        BEGIN                        # IF A FILE IN THIS SPLIT #
Line S00003 Modification History
M01 (Added by) fses30a
Seq #  *Modification Id* Act 
----------------------------+
03429  M01S00003.fses30a +++|        PUSHTEMP;
03430  M01S00004.fses30a +++|        TEMP = 0;
Line S00015 Modification History
M01 (Added by) fsesc30
Seq #  *Modification Id* Act 
----------------------------+
03431  M01S00015.fsesc30 +++|        IF CURRENT GQ TOPF(SPLITFILE[SPLIT]) AND
03432  M01S00016.fsesc30 +++|           CURRENT LQ BOTF(SPLITFILE[SPLIT]) THEN
03433  M01S00017.fsesc30 +++|          BEGIN                      # IF DELETING LINE IN THIS FILE #
Line S00018 Modification History
M01 (Added by) fsesc30
M02 (Removed by) fses30a
Seq #  *Modification Id* Act 
----------------------------+
03434  M02S00018.fses30a ---|          PUSHTEMP;
03435  M02S00019.fses30a ---|          TEMP = CURRENT - TOPS(SPLIT);
Line S00005 Modification History
M01 (Added by) fses30a
M02 (Removed by) fses30b
Seq #  *Modification Id* Act 
----------------------------+
03436  M02S00005.fses30b ---|          IF CURRENT GR TOPS(SPLIT) AND CURRENT LS BOTS(SPLIT) THEN
Line S00001 Modification History
M01 (Added by) fses30b
Seq #  *Modification Id* Act 
----------------------------+
03437  M01S00001.fses30b +++|          IF CURRENT GR TOPS(SPLIT) AND CURRENT LQ BOTS(SPLIT) THEN
Line S00006 Modification History
M01 (Added by) fses30a
Seq #  *Modification Id* Act 
----------------------------+
03438  M01S00006.fses30a +++|            TEMP = 1;
Line S00020 Modification History
M01 (Added by) fsesc30
Seq #  *Modification Id* Act 
----------------------------+
03439  M01S00020.fsesc30 +++|          END
03440  M01S00021.fsesc30 +++|        END
03441  M01S00022.fsesc30 +++|      END
03442  M01S00023.fsesc30 +++|    DELZ;
03443  M00S03108.fsescrn +++|    DELS(1);
03444  M00S03109.fsescrn +++|    DELS(2);
03445  M00S03110.fsescrn +++|    END
Line S00024 Modification History
M01 (Added by) fsesc30
Seq #  *Modification Id* Act 
----------------------------+
03446  M01S00024.fsesc30 +++|  ELSE DELZ;
03447  M00S03111.fsescrn +++|  IOEND                   # OF DELX             #
03448  M00S03112.fsescrn +++|
03449  M00S03113.fsescrn +++|
03450  M00S03114.fsescrn +++|END TERM
cdc/nos2.source/opl.opl871/deck/fsescrn.001.txt ยท Last modified: by 127.0.0.1