Deck FSESUBS Part 001

18 Modifications

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
01856  M01S01645.fsesubs +++|    NONTRIVFILE[FILNUM,1]=FDLF(FILNUM);
01857  M01S01646.fsesubs +++|    END
01858  M01S01647.fsesubs +++|  ELSE
01859  M01S01648.fsesubs +++|    BEGIN
01860  M01S01649.fsesubs +++|    FOR TEMP=1 STEP 1 UNTIL 4 DO
01861  M01S01650.fsesubs +++|      BEGIN
01862  M01S01651.fsesubs +++|      IF NONTRIVFILE[1,TEMP] EQ FDLF(FILNUM)
01863  M01S01652.fsesubs +++|        THEN NONTRIVFILE[1,TEMP]=0;
01864  M01S01653.fsesubs +++|      IF NONTRIVFILE[2,TEMP] EQ FDLF(FILNUM)
01865  M01S01654.fsesubs +++|        THEN NONTRIVFILE[2,TEMP]=0;
01866  M01S01655.fsesubs +++|      END
01867  M01S01656.fsesubs +++|    END
01868  M01S01657.fsesubs +++|  POPTEMP;
01869  M01S01658.fsesubs +++|  POP;
01870  M01S01659.fsesubs +++|
01871  M01S01660.fsesubs +++|  IOEND                         # OF CLOSEFILE   #
01872  M01S01661.fsesubs +++|PAGE                         # MISC IO ROUTINES  #
01873  M01S01662.fsesubs +++|
01874  M01S01663.fsesubs +++|
01875  M01S01664.fsesubs +++|PROC GETCMD;
01876  M01S01665.fsesubs +++|  IOBEGIN(GETCMD)
01877  M01S01666.fsesubs +++|#
01878  M01S01667.fsesubs +++|**        GETCMD - READ COMMAND STRING FROM TERMINAL.
01879  M01S01668.fsesubs +++|*
01880  M01S01669.fsesubs +++|*         EXIT   CMDLIN - TERMINAL INPUT LINE, CONVERTED TO
01881  M01S01670.fsesubs +++|*                    INTERNAL CHARSET FROM 6/12 ASCII.
01882  M01S01671.fsesubs +++|*
01883  M01S01672.fsesubs +++|*         CALLS  PROMPT, CONVIN.
01884  M01S01673.fsesubs +++|*
01885  M01S01674.fsesubs +++|*         NOTE   SHOULD BE USED ONLY IN LINE-EDITING.
01886  M01S01675.fsesubs +++|#
01887  M01S01676.fsesubs +++|  PROMPT(QCCKWRD);
01888  M01S01677.fsesubs +++|  CONVIN(CMDLIN,2);
01889  M01S01678.fsesubs +++|  IOEND                        # OF GETCMD         #
01890  M01S01679.fsesubs +++|
01891  M01S01680.fsesubs +++|
01892  M01S01681.fsesubs +++|PROC PROMPT(STR);
01893  M01S01682.fsesubs +++|  IOBEGIN(PROMPT)
01894  M01S01683.fsesubs +++|#
01895  M01S01684.fsesubs +++|**        PROMPT - ISSUE PROMPT TO TERMINAL AND INPUT LINE.
01896  M01S01685.fsesubs +++|*
01897  M01S01686.fsesubs +++|*         ENTRY  STR - PROMPT STRING, 6/12 ASCII CHARSET.
01898  M01S01687.fsesubs +++|*
01899  M01S01688.fsesubs +++|*         EXIT   TMPLIN - INPUT FROM TERMINAL.
01900  M01S01689.fsesubs +++|*
01901  M01S01690.fsesubs +++|*         CALLS  TTLIN, TTSYNC, VDTRDC, VDTDRN$.
01902  M01S01691.fsesubs +++|*
01903  M01S01692.fsesubs +++|*         NOTE   SHOULD BE USED ONLY IN LINE-EDITING.
01904  M01S01693.fsesubs +++|#
01905  M01S01694.fsesubs +++|  ITEM STR C(10);
Line S01695 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2132
Seq #  *Modification Id* Act 
----------------------------+
01906  M02S01695.ns2132  ---|  TTLIN(STR);
01907  M01S00001.ns2132  +++|  CONTROL IFEQ SINGLE,1;
01908  M01S00002.ns2132  +++|    IF INTERACT THEN TTLIN(STR);
01909  M01S00003.ns2132  +++|    ELSE TTLIN(NULLWRD);
01910  M01S00004.ns2132  +++|  CONTROL FI;
01911  M01S00005.ns2132  +++|  CONTROL IFEQ MULTI,1;
01912  M01S00006.ns2132  +++|    TTLIN(STR);
01913  M01S00007.ns2132  +++|  CONTROL FI;
01914  M01S01696.fsesubs +++|  TTSYNC;
01915  M01S01697.fsesubs +++|  VDTRDC(TMPLIN,BUFWID2P1);
01916  M01S01698.fsesubs +++|  IOEND                       # OF PROMPT         #
01917  M01S01699.fsesubs +++|
01918  M01S01700.fsesubs +++|
Line S01701 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2571
Seq #  *Modification Id* Act 
----------------------------+
01919  M02S01701.ns2571  ---|PROC DOJOIN;
01920  M01S00001.ns2571  +++|PROC DOJOIN(SETJUMP);
01921  M01S01702.fsesubs +++|  IOBEGIN(DOJOIN)
01922  M01S01703.fsesubs +++|#
01923  M01S01704.fsesubs +++|**        DOJOIN - MERGE TWO ADJACENT WORKFILE LINES.
01924  M01S01705.fsesubs +++|*
01925  M01S01706.fsesubs +++|*         ENTRY  CURRENT - POINTS AT FIRST WORKFILE LINE.
01926  M01S01707.fsesubs +++|*                CHRPTR3 - CHARACTER POSITION TO MERGE AT.
01927  M01S00002.ns2571  +++|*                SETJUMP - IF NONZERO, REMOVE LEADING SPACES ON SECOND
01928  M01S00003.ns2571  +++|*                          LINE TO BE JOINED IF AUTOINDENTING.
01929  M01S01708.fsesubs +++|*                NUMBERED[CURFILE] - INDICATES SEQUENCE MODE.
01930  M01S01709.fsesubs +++|*
01931  M01S01710.fsesubs +++|*         EXIT   LIN - COPY OF WHAT IS MERGED IN FILE.
01932  M01S01711.fsesubs +++|*
Line S01712 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2571
Seq #  *Modification Id* Act 
----------------------------+
01933  M02S01712.ns2571  ---|*         MACROS SETCHAR.
01934  M01S00004.ns2571  +++|*         MACROS GETCHAR, SETCHAR.
01935  M01S01713.fsesubs +++|*
Line S01714 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2571
Seq #  *Modification Id* Act 
----------------------------+
01936  M02S01714.ns2571  ---|*         CALLS  FWDZ, TRIMPAD, LSHIFT, COPYLIN, BAKZ, EXTENDC,
Line S01715 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2571
Seq #  *Modification Id* Act 
----------------------------+
01937  M02S01715.ns2571  ---|*                CONCAT, REPX, PUSH, DELX, POP.
01938  M01S00005.ns2571  +++|*         CALLS  BAKZ, CONCAT, COPYLIN, DELX, EXTENDC, FWDZ, LSHIFT,
01939  M01S00006.ns2571  +++|*                POP, POPTEMP, PUSH, PUSHTEMP, REPX, TRIMPAD.
01940  M01S01716.fsesubs +++|*
01941  M01S01717.fsesubs +++|*         USES   TTYLIN.
01942  M01S01718.fsesubs +++|#
01943  M01S00007.ns2571  +++|  ITEM SETJUMP;
01944  M01S00008.ns2571  +++|  ITEM TMP1, TMP2;           # USE INSTANTLY      #
01945  M01S00009.ns2571  +++|
01946  M01S01719.fsesubs +++|  IF CURRENT LS BOTF(CURFILE)-1 THEN # CAN DO IT         #
01947  M01S01720.fsesubs +++|    BEGIN
01948  M01S00010.ns2571  +++|    PUSHTEMP;
01949  M01S00011.ns2571  +++|    IF AUTOINDENT THEN TEMP = SETJUMP; ELSE TEMP = 0;
01950  M01S00012.ns2571  +++|    # END OF NON-REENTRANT PARAMETER USAGE #
01951  M01S01721.fsesubs +++|    FWDZ;                    # READ SECOND HALF  #
Line S01722 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2226
Seq #  *Modification Id* Act 
----------------------------+
01952  M02S01722.ns2226  ---|    SETCHAR(LINE,EDITFIELD,CENDLINE);  # KILL PROTECTED    #
Line S01723 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2226
Seq #  *Modification Id* Act 
----------------------------+
01953  M02S01723.ns2226  ---|    TRIMPAD;
01954  M01S00001.ns2226  +++|    IF EDITFIELD LS LENGTH(LIN) THEN
01955  M01S00002.ns2226  +++|      BEGIN
01956  M01S00003.ns2226  +++|      SETCHAR(LINE,EDITFIELD,CENDLINE);  # KILL PROTECTED    #
01957  M01S00004.ns2226  +++|      TRIMPAD;
01958  M01S00005.ns2226  +++|      END
Line S01724 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2571
Seq #  *Modification Id* Act 
----------------------------+
01959  M02S01724.ns2571  ---|    IF NUMBERED[CURFILE] NQ 0 THEN LSHIFT(LIN,NUMWIDBLK,NUMWIDBLK);
01960  M01S00013.ns2571  +++|    TMP1 = 0;
01961  M01S00014.ns2571  +++|    IF TEMP NQ 0 THEN
01962  M01S00015.ns2571  +++|      BEGIN                  # IF HONORING *SET JUMP YES* #
01963  M01S00016.ns2571  +++|      GETCHAR(LINE,TMP1,TMP2);
01964  M01S00017.ns2571  +++|      WHYLE TMP2 EQ CBLANK DO      # COUNT LEADING BLANKS #
01965  M01S00018.ns2571  +++|        BEGIN
01966  M01S00019.ns2571  +++|        TMP1 = TMP1 + 1;
01967  M01S00020.ns2571  +++|        GETCHAR(LINE,TMP1,TMP2);
01968  M01S00021.ns2571  +++|        END
01969  M01S00022.ns2571  +++|      TMP1 = MAX(0,TMP1-1);
01970  M01S00001.fsesu6  +++|      TEMP = 1;
01971  M01S00023.ns2571  +++|      END
01972  M01S00024.ns2571  +++|    IF NUMBERED[CURFILE] NQ 0 THEN TMP1 = TMP1 + NUMWIDBLK;
01973  M01S00025.ns2571  +++|    IF TMP1 GR 0 THEN LSHIFT(LIN,TMP1,TMP1);
01974  M01S00002.fsesu6  +++|    IF NUMMARKS GR 0 THEN
01975  M01S00003.fsesu6  +++|      BEGIN                  # IF MARKS ACTIVE #
01976  M01S00004.fsesu6  +++|      IF REGLINE[MARKREG] EQ CURRENT THEN
01977  M01S00005.fsesu6  +++|        BEGIN                # IF FIRST MARKED LINE #
01978  M01S00006.fsesu6  +++|        IF MRKCHAR[0] GQ 0 THEN
01979  M01S00007.fsesu6  +++|          BEGIN              # IF MARK WORD ACTIVE #
01980  M01S00008.fsesu6  +++|          TEMP = TEMP LOR 2;
01981  M01S00009.fsesu6  +++|          MRKCHAR[0] = MAX(0, MRKCHAR[0]-TMP1);
01982  M01S00010.fsesu6  +++|          END
01983  M01S00011.fsesu6  +++|        END
01984  M01S00012.fsesu6  +++|      IF REGLINE[MARKREG+1] EQ CURRENT THEN
01985  M01S00013.fsesu6  +++|        BEGIN                # IF LAST MARKED LINE #
01986  M01S00014.fsesu6  +++|        IF MRKCHAR[1] GQ 0 THEN
01987  M01S00015.fsesu6  +++|          BEGIN              # IF MARK WORD ACTIVE #
01988  M01S00016.fsesu6  +++|          TEMP = TEMP LOR 4;
01989  M01S00017.fsesu6  +++|          MRKCHAR[1] = MAX(-1, MRKCHAR[1]-TMP1);
01990  M01S00018.fsesu6  +++|          END
01991  M01S00019.fsesu6  +++|        END
01992  M01S00020.fsesu6  +++|      END
01993  M01S01725.fsesubs +++|    COPYLIN(LIN,TTYLIN);
01994  M01S01726.fsesubs +++|    BAKZ;                    # REPOSITION AND READ LIN     #
Line S01727 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2226
Seq #  *Modification Id* Act 
----------------------------+
01995  M02S01727.ns2226  ---|    SETCHAR(LINE,EDITFIELD,CENDLINE);  # KILL PROTECTED    #
Line S01728 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2226
Seq #  *Modification Id* Act 
----------------------------+
01996  M02S01728.ns2226  ---|    TRIMPAD;
01997  M01S00006.ns2226  +++|    IF EDITFIELD LS LENGTH(LIN) THEN
01998  M01S00007.ns2226  +++|      BEGIN
01999  M01S00008.ns2226  +++|      SETCHAR(LINE,EDITFIELD,CENDLINE);  # KILL PROTECTED    #
02000  M01S00009.ns2226  +++|      TRIMPAD;
02001  M01S00010.ns2226  +++|      END
Line S01729 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2571
Seq #  *Modification Id* Act 
----------------------------+
02002  M02S01729.ns2571  ---|    EXTENDC(LIN,CHRPTR3-1);  # LENGTHEN TO CURSOR POSITION #
02003  M01S00026.ns2571  +++|    IF CHRPTR3 GQ LENGTH(LIN) THEN
02004  M01S00027.ns2571  +++|      BEGIN                  # IF CURSOR IS BEYOND END OF LINE #
Line S00028 Modification History
M01 (Added by) ns2571
M02 (Updated by) fsesu6
Seq #  *Modification Id* Act 
----------------------------+
02005  M02S00028.fsesu6  ---|      IF TEMP NQ 0 THEN
02006  M01S00021.fsesu6  +++|      IF TEMP LAN 1 NQ 0 THEN
02007  M01S00029.ns2571  +++|        BEGIN                # IF HONORING *SET JUMP YES* #
02008  M01S00030.ns2571  +++|        GETCHAR(TTYLINE,0,TMP2);   # CHECK FOR LEADING BLANK #
Line S00031 Modification History
M01 (Added by) ns2571
M02 (Updated by) fsesu6
Seq #  *Modification Id* Act 
----------------------------+
02009  M02S00031.fsesu6  ---|        IF TMP2 EQ CBLANK THEN LSHIFT(TTYLIN,1,1);
02010  M01S00022.fsesu6  +++|        IF TMP2 EQ CBLANK THEN
02011  M01S00023.fsesu6  +++|          BEGIN              # IF THERE IS A LEADING BLANK #
02012  M01S00024.fsesu6  +++|          LSHIFT(TTYLIN,1,1);
02013  M01S00025.fsesu6  +++|          IF TEMP LAN 2 NQ 0 AND MRKCHAR[0] GR 0 THEN
02014  M01S00026.fsesu6  +++|            MRKCHAR[0] = MRKCHAR[0] - 1;
02015  M01S00027.fsesu6  +++|          IF TEMP LAN 4 NQ 0 AND MRKCHAR[1] GQ 0 THEN
02016  M01S00028.fsesu6  +++|            MRKCHAR[1] = MRKCHAR[1] - 1;
02017  M01S00029.fsesu6  +++|          END
02018  M01S00032.ns2571  +++|        END
02019  M01S00033.ns2571  +++|      EXTENDC(LIN,CHRPTR3-1);      # LENGTHEN TO CURSOR POSITION #
02020  M01S00034.ns2571  +++|      END
02021  M01S00030.fsesu6  +++|    IF TEMP LAN 2 NQ 0 THEN
02022  M01S00031.fsesu6  +++|      BEGIN                  # IF FIRST MARK ADJUSTMENT #
02023  M01S00032.fsesu6  +++|      REGLINE[MARKREG] = CURRENT;
02024  M01S00033.fsesu6  +++|      MRKCHAR[0] = MRKCHAR[0] + LENGTH(LIN);
02025  M01S00034.fsesu6  +++|      END
02026  M01S00035.fsesu6  +++|    IF TEMP LAN 4 NQ 0 THEN
02027  M01S00036.fsesu6  +++|      BEGIN                  # IF LAST MARK ADJUSTMENT #
02028  M01S00037.fsesu6  +++|      REGLINE[MARKREG+1] = CURRENT;
02029  M01S00038.fsesu6  +++|      MRKCHAR[1] = MRKCHAR[1] + LENGTH(LIN);
02030  M01S00039.fsesu6  +++|      IF MRKCHAR[1] LS 0 THEN
02031  M01S00040.fsesu6  +++|        BEGIN                # IF NO PLACE TO PUT MARK #
02032  M01S00041.fsesu6  +++|        MRKCHAR[1] = 0;
02033  M01S00042.fsesu6  +++|        RSHIFT(TTYLIN,0,1);
02034  M01S00043.fsesu6  +++|        SETCHAR(TTYLINE,0,CBLANK);
02035  M01S00044.fsesu6  +++|        END
02036  M01S00045.fsesu6  +++|      END
02037  M01S01730.fsesubs +++|    CONCAT(LIN,TTYLIN);
02038  M01S00001.ns2174  +++|    SETCHAR(LINE,EDITFIELD,CENDLINE);  # CLEAR END OF LINE #
02039  M01S01731.fsesubs +++|    TRIMPAD;
02040  M01S01732.fsesubs +++|    REPX;                    # STORE CONCATENATED LINES    #
02041  M01S01733.fsesubs +++|    PUSH;
02042  M01S01734.fsesubs +++|    FWDZ;                    # DELETE SECOND HALF          #
02043  M01S01735.fsesubs +++|    DELX;
02044  M01S01736.fsesubs +++|    POP;                     # LEAVE POSITION AT JOINED    #
02045  M01S00035.ns2571  +++|    POPTEMP;
02046  M01S01737.fsesubs +++|    END
02047  M01S01738.fsesubs +++|  IOEND                       # OF DOJOIN         #
02048  M01S01739.fsesubs +++|
02049  M01S01740.fsesubs +++|
Line S01741 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2226
Seq #  *Modification Id* Act 
----------------------------+
02050  M02S01741.ns2226  ---|PROC DOSPLIT;
02051  M01S00011.ns2226  +++|PROC DOSPLIT(TRUNCATE);
02052  M01S01742.fsesubs +++|  IOBEGIN(DOSPLIT)
02053  M01S01743.fsesubs +++|#
02054  M01S01744.fsesubs +++|**        DOSPLIT - SPLIT A WORKFILE LINE INTO TWO.
02055  M01S01745.fsesubs +++|*
02056  M01S01746.fsesubs +++|*         ENTRY  LIN - THE LINE TO SPLIT.
Line S00012 Modification History
M01 (Added by) ns2226
M02 (Updated by) ns2571
Seq #  *Modification Id* Act 
----------------------------+
02057  M02S00012.ns2571  ---|*                TRUNCATE - WHETHER TO TRIM TRAILING BLANKS.
02058  M01S00036.ns2571  +++|*                TRUNCATE - IF 1, TRIM TRAILING BLANKS FROM BOTH LINES.
02059  M01S00037.ns2571  +++|*                           IF 2, TRIM TRAILING BLANKS FROM BOTH LINES,
02060  M01S00038.ns2571  +++|*                                 AND ADD LEADING BLANKS TO SECOND LINE
02061  M01S00039.ns2571  +++|*                                 TO MATCH FIRST LINE IF AUTOINDENTING.
02062  M01S01747.fsesubs +++|*                CURRENT - FILE POSITION.
02063  M01S01748.fsesubs +++|*                CHRPTR3 - CHARACTER POSITION.
02064  M01S01749.fsesubs +++|*                NUMBERED[CURFILE] - INDICATES SEQUENCE MODE.
02065  M01S01750.fsesubs +++|*
02066  M01S01751.fsesubs +++|*         EXIT   LIN, CURRENT - UPDATED.
02067  M01S01752.fsesubs +++|*                WORKFILE CHANGED.
02068  M01S01753.fsesubs +++|*
02069  M01S01754.fsesubs +++|*         MACROS GETCHAR, SETCHAR.
02070  M01S01755.fsesubs +++|*
Line S01756 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2571
Seq #  *Modification Id* Act 
----------------------------+
02071  M02S01756.ns2571  ---|*         CALLS  TRIMPAD, REPX, COPYLIN, RSHIFT, INSX.
02072  M01S00040.ns2571  +++|*         CALLS  COPYLIN, INSX, POPTEMP, PUSHTEMP,
02073  M01S00041.ns2571  +++|*                REPX, RSHIFT, TRIMPAD.
02074  M01S01757.fsesubs +++|*
02075  M01S01758.fsesubs +++|*         USES   TTYLIN.
02076  M01S01759.fsesubs +++|#
02077  M01S00013.ns2226  +++|  ITEM TRUNCATE;
02078  M01S01760.fsesubs +++|  ITEM TMP1, TMP2;           # USE INSTANTLY     #
02079  M01S00014.ns2226  +++|
02080  M01S00015.ns2226  +++|  PUSHTEMP;
02081  M01S00016.ns2226  +++|  TEMP=TRUNCATE;
02082  M01S00017.ns2226  +++|  # END OF NON-REENTRANT PARAMETER USAGE #
02083  M01S01761.fsesubs +++|  TTYLINE[0]=NULLIN;         # DEFAULT NEW LINE  #
Line S01762 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2226
Seq #  *Modification Id* Act 
----------------------------+
02084  M02S01762.ns2226  ---|  SETCHAR(LINE,EDITFIELD,CENDLINE);    # KILL PROTECTED    #
Line S01763 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2226
Seq #  *Modification Id* Act 
----------------------------+
02085  M02S01763.ns2226  ---|  TRIMPAD;
02086  M01S00018.ns2226  +++|  IF EDITFIELD LS LENGTH(LIN) THEN
02087  M01S00019.ns2226  +++|    BEGIN
02088  M01S00020.ns2226  +++|    SETCHAR(LINE,EDITFIELD,CENDLINE);    # KILL PROTECTED    #
02089  M01S00021.ns2226  +++|    TRIMPAD;
02090  M01S00022.ns2226  +++|    END
02091  M01S01764.fsesubs +++|  FOR TMP1=CHRPTR3 STEP 1 UNTIL LENGTH(LIN) DO
02092  M01S01765.fsesubs +++|    BEGIN                     # COPY SECOND HALF  #
02093  M01S01766.fsesubs +++|    GETCHAR(LINE,TMP1,TMP2);
02094  M01S01767.fsesubs +++|    SETCHAR(TTYLINE,TMP1-CHRPTR3,TMP2);
02095  M01S01768.fsesubs +++|    END
02096  M01S01769.fsesubs +++|  SETCHAR(LINE,CHRPTR3,CENDLINE);
Line S01770 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2226
Seq #  *Modification Id* Act 
----------------------------+
02097  M02S01770.ns2226  ---|  TRIMPAD;
Line S00023 Modification History
M01 (Added by) ns2226
M02 (Updated by) ns2571
Seq #  *Modification Id* Act 
----------------------------+
02098  M02S00023.ns2571  ---|  IF TEMP EQ 1 THEN TRIMPAD;
02099  M01S00042.ns2571  +++|  IF TEMP GR 0 THEN TRIMPAD;
02100  M01S01771.fsesubs +++|  REPX;                      # STORE FIRST HALF  #
02101  M01S00043.ns2571  +++|  TMP1 = 0;
02102  M01S00044.ns2571  +++|  IF AUTOINDENT AND TEMP EQ 2 THEN
02103  M01S00045.ns2571  +++|    BEGIN                    # IF HONORING *SET JUMP YES* #
02104  M01S00046.ns2571  +++|    GETCHAR(LINE,TMP1,TMP2);
02105  M01S00047.ns2571  +++|    WHYLE TMP2 EQ CBLANK DO  # COUNT LEADING BLANKS #
02106  M01S00048.ns2571  +++|      BEGIN
02107  M01S00049.ns2571  +++|      TMP1 = TMP1 + 1;
02108  M01S00050.ns2571  +++|      GETCHAR(LINE,TMP1,TMP2);
02109  M01S00051.ns2571  +++|      END
02110  M01S00052.ns2571  +++|    END
02111  M01S01772.fsesubs +++|  COPYLIN(TTYLIN,LIN);
Line S01773 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2571
Seq #  *Modification Id* Act 
----------------------------+
02112  M02S01773.ns2571  ---|  IF NUMBERED[CURFILE] NQ 0 THEN  # CREATE EMPTY NUMERIC FIELD  #
Line S01774 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2571
Seq #  *Modification Id* Act 
----------------------------+
02113  M02S01774.ns2571  ---|    BEGIN
Line S01775 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2571
Seq #  *Modification Id* Act 
----------------------------+
02114  M02S01775.ns2571  ---|    RSHIFT(LIN,0,NUMWIDBLK);
Line S01776 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2571
Seq #  *Modification Id* Act 
----------------------------+
02115  M02S01776.ns2571  ---|    FOR TMP1=0 STEP 1 UNTIL NUMWIDBLK-1 DO SETCHAR(LINE,TMP1,CBLANK);
02116  M01S00053.ns2571  +++|  IF NUMBERED[CURFILE] NQ 0 THEN TMP1 = TMP1 + NUMWIDBLK;
02117  M01S00054.ns2571  +++|  IF TMP1 GR 0 THEN
02118  M01S00055.ns2571  +++|    BEGIN                    # IF LEADING BLANKS REQUIRED #
02119  M01S00056.ns2571  +++|    RSHIFT(LIN,0,TMP1);
02120  M01S00057.ns2571  +++|    FOR TMP2=0 STEP 1 UNTIL TMP1-1 DO SETCHAR(LINE,TMP2,CBLANK);
02121  M01S01777.fsesubs +++|    END
Line S01778 Modification History
M01 (Added by) fsesubs
M02 (Updated by) ns2226
Seq #  *Modification Id* Act 
----------------------------+
02122  M02S01778.ns2226  ---|  TRIMPAD;
Line S00024 Modification History
M01 (Added by) ns2226
M02 (Updated by) ns2571
Seq #  *Modification Id* Act 
----------------------------+
02123  M02S00024.ns2571  ---|  IF TEMP EQ 1 THEN TRIMPAD;
02124  M01S00058.ns2571  +++|  IF TEMP GR 0 THEN TRIMPAD;
Line S01779 Modification History
M01 (Added by) fsesubs
M02 (Updated by) fsesu6
Seq #  *Modification Id* Act 
----------------------------+
02125  M02S01779.fsesu6  ---|  INSX;                      # ADD SECOND HALF   #
02126  M01S00046.fsesu6  +++|  IF NUMMARKS EQ 0
02127  M01S00047.fsesu6  +++|    THEN INSX;               # IF NO MARKS ACTIVE #
02128  M01S00048.fsesu6  +++|  ELSE
02129  M01S00049.fsesu6  +++|    BEGIN                    # IF MARKS ACTIVE #
02130  M01S00050.fsesu6  +++|    TEMP = TMP1;
02131  M01S00051.fsesu6  +++|    INSX;
02132  M01S00052.fsesu6  +++|    IF REGLINE[MARKREG] EQ CURRENT-1 THEN
02133  M01S00053.fsesu6  +++|      BEGIN                  # IF SPLIT OF FIRST MARKED LINE #
02134  M01S00054.fsesu6  +++|      IF MRKCHAR[0] GQ CHRPTR3 THEN
02135  M01S00055.fsesu6  +++|        BEGIN                # IF SPLIT LEFT OF FIRST MARK #
02136  M01S00056.fsesu6  +++|        REGLINE[MARKREG] = CURRENT;
02137  M01S00057.fsesu6  +++|        MRKCHAR[0] = MRKCHAR[0] - CHRPTR3 + TEMP;
02138  M01S00058.fsesu6  +++|        END
02139  M01S00059.fsesu6  +++|      END
02140  M01S00060.fsesu6  +++|    IF REGLINE[MARKREG+1] EQ CURRENT-1 THEN
02141  M01S00061.fsesu6  +++|      BEGIN                  # IF SPLIT OF LAST MARKED LINE #
02142  M01S00062.fsesu6  +++|      IF MRKCHAR[1] LS 0 THEN REGLINE[MARKREG+1] = CURRENT;
02143  M01S00063.fsesu6  +++|      ELSE IF MRKCHAR[1] GQ CHRPTR3 THEN
02144  M01S00064.fsesu6  +++|        BEGIN                # IF SPLIT LEFT OF LAST MARK #
02145  M01S00065.fsesu6  +++|        REGLINE[MARKREG+1] = CURRENT;
02146  M01S00066.fsesu6  +++|        MRKCHAR[1] = MRKCHAR[1] - CHRPTR3 + TEMP;
02147  M01S00067.fsesu6  +++|        END
02148  M01S00068.fsesu6  +++|      END
02149  M01S00069.fsesu6  +++|    END
02150  M01S00025.ns2226  +++|  POPTEMP;
02151  M01S00026.ns2226  +++|
02152  M01S01780.fsesubs +++|  IOEND                       # OF DOSPLIT        #
02153  M01S01781.fsesubs +++|PAGE                                 # KEYWORD MATCHER #
02154  M01S01782.fsesubs +++|
02155  M01S01783.fsesubs +++|
02156  M01S01784.fsesubs +++|PROC MATCHKEY(PARM);
02157  M01S01785.fsesubs +++|  BEGIN
02158  M01S01786.fsesubs +++|#
02159  M01S01787.fsesubs +++|*         MATCHKEY - MATCH KEYWORD BY ABBREVIATION RULES.
02160  M01S01788.fsesubs +++|*
02161  M01S01789.fsesubs +++|*         MATCHKEY MATCHES THE KEYWORD IN TOKENSYM AGAINST THE
02162  M01S01790.fsesubs +++|*         KEYWORD TABLE, FOR A SPECIFIED SECTION OF THE TABLE,
02163  M01S01791.fsesubs +++|*         AND HONORING THE ABBREVIATION RULES OF ALL CHARACTERS,
02164  M01S01792.fsesubs +++|*         THREE CHARACTERS, OR ONE CHARACTER.
02165  M01S01793.fsesubs +++|*
02166  M01S01794.fsesubs +++|*         ENTRY  KEYWDTYPE - WHICH SECTION OF TABLE TO SEARCH.
02167  M01S01795.fsesubs +++|*                TOKENSYM - KEYWORD TO MATCH.
02168  M01S01796.fsesubs +++|*                TOKENLEN - LENGTH OF KEYWORD.
02169  M01S01797.fsesubs +++|*
02170  M01S01798.fsesubs +++|*         EXIT   PARM - LENGTH OF ACCEPTED ABBREVIATION.
02171  M01S01799.fsesubs +++|*                KEYWDNDX - WHERE MATCHED IN TABLE.
02172  M01S01800.fsesubs +++|#
02173  M01S01801.fsesubs +++|  ITEM PARM;
02174  M01S01802.fsesubs +++|  ITEM TMP1;
02175  M01S01803.fsesubs +++|
02176  M01S01804.fsesubs +++|  FOR PARM=TOKENLEN STEP -1 UNTIL 4 DO
02177  M01S01805.fsesubs +++|    BEGIN
02178  M01S01806.fsesubs +++|    FOR TMP1=FIRSTKEYWD[KEYWDTYPE] STEP 1
02179  M01S01807.fsesubs +++|      UNTIL LASTKEYWD[KEYWDTYPE] DO
02180  M01S01808.fsesubs +++|      BEGIN
02181  M01S01809.fsesubs +++|      IF C<0,PARM>TOKENSYM EQ KEYWORD[TMP1] THEN GOTO KEYFOUND;
02182  M01S01810.fsesubs +++|      END
02183  M01S01811.fsesubs +++|    END
02184  M01S01812.fsesubs +++|
02185  M01S01813.fsesubs +++|  PARM=3;
02186  M01S01814.fsesubs +++|  FOR TMP1=FIRSTKEYWD[KEYWDTYPE] STEP 1
02187  M01S01815.fsesubs +++|    UNTIL LASTKEYWD[KEYWDTYPE] DO
02188  M01S01816.fsesubs +++|    BEGIN
02189  M01S01817.fsesubs +++|    IF C<0,3>TOKENSYM EQ C<0,3>KEYWORD[TMP1] THEN GOTO KEYFOUND;
02190  M01S01818.fsesubs +++|    END
02191  M01S01819.fsesubs +++|
02192  M01S01820.fsesubs +++|  PARM=2;
02193  M01S01821.fsesubs +++|  FOR TMP1=FIRSTKEYWD[KEYWDTYPE] STEP 1
02194  M01S01822.fsesubs +++|    UNTIL LASTKEYWD[KEYWDTYPE] DO
02195  M01S01823.fsesubs +++|    BEGIN
02196  M01S01824.fsesubs +++|    IF C<0,2>TOKENSYM EQ C<0,2>KEYWORD[TMP1]
02197  M01S01825.fsesubs +++|      AND C<2,1>KEYWORD[TMP1] EQ " " THEN GOTO KEYFOUND;
02198  M01S01826.fsesubs +++|    END
02199  M01S01827.fsesubs +++|
02200  M01S01828.fsesubs +++|  PARM=1;
02201  M01S01829.fsesubs +++|  FOR TMP1=FIRSTKEYWD[KEYWDTYPE] STEP 1
02202  M01S01830.fsesubs +++|    UNTIL LASTKEYWD[KEYWDTYPE] DO
02203  M01S01831.fsesubs +++|    BEGIN
02204  M01S01832.fsesubs +++|    IF C<0,1>TOKENSYM EQ C<0,1>KEYWORD[TMP1] THEN GOTO KEYFOUND;
02205  M01S01833.fsesubs +++|    END
02206  M01S01834.fsesubs +++|
02207  M01S01835.fsesubs +++|  RETURN;
02208  M01S01836.fsesubs +++|
02209  M01S01837.fsesubs +++|KEYFOUND:
02210  M01S01838.fsesubs +++|  KEYWDNDX=TMP1;
02211  M01S01839.fsesubs +++|
02212  M01S01840.fsesubs +++|  END                                # OF MATCHKEY #
02213  M01S01841.fsesubs +++|
02214  M01S01842.fsesubs +++|
02215  M01S01843.fsesubs +++|END TERM