User Tools

Site Tools


cdc:nos2.source:opl.opl871:deck:fsecmds

Deck FSECMDS

26 Modifications

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.fsecmds +++|PROC FSECMDS;
00002  M01S00002.fsecmds +++|  BEGIN
00003  M01S00003.fsecmds +++|
00004  M01S00004.fsecmds +++|
00005  M01S00005.fsecmds +++|#
00006  M01S00006.fsecmds +++|***       FSECMDS -- SUPPLEMENTARY COMMANDS.
00007  M01S00007.fsecmds +++|*
Line S00008 Modification History
M01 (Added by) fsecmds
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00008  M02S00008.281l803 ---|*         COPYRIGHT CONTROL DATA CORPORATION, 1983.
00009  M01S00001.281l803 +++|*         COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00010  M01S00009.fsecmds +++|*
00011  M01S00010.fsecmds +++|*         FSECMDS CONTAINS CODE WHICH NORMALLY WOULD BE PART OF THE
00012  M01S00011.fsecmds +++|*         LARGE "PROCESS" CASE STATEMENT, BUT WHICH WE HAVE MOVED
00013  M01S00012.fsecmds +++|*         OUT TO CONSERVE FIELD LENGTH MOST OF THE TIME.  CODE IN
00014  M01S00013.fsecmds +++|*         FSECMDS IS A CANDIDATE FOR ANY OVERLAY STRUCTURING THAT MAY
00015  M01S00014.fsecmds +++|*         BE PROVIDED IN THE FUTURE.  CODE IN FSECMDS MUST BE STRICTLY
00016  M01S00015.fsecmds +++|*         FOR THE SINGLE-USER VERSION ONLY.  REENTRANT PROGRAMMING
00017  M01S00016.fsecmds +++|*         IS NOT USED IN THIS MODULE.
00018  M01S00017.fsecmds +++|#
00019  M01S00018.fsecmds +++|
00020  M01S00019.fsecmds +++|  DEF LISTCON #0#;
00021  M01S00020.fsecmds +++|
00022  M01S00021.fsecmds +++|CONTROL EJECT;                         # UNIVERSAL DECLARES          #
00023  M01S00022.fsecmds +++|
00024  M01S00023.fsecmds +++|*IFCALL SINGLE,COMFSGL
00025  M01S00024.fsecmds +++|*IFCALL ONLY,COMFONL
00026  M01S00025.fsecmds +++|*IFCALL MULTI,COMFMLT
00027  M01S00026.fsecmds +++|*CALL COMFFSE
00028  M01S00027.fsecmds +++|
00029  M01S00028.fsecmds +++|                             # COMMON, DATA      #
00030  M01S00029.fsecmds +++|
00031  M01S00030.fsecmds +++|
00032  M01S00031.fsecmds +++|*CALL COMFDS1
00033  M01S00032.fsecmds +++|*CALL COMFVD2
00034  M01S00033.fsecmds +++|*CALL COMFDS2
00035  M01S00034.fsecmds +++|
00036  M01S00035.fsecmds +++|
00037  M01S00036.fsecmds +++|                             # COMMAND/SYNTAX TABLES       #
00038  M01S00037.fsecmds +++|
00039  M01S00038.fsecmds +++|
00040  M01S00039.fsecmds +++|*CALL COMFTAB
00041  M01S00040.fsecmds +++|
00042  M01S00041.fsecmds +++|
00043  M01S00042.fsecmds +++|                             # EXTERNALS         #
00044  M01S00043.fsecmds +++|
00045  M01S00044.fsecmds +++|
00046  M01S00045.fsecmds +++|XDEF
00047  M01S00046.fsecmds +++|  BEGIN
00048  M01S00047.fsecmds +++|*CALL COMFXCM
00049  M01S00048.fsecmds +++|  END
00050  M01S00049.fsecmds +++|
00051  M01S00050.fsecmds +++|
00052  M01S00051.fsecmds +++|XREF
00053  M01S00052.fsecmds +++|  BEGIN
00054  M01S00053.fsecmds +++|*CALL COMFXFL
00055  M01S00054.fsecmds +++|*CALL COMFXSC
00056  M01S00055.fsecmds +++|*CALL COMFXED
00057  M01S00056.fsecmds +++|*CALL COMFXSB
00058  M01S00057.fsecmds +++|*CALL COMFXTI
00059  M01S00058.fsecmds +++|*CALL COMFXFO
00060  M01S00059.fsecmds +++|*CALL COMFXWK
00061  M01S00060.fsecmds +++|  END
00062  M01S00061.fsecmds +++|
00063  M01S00062.fsecmds +++|XREF                         # SYMPLIB SUPPORT   #
00064  M01S00063.fsecmds +++|  BEGIN
00065  M01S00064.fsecmds +++|  PROC REWIND;
00066  M01S00065.fsecmds +++|  PROC WRITER;
00067  M01S00066.fsecmds +++|  PROC READ;
00068  M01S00067.fsecmds +++|  PROC RETERN;
00069  M01S00068.fsecmds +++|  PROC RECALL;
00070  M01S00069.fsecmds +++|  PROC PF;
00071  M01S00070.fsecmds +++|  PROC WRITEC;
00072  M01S00071.fsecmds +++|  PROC READC;
00073  M01S00072.fsecmds +++|  PROC SKIPEI;
00074  M01S00073.fsecmds +++|  PROC BKSP;
00075  M01S00074.fsecmds +++|  END
00076  M01S00075.fsecmds +++|
00077  M01S00076.fsecmds +++|XREF                         # FSELIB  #
00078  M01S00077.fsecmds +++|  BEGIN
00079  M01S00078.fsecmds +++|  FUNC FIXCTL B;
00080  M01S00079.fsecmds +++|  FUNC LENGTH;
00081  M01S00080.fsecmds +++|  PROC FLDLEN;
00082  M01S00081.fsecmds +++|  END
00083  M01S00082.fsecmds +++|
00084  M01S00001.ns2404  +++|XREF                         # VIRTERM #
00085  M01S00002.ns2404  +++|  BEGIN
00086  M01S00003.ns2404  +++|  PROC VDTCHR;
00087  M01S00004.ns2404  +++|  END
00088  M01S00005.ns2404  +++|
00089  M01S00083.fsecmds +++|XREF                         # BUFFER MAPPING    #
00090  M01S00084.fsecmds +++|  BEGIN
00091  M01S00085.fsecmds +++|  ARRAY WORKBUF;;
00092  M01S00086.fsecmds +++|  ARRAY BUILDBF;;
00093  M01S00087.fsecmds +++|  ITEM MAXADDR;
00094  M01S00088.fsecmds +++|  END
00095  M01S00089.fsecmds +++|PAGE                         # DATA LOCAL TO OVERLAY       #
00096  M01S00090.fsecmds +++|
00097  M01S00091.fsecmds +++|
00098  M01S00092.fsecmds +++|ITEM RESULT,NWORDS, TMP1, INDEX, KILLUPLOW B, ZERO=0;
00099  M01S00093.fsecmds +++|ITEM SAVBLANKS, SAVLINENO;
00100  M01S00094.fsecmds +++|
00101  M01S00095.fsecmds +++|ARRAY STATUSMSGS [0:3] P(2);
00102  M01S00096.fsecmds +++|  BEGIN
00103  M01S00097.fsecmds +++|  ITEM YESORNO    C(0,0,7)=["  NO   ", "  YES  ", " ", " "];
00104  M01S00098.fsecmds +++|  ITEM CHARTYPE   C(1,0,7)=["DISPLAY", "DISPLAY", " ASCII ",
00105  M01S00099.fsecmds +++|                            " 8/12  "];
00106  M01S00100.fsecmds +++|  END
00107  M01S00101.fsecmds +++|PAGE                         # USEFUL LITTLE ROUTINES      #
00108  M01S00102.fsecmds +++|
00109  M01S00103.fsecmds +++|
00110  M01S00104.fsecmds +++|PROC XFRCMOUT;
00111  M01S00105.fsecmds +++|  BEGIN
00112  M01S00106.fsecmds +++|#
00113  M01S00107.fsecmds +++|**        XFRCMOUT - OUTWARD LINE TRANSFER FOR COPY/MOVE.
00114  M01S00108.fsecmds +++|*
00115  M01S00109.fsecmds +++|*         ENTRY  LIN - INTERNAL LINE IMAGE.
00116  M01S00110.fsecmds +++|*                FORCEFIELD, CHARRANGE - MODE SETTINGS.
00117  M01S00111.fsecmds +++|*                CHRPTR1, CHRPTR2, FIRSTRANGE, LASTRANGE - DITTO.
00118  M01S00112.fsecmds +++|*                MOVEFET - FET FOR SCRATCH FILE.
00119  M01S00113.fsecmds +++|*
00120  M01S00114.fsecmds +++|*         EXIT   IMAGE WRITTEN TO SCRATCH IN 6/12 CHARSET.
00121  M01S00115.fsecmds +++|*
00122  M01S00116.fsecmds +++|*         MACROS SETCHAR.
00123  M01S00117.fsecmds +++|*
00124  M01S00118.fsecmds +++|*         CALLS  LSHIFT, CONVOUT, POSZ, WRITEC.
00125  M01S00119.fsecmds +++|#
00126  M01S00120.fsecmds +++|  IF FORCEFIELD THEN
00127  M01S00121.fsecmds +++|    BEGIN
00128  M01S00122.fsecmds +++|    SETCHAR(LINE,CHRPTR2+1,CENDLINE);
00129  M01S00123.fsecmds +++|    LSHIFT(LIN,CHRPTR1,CHRPTR1);
Line S00124 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2582
Seq #  *Modification Id* Act 
----------------------------+
00130  M02S00124.ns2582  ---|    CONVOUT(LIN,2);
00131  M01S00001.ns2582  +++|    CONVOUT(LIN,4);
00132  M01S00125.fsecmds +++|    POSZ(CURRENT);         # RE-FRESH LINE BUFFER        #
00133  M01S00126.fsecmds +++|    END
00134  M01S00127.fsecmds +++|  ELSE IF CHARRANGE THEN
00135  M01S00128.fsecmds +++|    BEGIN                   # TRUNCATE LAST, SHIFT FIRST  #
00136  M01S00129.fsecmds +++|    IF LASTRANGE THEN SETCHAR(LINE,CHRPTR2+1,CENDLINE);
00137  M01S00130.fsecmds +++|    IF FIRSTRANGE THEN LSHIFT(LIN,CHRPTR1,CHRPTR1);
Line S00131 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2582
Seq #  *Modification Id* Act 
----------------------------+
00138  M02S00131.ns2582  ---|    CONVOUT(LIN,2);
00139  M01S00002.ns2582  +++|    CONVOUT(LIN,4);
00140  M01S00132.fsecmds +++|    POSZ(CURRENT);         # RE-FRESH LINE BUFFER        #
00141  M01S00133.fsecmds +++|    END
Line S00134 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2582
Seq #  *Modification Id* Act 
----------------------------+
00142  M02S00134.ns2582  ---|  ELSE CONVOUT(LIN,2);
00143  M01S00003.ns2582  +++|  ELSE CONVOUT(LIN,4);
00144  M01S00135.fsecmds +++|  WRITEC(MOVEFET,TMPLIN);
00145  M01S00136.fsecmds +++|  END                       # OF XFRCMOUT       #
00146  M01S00137.fsecmds +++|
00147  M01S00138.fsecmds +++|
00148  M01S00139.fsecmds +++|PROC XFRCMIN;
00149  M01S00140.fsecmds +++|  BEGIN
00150  M01S00141.fsecmds +++|#
00151  M01S00142.fsecmds +++|**        XFRCMIN - INWARD TRANSFER FOR COPY/MOVE.
00152  M01S00143.fsecmds +++|*
00153  M01S00144.fsecmds +++|*         ENTRY  MOVEFET - SCRATCH FILE FET.
00154  M01S00145.fsecmds +++|*
00155  M01S00146.fsecmds +++|*         EXIT   LIN - LINE IMAGE, INTERNAL CHARSET FROM 6/12.
00156  M01S00147.fsecmds +++|*
00157  M01S00148.fsecmds +++|*         CALLS  READC, CONVIN.
00158  M01S00149.fsecmds +++|#
00159  M01S00150.fsecmds +++|  ITEM TMP1;
00160  M01S00151.fsecmds +++|  READC(MOVEFET,TMPLIN,BUFWID2P1,TMP1);
00161  M01S00152.fsecmds +++|  IF TMP1 NQ 0 THEN FATAL(" TRANSFER TO THE BUFFER IS INCOMPLETE.$");
00162  M01S00153.fsecmds +++|  CONVIN(LIN,2);
00163  M01S00154.fsecmds +++|  END                       # OF XFRCMIN        #
00164  M01S00155.fsecmds +++|
00165  M01S00156.fsecmds +++|
Line S00157 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00166  M02S00157.ns2404  ---|PROC TTCHAR(VALUE,TITLE);
Line S00158 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00167  M02S00158.ns2404  ---|  BEGIN
Line S00159 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00168  M02S00159.ns2404  ---|#
Line S00160 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00169  M02S00160.ns2404  ---|**        TTCHAR - OUTPUT ANY CHARACTER.
Line S00161 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00170  M02S00161.ns2404  ---|*
Line S00162 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00171  M02S00162.ns2404  ---|*         TTCHAR OUTPUTS A SINGLE CHARACTER, AND HAS THE UNIQUE
Line S00163 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00172  M02S00163.ns2404  ---|*         PROPERTY OF OUTPUTTING EXPLANATORY KEYWORDS FOR THE
Line S00164 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00173  M02S00164.ns2404  ---|*         UNPRINTABLE CHARACTER (BLANK) AS WELL AS PROVIDING FOR
Line S00165 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00174  M02S00165.ns2404  ---|*         A NON-EXISTENT CHARACTER.  THE CHARACTER IS IN THE INTERNAL
Line S00166 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00175  M02S00166.ns2404  ---|*         CHARACTER SET, AND SINCE IT MAY BE ONE OF THE PUNCTUATION
Line S00167 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00176  M02S00167.ns2404  ---|*         MARKS  UNAAILABLE IN THE DISPLAY CODE, WE CONVERT TO 6/12.
Line S00168 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00177  M02S00168.ns2404  ---|*
Line S00169 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00178  M02S00169.ns2404  ---|*         ENTRY  VALUE - THE CHARACTER AS RIGHT-JUSTIFY INTEGER.
Line S00170 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00179  M02S00170.ns2404  ---|*                TITLE - A DESCRIPTIVE TITLE.
Line S00171 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00180  M02S00171.ns2404  ---|*
Line S00172 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00181  M02S00172.ns2404  ---|*         MACROS SETCHAR.
Line S00173 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00182  M02S00173.ns2404  ---|*
Line S00174 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00183  M02S00174.ns2404  ---|*         CALLS  TTSTR, TTLIN, VDTWTC, CONVOUT, TTSYNC.
Line S00175 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00184  M02S00175.ns2404  ---|*
Line S00176 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00185  M02S00176.ns2404  ---|*         USES   TMPLIN, LIN.
Line S00177 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00186  M02S00177.ns2404  ---|#
Line S00178 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00187  M02S00178.ns2404  ---|  ITEM VALUE, TITLE C(20);
Line S00179 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00188  M02S00179.ns2404  ---|  ITEM TMP1;
Line S00180 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00189  M02S00180.ns2404  ---|  TTSTR(TITLE);
Line S00181 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00190  M02S00181.ns2404  ---|  IF VALUE EQ CNOTHING THEN TTLIN("(NONE)$");
Line S00182 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00191  M02S00182.ns2404  ---|  ELSE IF VALUE EQ CBLANK THEN TTLIN("(BLANK)$");
Line S00183 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00192  M02S00183.ns2404  ---|  ELSE
Line S00184 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00193  M02S00184.ns2404  ---|    BEGIN
Line S00185 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00194  M02S00185.ns2404  ---|    TMP1=XLTINTDSP[VALUE];
Line S00186 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00195  M02S00186.ns2404  ---|    C<0,1>TMP1=C<9,1>TMP1;
Line S00187 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00196  M02S00187.ns2404  ---|    TTST(TMP1,1);
Line S00188 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00197  M02S00188.ns2404  ---|    END
Line S00189 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
00198  M02S00189.ns2404  ---|  END                        # OF TTCHAR         #
Line S00006 Modification History
M01 (Added by) ns2404
M02 (Updated by) fsecm7
Seq #  *Modification Id* Act 
----------------------------+
00199  M02S00006.fsecm7  ---|PROC TTCHAR(CHAR,TITLE);
00200  M01S00001.fsecm7  +++|PROC TTCHAR(CHAR,SYMBOL);
00201  M01S00007.ns2404  +++|  BEGIN
00202  M01S00008.ns2404  +++|#
Line S00009 Modification History
M01 (Added by) ns2404
M02 (Updated by) fsecm7
Seq #  *Modification Id* Act 
----------------------------+
00203  M02S00009.fsecm7  ---|**        TTCHAR - OUTPUT CHARACTER AND MESSAGE.
00204  M01S00002.fsecm7  +++|**        TTCHAR - OUTPUT INTERNAL CHARACTER TO TERMINAL.
00205  M01S00010.ns2404  +++|*
Line S00011 Modification History
M01 (Added by) ns2404
M02 (Updated by) fsecm7
Seq #  *Modification Id* Act 
----------------------------+
00206  M02S00011.fsecm7  ---|*         TTCHAR OUTPUTS A SINGLE CHARACTER, USING EXPLANATORY
Line S00012 Modification History
M01 (Added by) ns2404
M02 (Updated by) fsecm7
Seq #  *Modification Id* Act 
----------------------------+
00207  M02S00012.fsecm7  ---|*         KEYWORDS FOR (BLANK) AND (NONE) IF NEEDED, ALONG WITH
Line S00013 Modification History
M01 (Added by) ns2404
M02 (Updated by) fsecm7
Seq #  *Modification Id* Act 
----------------------------+
00208  M02S00013.fsecm7  ---|*         A DESCRIPTIVE TITLE.  NOTE THAT SINCE THE TERMINAL IS
Line S00014 Modification History
M01 (Added by) ns2404
M02 (Updated by) fsecm7
Seq #  *Modification Id* Act 
----------------------------+
00209  M02S00014.fsecm7  ---|*         DRIVEN IN 6/12 WHILE IN LINE MODE SPECIAL TRANSLATION
Line S00015 Modification History
M01 (Added by) ns2404
M02 (Updated by) fsecm7
Seq #  *Modification Id* Act 
----------------------------+
00210  M02S00015.fsecm7  ---|*         MAY BE NEEDED.
00211  M01S00003.fsecm7  +++|*         TTCHAR OUTPUTS A SINGLE CHARACTER, USING SYMBOLIC KEYWORDS
00212  M01S00004.fsecm7  +++|*         FOR (BLANK) AND (NONE) IF REQUESTED.  NOTE THAT SINCE THE
00213  M01S00005.fsecm7  +++|*         TERMINAL IS DRIVEN IN 6/12 WHILE IN LINE MODE SPECIAL
00214  M01S00006.fsecm7  +++|*         TRANSLATION MAY BE NEEDED.
00215  M01S00016.ns2404  +++|*
00216  M01S00017.ns2404  +++|*         ENTRY  CHAR       = THE CHARACTER (INTERNAL CSET).
Line S00018 Modification History
M01 (Added by) ns2404
M02 (Updated by) fsecm7
Seq #  *Modification Id* Act 
----------------------------+
00217  M02S00018.fsecm7  ---|*                TITLE      = ASSOCIATED DESCRIPTIVE TITLE.
00218  M01S00007.fsecm7  +++|*                SYMBOL     = USE SYMBOLIC NOTATION (TRUE/FALSE).
00219  M01S00019.ns2404  +++|*
00220  M01S00020.ns2404  +++|*         CALLS  TTST, TTSTR, VDTCHR.
00221  M01S00021.ns2404  +++|#
00222  M01S00022.ns2404  +++|  ITEM CHAR       I;                 # CHARACTER, AS INTEGER #
Line S00023 Modification History
M01 (Added by) ns2404
M02 (Updated by) fsecm7
Seq #  *Modification Id* Act 
----------------------------+
00223  M02S00023.fsecm7  ---|  ITEM TITLE      C(20);             # ASSOCIATED DESCRIPTOR #
00224  M01S00008.fsecm7  +++|  ITEM SYMBOL     B;                 # SYMBOLIC FLAG (TRUE/FALSE) #
00225  M01S00024.ns2404  +++|
00226  M01S00025.ns2404  +++|  ITEM TMP1       I;                 # TEMPORARY #
00227  M01S00026.ns2404  +++|
Line S00027 Modification History
M01 (Added by) ns2404
M02 (Updated by) fsecm7
Seq #  *Modification Id* Act 
----------------------------+
00228  M02S00027.fsecm7  ---|  TTSTR(TITLE);                      # OUTPUT DESCRIPTIVE TITLE #
00229  M01S00028.ns2404  +++|  IF CHAR EQ CNOTHING THEN
00230  M01S00029.ns2404  +++|    BEGIN                            # IF NO CHARACTER #
Line S00030 Modification History
M01 (Added by) ns2404
M02 (Updated by) fsecm7
Seq #  *Modification Id* Act 
----------------------------+
00231  M02S00030.fsecm7  ---|    TTSTR("(NONE)$");
00232  M01S00009.fsecm7  +++|    IF SYMBOL THEN TTSTR("(NONE)$"); # IF SYMBOLIC REQUESTED #
00233  M01S00031.ns2404  +++|    END
00234  M01S00032.ns2404  +++|  ELSE
Line S00033 Modification History
M01 (Added by) ns2404
M02 (Updated by) fsecm7
Seq #  *Modification Id* Act 
----------------------------+
00235  M02S00033.fsecm7  ---|    BEGIN                            # CHECK FOR BLANK #
Line S00034 Modification History
M01 (Added by) ns2404
M02 (Updated by) fsecm7
Seq #  *Modification Id* Act 
----------------------------+
00236  M02S00034.fsecm7  ---|    IF CHAR EQ CBLANK THEN
Line S00035 Modification History
M01 (Added by) ns2404
M02 (Updated by) fsecm7
Seq #  *Modification Id* Act 
----------------------------+
00237  M02S00035.fsecm7  ---|      BEGIN                          # IF BLANK #
Line S00036 Modification History
M01 (Added by) ns2404
M02 (Updated by) fsecm7
Seq #  *Modification Id* Act 
----------------------------+
00238  M02S00036.fsecm7  ---|      TTSTR("(BLANK)$");
00239  M01S00010.fsecm7  +++|    BEGIN                            # IF CHARACTER OR BLANK #
Line S00037 Modification History
M01 (Added by) ns2404
M02 (Updated by) fsecm7
Seq #  *Modification Id* Act 
----------------------------+
00240  M02S00037.fsecm7  ---|      END
00241  M01S00011.fsecm7  +++|    IF SYMBOL AND CHAR EQ CBLANK THEN TTSTR("(BLANK)$"); # IF SYMBOL #
00242  M01S00038.ns2404  +++|    ELSE
Line S00039 Modification History
M01 (Added by) ns2404
M02 (Updated by) fsecm7
Seq #  *Modification Id* Act 
----------------------------+
00243  M02S00039.fsecm7  ---|      BEGIN                          # NOT NONE OR BLANK #
00244  M01S00012.fsecm7  +++|      BEGIN                          # IF CHARACTER OR NORMAL BLANK #
00245  M01S00040.ns2404  +++|      IF SCREENMODE THEN
00246  M01S00041.ns2404  +++|        BEGIN                        # IF SCREEN MODE #
00247  M01S00042.ns2404  +++|        TMP1 = XLTINTXP[CHAR];       # TRANSLATE, OUTPUT #
00248  M01S00043.ns2404  +++|        VDTCHR(TMP1);
00249  M01S00044.ns2404  +++|        END
00250  M01S00045.ns2404  +++|      ELSE
00251  M01S00046.ns2404  +++|        BEGIN                        # LINE MODE #
00252  M01S00047.ns2404  +++|        TMP1=XLTINTDSP[CHAR];        # TRANSLATE TO DISPLAY #
00253  M01S00048.ns2404  +++|        IF CHAR EQ CATSIGN OR CHAR EQ CUPARROW OR CHAR EQ CGRAVE THEN
00254  M01S00049.ns2404  +++|          BEGIN                      # IF 74XX TRANSLATION NEEDED #
00255  M01S00050.ns2404  +++|          TTCHR(O"74");              # OUTPUT ESCAPE CHARACTER #
00256  M01S00051.ns2404  +++|          TMP1 = O"01";              # ASSUME AT SIGN #
00257  M01S00052.ns2404  +++|          IF CHAR EQ CUPARROW THEN TMP1 = O"02";
00258  M01S00053.ns2404  +++|          IF CHAR EQ CGRAVE THEN TMP1 = O"07";
00259  M01S00054.ns2404  +++|          END
00260  M01S00055.ns2404  +++|        ELSE
00261  M01S00056.ns2404  +++|          BEGIN                      # NOT 74XX #
00262  M01S00057.ns2404  +++|          IF CHAR EQ CLEFTCURL OR CHAR EQ CVERTICAL OR
00263  M01S00058.ns2404  +++|            CHAR EQ CRITECURL OR  CHAR EQ CTILDE THEN
00264  M01S00059.ns2404  +++|            BEGIN                    # IF 76XX TRANSLATION NEEDED #
00265  M01S00060.ns2404  +++|            TTCHR(O"76");            # OUTPUT ESCAPE CHARACTER #
00266  M01S00061.ns2404  +++|            TMP1 = O"33";            # ASSUME LEFT BRACE #
00267  M01S00062.ns2404  +++|            IF CHAR EQ CVERTICAL THEN TMP1 = O"34";
00268  M01S00063.ns2404  +++|            IF CHAR EQ CRITECURL THEN TMP1 = O"35";
00269  M01S00064.ns2404  +++|            IF CHAR EQ CTILDE THEN TMP1 = O"36";
00270  M01S00065.ns2404  +++|            END
00271  M01S00066.ns2404  +++|          END
00272  M01S00067.ns2404  +++|        TTCHR(TMP1);                 # OUTPUT (REST OF) CHARACTER #
00273  M01S00068.ns2404  +++|        END
00274  M01S00069.ns2404  +++|      END
00275  M01S00070.ns2404  +++|    END
00276  M01S00071.ns2404  +++|  END  # TTCHAR #
00277  M01S00190.fsecmds +++|
00278  M01S00191.fsecmds +++|
00279  M01S00192.fsecmds +++|PROC UNDODECODE(POS,NUM);
00280  M01S00193.fsecmds +++|  BEGIN
00281  M01S00194.fsecmds +++|#
00282  M01S00195.fsecmds +++|**        UNDODECODE - DECODE AN AUDIT TRAIL DESCRIPTOR.
00283  M01S00196.fsecmds +++|*
00284  M01S00197.fsecmds +++|*         ENTRY  POS - CHARACTER POSITION OF FIELD.
00285  M01S00198.fsecmds +++|*                LIN - CONTAINS DESCRIPTOR.
00286  M01S00199.fsecmds +++|*
00287  M01S00200.fsecmds +++|*         EXIT   NUM - VALUE DECODED FROM FIELD.
00288  M01S00201.fsecmds +++|*
00289  M01S00202.fsecmds +++|*         MACROS GETCHAR.
00290  M01S00203.fsecmds +++|#
00291  M01S00204.fsecmds +++|  ITEM POS, NUM, TMP1, TMP2;
00292  M01S00205.fsecmds +++|  NUM=0;
00293  M01S00206.fsecmds +++|  TMP2=POS;
00294  M01S00207.fsecmds +++|  GETCHAR(LINE,TMP2,TMP1);
00295  M01S00208.fsecmds +++|  WHYLE TMP1 GQ CDIGIT0 AND TMP1 LQ CDIGIT9 DO
00296  M01S00209.fsecmds +++|    BEGIN
00297  M01S00210.fsecmds +++|    NUM=NUM*10+TMP1-CDIGIT0;
00298  M01S00211.fsecmds +++|    TMP2=TMP2+1;
00299  M01S00212.fsecmds +++|    GETCHAR(LINE,TMP2,TMP1);
00300  M01S00213.fsecmds +++|    END
00301  M01S00214.fsecmds +++|  END                         # OF UNDODECODE     #
00302  M01S00215.fsecmds +++|
00303  M01S00216.fsecmds +++|
00304  M01S00217.fsecmds +++|PROC UNDOPOS(OFFSET);
00305  M01S00218.fsecmds +++|  BEGIN
00306  M01S00219.fsecmds +++|#
00307  M01S00220.fsecmds +++|**        UNDOPOS - POSITION TO AUDITED DATA LINE.
00308  M01S00221.fsecmds +++|*
00309  M01S00222.fsecmds +++|*         ENTRY  OFFSET - DIFFERENCE BETWEEN LINNUM3 AND TARGET.
00310  M01S00223.fsecmds +++|*                LINNUM1 - FILE BRACKET NUMBER.
00311  M01S00224.fsecmds +++|*                LINNUM3 - LINE ORDINAL IN FILE BRACKET.
00312  M01S00225.fsecmds +++|*
00313  M01S00226.fsecmds +++|*         EXIT   CURFILE - EQUALS LINNUM1.
00314  M01S00227.fsecmds +++|*                CURRENT - ABSOLUTE LINE ADDRESS.
00315  M01S00228.fsecmds +++|*                LIN - THE TEXT OF THE LINE.
00316  M01S00229.fsecmds +++|*                CURF(CURFILE) - EQUAL TO CURRENT.
00317  M01S00230.fsecmds +++|*                P<LINEBUF> - POINTS TO LIN.
00318  M01S00231.fsecmds +++|*
00319  M01S00232.fsecmds +++|*         CALLS  POSZ.
00320  M01S00233.fsecmds +++|#
00321  M01S00234.fsecmds +++|  ITEM OFFSET;
00322  M01S00235.fsecmds +++|  P<LINEBUF>=0;              # POSITION INVISIBLY          #
00323  M01S00236.fsecmds +++|  POSZ(TOPF(LINNUM1)+LINNUM3+OFFSET);
00324  M01S00237.fsecmds +++|  P<LINEBUF>=LOC(LIN);       # RESTORE #
00325  M01S00238.fsecmds +++|  CURFILE=LINNUM1;           # REMEMBER WHERE WE ARE       #
00326  M01S00239.fsecmds +++|  CURF(CURFILE)=CURRENT;
00327  M01S00240.fsecmds +++|  END                         # OF UNDOPOS        #
00328  M01S00241.fsecmds +++|
00329  M01S00242.fsecmds +++|
00330  M01S00243.fsecmds +++|PROC UNDOOPEN(BRACKET,DIRECTORY);
00331  M01S00244.fsecmds +++|  BEGIN
00332  M01S00245.fsecmds +++|#
00333  M01S00246.fsecmds +++|**        UNDOOPEN - GET FILE IMAGE INTO ACTIVE BRACKET.
00334  M01S00247.fsecmds +++|*
00335  M01S00248.fsecmds +++|*         ENTRY  BRACKET - DESIRED BRACKET NUMBER.
00336  M01S00249.fsecmds +++|*                DIRECTORY - WORKFILE ADDRESS OF FILE DIRECTORY LINE.
00337  M01S00250.fsecmds +++|*
00338  M01S00251.fsecmds +++|*         EXIT   FILE IS OPENED IN BRACKET.
00339  M01S00252.fsecmds +++|*                THIS AFFECTS TOPF(), BOTF(), ETC.
00340  M01S00253.fsecmds +++|*
00341  M01S00254.fsecmds +++|*         CALLS  PUSH, POSZ, SCANFDL, OPENFILE, POP.
00342  M01S00255.fsecmds +++|*
00343  M01S00256.fsecmds +++|*         USES   READNAM, FILNUM, CHARPARM, GETPARM.
00344  M01S00257.fsecmds +++|#
00345  M01S00258.fsecmds +++|  ITEM BRACKET, DIRECTORY;
00346  M01S00259.fsecmds +++|  IF DIRECTORY EQ 0 OR DIRECTORY EQ FDLF(BRACKET) THEN RETURN;
00347  M01S00260.fsecmds +++|  PUSH;
00348  M01S00261.fsecmds +++|  POSZ(DIRECTORY);
00349  M01S00262.fsecmds +++|  SCANFDL(READNAM);
00350  M01S00263.fsecmds +++|  FILNUM=BRACKET;
00351  M01S00264.fsecmds +++|  CHARPARM=0;
00352  M01S00265.fsecmds +++|  GETPARM=0;
00353  M01S00266.fsecmds +++|  OPENFILE;
00354  M01S00267.fsecmds +++|  POP;
00355  M01S00268.fsecmds +++|  END                         # OF UNDOOPEN       #
00356  M01S00269.fsecmds +++|
00357  M01S00270.fsecmds +++|
00358  M01S00271.fsecmds +++|PROC DOFILL;
00359  M01S00272.fsecmds +++|  BEGIN
00360  M01S00273.fsecmds +++|#
00361  M01S00274.fsecmds +++|**        DOFILL - MAIN ALGORITHM FOR PARAGRAPH FORMATTING.
00362  M01S00275.fsecmds +++|*
00363  M01S00276.fsecmds +++|*         DOFILL IS THE MAIN PROCESSING ALGORITHM FOR THE WORD-
00364  M01S00277.fsecmds +++|*         PROCESSING COMMAND, ".FILL".  THE UNIVERSAL SYNTAX
00365  M01S00278.fsecmds +++|*         SCANNER MUST BE CALLED BEFORE BEFORE DOFILL.  DOFILL
00366  M01S00279.fsecmds +++|*         ACCEPTS EXPLICIT RANGE BOUNDARIES, OR COMPUTE AN IMPLICIT
00367  M01S00280.fsecmds +++|*         RANGE AS THE PARAGRAPH SURROUNDING ONE TARGET LINE.
00368  M01S00281.fsecmds +++|*         MARGINS MAY BE COLUMN 1 THRU THE WIDTH SETTING, OR A
00369  M01S00282.fsecmds +++|*         TAB FIELD.
00370  M01S00283.fsecmds +++|*
00371  M01S00284.fsecmds +++|*         ENTRY  SCANNER HAS BEEN CALLED.
00372  M01S00285.fsecmds +++|*                LINPTR1 - FIRST LINE OF RANGE IF RANGE EXPLICIT.
00373  M01S00286.fsecmds +++|*                          ANY ADDRESS WITHIN PARAGRAPH FOR IMPLICIT.
00374  M01S00287.fsecmds +++|*                LINPTR2 - LAST LINE OF RANGE IF RANGE EXPLICIT.
00375  M01S00288.fsecmds +++|*                LIMIT - RANGE LENGTH LIMIT IF RANGE EXPLICIT.
00376  M01S00289.fsecmds +++|*                NONDEFAULT - TELLS RANGE IMPLICIT OR EXPLICIT.
00377  M01S00290.fsecmds +++|*                FILLLEFT, FILLRIGHT - DEFAULT MARGIN OBJECTIVES.
00378  M01S00291.fsecmds +++|*                FILLFIRST - DEFAULT MARGIN OBJECTIVES.
00379  M01S00292.fsecmds +++|*                CURFILE - WHICH FILE BRACKET.
00380  M01S00293.fsecmds +++|*                NUMBERED[CURFILE] - REQUIRED TO BE FALSE.
00381  M01S00294.fsecmds +++|*                TOPF(CURFILE), BOTF(CURFILE) - FILE BOUNDS.
00382  M01S00295.fsecmds +++|*                SCREENMODE - CONTROLS FINAL POSITIONING/PRINTING.
00383  M01S00296.fsecmds +++|*
00384  M01S00297.fsecmds +++|*         EXIT   LINPTR1, LINPTR2, LIMIT - POSSIBLY DESTROYED.
00385  M01S00298.fsecmds +++|*                CURRENT - FRONT OF RESULTANT RANGE IF SCREEN,
00386  M01S00299.fsecmds +++|*                    ELSE END OF RESULTANT RANGE.
00387  M01S00300.fsecmds +++|*                LIN - TEXT OF CURRENT LINE.
00388  M01S00301.fsecmds +++|*                BOTF(CURFILE) - POSSIBLY RELOCATED.
00389  M01S00302.fsecmds +++|*
00390  M01S00303.fsecmds +++|*         MACROS GETCHAR, SETCHAR.
00391  M01S00304.fsecmds +++|*
00392  M01S00305.fsecmds +++|*         CALLS  TABFN, MIN, MAX, POSZ, LENGTH, BAKZ, FWDZ, TRIMPAD,
00393  M01S00306.fsecmds +++|*                REPX, LSHIFT, RSHIFT, DOSPLIT, COPYLIN, DORANGE.
00394  M01S00307.fsecmds +++|*
00395  M01S00308.fsecmds +++|*         USES   TTYLIN.
00396  M01S00309.fsecmds +++|#
00397  M01S00310.fsecmds +++|  ITEM FILLLOOP;             # USED FOR LOOP TESTING       #
00398  M01S00311.fsecmds +++|  ITEM LMARGIN, RMARGIN;
Line S00312 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
00399  M02S00312.ns2503  ---|  ITEM TMP1, TMP2, TMP3, TMP4, TMP5;
00400  M01S00001.ns2503  +++|  ITEM TMP1, TMP2, TMP3, TMP4, TMP5, TMP6;
00401  M01S00002.ns2503  +++|  ITEM LEFTRIGHT B;
00402  M01S00313.fsecmds +++|
00403  M01S00314.fsecmds +++|  # PROCESS A PARAGRAPH OF WORDS OF TEXT CENTERED AROUND  #
00404  M01S00315.fsecmds +++|  # THE CURRENT LINE (LINPTR1 INITIALLY).  WE LOOK BACK   #
00405  M01S00316.fsecmds +++|  # AND FORWARDS FOR BOUNDARIES, THEN PROCESS THE BLOCK   #
00406  M01S00317.fsecmds +++|  # MERGING WORDS ONTO LINES TO MATCH "SET WIDTH".        #
00407  M01S00318.fsecmds +++|
00408  M01S00319.fsecmds +++|  IF NUMBERED[CURFILE] NQ 0 THEN
00409  M01S00320.fsecmds +++|    BEGIN
00410  M01S00321.fsecmds +++|    ERRJUMP("FILE MUST NOT CONTAIN SEQUENCE NUMBERS$");
00411  M01S00322.fsecmds +++|    END
00412  M01S00323.fsecmds +++|
00413  M01S00324.fsecmds +++|  LMARGIN=FILLFIRST;
00414  M01S00325.fsecmds +++|  RMARGIN=FILLRIGHT;
00415  M01S00003.ns2503  +++|  LEFTRIGHT = FALSE;
00416  M01S00326.fsecmds +++|
00417  M01S00327.fsecmds +++|  IF NONDEFAULT THEN         # USE LINPTR1, LINPTR2        #
00418  M01S00328.fsecmds +++|    BEGIN
00419  M01S00329.fsecmds +++|    REGLINE[RNGTOPREG]=LINPTR1-1;
00420  M01S00330.fsecmds +++|    REGLINE[RNGBOTREG]=MIN(LINPTR2+1,LINPTR1+LIMIT);
00421  M01S00331.fsecmds +++|    END
00422  M01S00332.fsecmds +++|  ELSE                       # SEARCH FOR PARAGRAPH        #
00423  M01S00333.fsecmds +++|    BEGIN
00424  M01S00334.fsecmds +++|    POSZ(LINPTR1);
Line S00335 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2411
Seq #  *Modification Id* Act 
----------------------------+
00425  M02S00335.ns2411  ---|    IF LENGTH(LIN) EQ 0 THEN RETURN;    # NONE TODO        #
Line S00336 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2411
Seq #  *Modification Id* Act 
----------------------------+
00426  M02S00336.ns2411  ---|    WHYLE CURRENT GR TOPF(CURFILE) AND LENGTH(LIN) GR 0 DO
00427  M01S00001.ns2411  +++|    IF NOTEXT THEN RETURN;           # NO TEXT ON THIS LINE #
00428  M01S00002.ns2411  +++|    WHYLE CURRENT GR TOPF(CURFILE) AND NOT NOTEXT DO
00429  M01S00337.fsecmds +++|      BEGIN                   # LOOK BACK FOR BLANK         #
00430  M01S00338.fsecmds +++|      BAKZ;
00431  M01S00339.fsecmds +++|      IF USRBRK NQ 0 THEN RETURN;
00432  M01S00340.fsecmds +++|      END
00433  M01S00341.fsecmds +++|    REGLINE[RNGTOPREG]=CURRENT;
00434  M01S00342.fsecmds +++|    POSZ(LINPTR1);
Line S00343 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2411
Seq #  *Modification Id* Act 
----------------------------+
00435  M02S00343.ns2411  ---|    WHYLE CURRENT LS BOTF(CURFILE) AND LENGTH(LIN) GR 0 DO
00436  M01S00003.ns2411  +++|    WHYLE CURRENT LS BOTF(CURFILE) AND NOT NOTEXT DO
00437  M01S00344.fsecmds +++|      BEGIN                   # LOOK FORWARDS FOR BLANK     #
00438  M01S00345.fsecmds +++|      FWDZ;
00439  M01S00346.fsecmds +++|      IF USRBRK NQ 0 THEN RETURN;
00440  M01S00347.fsecmds +++|      END
00441  M01S00348.fsecmds +++|    REGLINE[RNGBOTREG]=CURRENT;
00442  M01S00349.fsecmds +++|    END
00443  M01S00350.fsecmds +++|
00444  M01S00351.fsecmds +++|  POSZ(REGLINE[RNGTOPREG]+1);
00445  M01S00352.fsecmds +++|  FOR FILLLOOP=FILLLOOP WHILE CURRENT LS REGLINE[RNGBOTREG]
00446  M01S00353.fsecmds +++|    AND CURRENT GR REGLINE[RNGTOPREG] AND USRBRK EQ 0 DO
00447  M01S00354.fsecmds +++|    BEGIN
00448  M01S00355.fsecmds +++|
00449  M01S00356.fsecmds +++|    IF CURRENT GR REGLINE[RNGTOPREG]+1 THEN
00450  M01S00357.fsecmds +++|      BEGIN                          # LOOK BACK FOR START PARA #
00451  M01S00358.fsecmds +++|      BAKZ;
Line S00359 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2411
Seq #  *Modification Id* Act 
----------------------------+
00452  M02S00359.ns2411  ---|      IF LENGTH(LIN) EQ 0 THEN LMARGIN=FILLFIRST;
00453  M01S00004.ns2411  +++|      IF NOTEXT THEN LMARGIN=FILLFIRST;
00454  M01S00360.fsecmds +++|      ELSE LMARGIN=FILLLEFT;
00455  M01S00361.fsecmds +++|      FWDZ;
00456  M01S00362.fsecmds +++|      END
00457  M01S00363.fsecmds +++|
00458  M01S00364.fsecmds +++|    IF LENGTH(LIN) GR EDITFIELD THEN   # KILL PROTECTED    #
00459  M01S00365.fsecmds +++|      BEGIN
00460  M01S00366.fsecmds +++|      SETCHAR(LINE,EDITFIELD,CENDLINE);
00461  M01S00367.fsecmds +++|      TRIMPAD;
00462  M01S00368.fsecmds +++|      REPX;
00463  M01S00369.fsecmds +++|      END
00464  M01S00370.fsecmds +++|
00465  M01S00371.fsecmds +++|    IF LENGTH(LIN) GR 0 THEN           # NORMALIZE SPACING #
00466  M01S00372.fsecmds +++|      BEGIN
00467  M01S00373.fsecmds +++|      TMP1=0;                # CURSOR  #
00468  M01S00374.fsecmds +++|      TMP2=LMARGIN;          # NUMBER OF EXPECTED BLANKS   #
00469  M01S00375.fsecmds +++|      TMP3=0;                # FLAG FOR CHANGES MADE       #
00470  M01S00376.fsecmds +++|      WHYLE TMP1 LS LENGTH(LIN) DO
00471  M01S00377.fsecmds +++|        BEGIN
00472  M01S00378.fsecmds +++|        # FIRST CHECK AND COMPRESS BLANKS BEFORE WORD #
00473  M01S00379.fsecmds +++|        TMP4=TMP1;
00474  M01S00380.fsecmds +++|        GETCHAR(LINE,TMP4,TMP5);
00475  M01S00381.fsecmds +++|        WHYLE TMP5 EQ CBLANK DO        # SPAN BLANKS BEFORE WORD     #
00476  M01S00382.fsecmds +++|          BEGIN
00477  M01S00383.fsecmds +++|          TMP4=TMP4+1;
00478  M01S00384.fsecmds +++|          GETCHAR(LINE,TMP4,TMP5);
00479  M01S00385.fsecmds +++|          END
00480  M01S00386.fsecmds +++|        TMP4=TMP4-TMP1;      # NUMBER OF BLANKS  #
00481  M01S00387.fsecmds +++|        IF TMP4 GR TMP2 THEN          # NEED LESS SPACING #
00482  M01S00388.fsecmds +++|          BEGIN
00483  M01S00389.fsecmds +++|          LSHIFT(LIN,TMP1+TMP4-TMP2,TMP4-TMP2);
00484  M01S00390.fsecmds +++|          TMP3=1;            # FLAG CHANGE       #
00485  M01S00391.fsecmds +++|          END
00486  M01S00392.fsecmds +++|        IF TMP4 LS TMP2 THEN           # NEED MORE SPACING #
00487  M01S00393.fsecmds +++|          BEGIN
00488  M01S00394.fsecmds +++|          RSHIFT(LIN,TMP1,TMP2-TMP4);
00489  M01S00395.fsecmds +++|          FOR TMP3=1 STEP 1 UNTIL TMP2-TMP4
00490  M01S00396.fsecmds +++|            DO SETCHAR(LINE,TMP1+TMP3-1,CBLANK);
00491  M01S00397.fsecmds +++|          TMP3=1;
00492  M01S00398.fsecmds +++|          END
00493  M01S00399.fsecmds +++|        # SECOND SCAN ACROSS WORD TO SET NEW BLANK EXPECTATION       #
00494  M01S00400.fsecmds +++|        TMP1=TMP1+TMP2;      # POINT TO WORD     #
00495  M01S00401.fsecmds +++|        GETCHAR(LINE,TMP1,TMP5);
00496  M01S00402.fsecmds +++|        WHYLE TMP5 NQ CBLANK AND TMP5 NQ CENDLINE DO
00497  M01S00403.fsecmds +++|          BEGIN
00498  M01S00404.fsecmds +++|          TMP4=TMP5;         # NEED TO KNOW LAST CHARACTER OF WORD   #
00499  M01S00405.fsecmds +++|          TMP1=TMP1+1;
00500  M01S00406.fsecmds +++|          GETCHAR(LINE,TMP1,TMP5);
00501  M01S00407.fsecmds +++|          END
Line S00408 Modification History
M01 (Added by) fsecmds
M02 (Updated by) fsecm6
Seq #  *Modification Id* Act 
----------------------------+
00502  M02S00408.fsecm6  ---|        IF TMP4 EQ CPERIOD OR TMP4 EQ CEXCLAM OR TMP4 EQ CCOLON
Line S00409 Modification History
M01 (Added by) fsecmds
M02 (Updated by) fsecm6
Seq #  *Modification Id* Act 
----------------------------+
00503  M02S00409.fsecm6  ---|          OR TMP4 EQ CQUESTION THEN TMP2=2;
00504  M01S00001.fsecm6  +++|        IF TMP4 EQ CPERIOD OR TMP4 EQ CEXCLAM OR TMP4 EQ CQUESTION
00505  M01S00002.fsecm6  +++|          OR TMP4 EQ XLTDSPINT[CCOLON] THEN TMP2=2;
00506  M01S00410.fsecmds +++|        ELSE TMP2=1;
00507  M01S00411.fsecmds +++|        END
00508  M01S00412.fsecmds +++|      IF TMP3 NQ 0 THEN
00509  M01S00413.fsecmds +++|        BEGIN
00510  M01S00414.fsecmds +++|        TRIMPAD;
00511  M01S00415.fsecmds +++|        REPX;
00512  M01S00416.fsecmds +++|        END
00513  M01S00417.fsecmds +++|      END
00514  M01S00418.fsecmds +++|
Line S00419 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2411
Seq #  *Modification Id* Act 
----------------------------+
00515  M02S00419.ns2411  ---|    IF LENGTH(LIN) EQ RMARGIN OR LENGTH(LIN) EQ 0 THEN
00516  M01S00005.ns2411  +++|    IF LENGTH(LIN) EQ RMARGIN OR NOTEXT THEN
00517  M01S00420.fsecmds +++|      BEGIN                   # SKIP PERFECT OR BLANK LINE  #
00518  M01S00421.fsecmds +++|      FWDZ;
00519  M01S00422.fsecmds +++|      TEST FILLLOOP;
00520  M01S00423.fsecmds +++|      END
00521  M01S00424.fsecmds +++|
00522  M01S00425.fsecmds +++|    IF LENGTH(LIN) GR RMARGIN THEN
00523  M01S00426.fsecmds +++|      BEGIN                   # SPLIT THIS LINE TO SHORTEN  #
00524  M01S00427.fsecmds +++|      TMP1=RMARGIN;
00525  M01S00428.fsecmds +++|      GETCHAR(LINE,TMP1,TMP2);
00526  M01S00429.fsecmds +++|      WHYLE TMP2 NQ CBLANK AND TMP1 GR 0 DO
00527  M01S00430.fsecmds +++|        BEGIN                 # LOOK BACK FOR BLANK         #
00528  M01S00431.fsecmds +++|        TMP1=TMP1-1;
00529  M01S00432.fsecmds +++|        GETCHAR(LINE,TMP1,TMP2);
00530  M01S00433.fsecmds +++|        END
00531  M01S00434.fsecmds +++|      IF TMP1 GR LMARGIN THEN    # SPLIT AND WORK ON SECOND HALF     #
00532  M01S00435.fsecmds +++|        BEGIN
00533  M01S00436.fsecmds +++|        CHRPTR3=TMP1+1;
Line S00437 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2226
Seq #  *Modification Id* Act 
----------------------------+
00534  M02S00437.ns2226  ---|        DOSPLIT;
00535  M01S00001.ns2226  +++|        DOSPLIT(1);
00536  M01S00001.fsecm3  +++|        IF RIGHTJUST[0] THEN GOTO JUSTIFY; # IF RIGHT JUSTIFY NEEDED #
00537  M01S00438.fsecmds +++|        END
00538  M01S00439.fsecmds +++|      ELSE FWDZ;             # ALL ONE WORD - JUST MOVE ON           #
Line S00004 Modification History
M01 (Added by) ns2503
M02 (Updated by) fsecm3
Seq #  *Modification Id* Act 
----------------------------+
00539  M02S00004.fsecm3  ---|      IF RIGHTJUST[0] THEN GOTO JUSTIFY;
00540  M01S00440.fsecmds +++|      TEST FILLLOOP;
00541  M01S00441.fsecmds +++|      END
00542  M01S00442.fsecmds +++|
00543  M01S00443.fsecmds +++|    IF LENGTH(LIN) LS RMARGIN AND CURRENT EQ REGLINE[RNGBOTREG]-1 THEN
00544  M01S00444.fsecmds +++|      BEGIN                   # CANNOT ENLARGE LAST SO SKIP #
00545  M01S00445.fsecmds +++|      FWDZ;
00546  M01S00446.fsecmds +++|      TEST FILLLOOP;         # THIS ACTUALLY TERMINATES LOOP         #
00547  M01S00447.fsecmds +++|      END
00548  M01S00448.fsecmds +++|
00549  M01S00449.fsecmds +++|    IF LENGTH(LIN) LS RMARGIN AND CURRENT LS REGLINE[RNGBOTREG]-1 THEN
00550  M01S00450.fsecmds +++|      BEGIN                   # TRY TO ADD WORDS FROM NEXT  #
00551  M01S00451.fsecmds +++|      COPYLIN(LIN,TTYLIN);   # TTYLIN = CURRENT LINE       #
00552  M01S00452.fsecmds +++|      FWDZ;                  # READ UP NEXT LINE #
Line S00453 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2411
Seq #  *Modification Id* Act 
----------------------------+
00553  M02S00453.ns2411  ---|      IF LENGTH(LIN) EQ 0 THEN TEST FILLLOOP;    # NEXT PARAGRAPH    #
00554  M01S00006.ns2411  +++|      IF NOTEXT THEN TEST FILLLOOP;  # NEXT PARAGRAPH #
00555  M01S00454.fsecmds +++|      TMP1=0;
00556  M01S00455.fsecmds +++|      GETCHAR(LINE,0,TMP2);
00557  M01S00456.fsecmds +++|      WHYLE TMP2 EQ CBLANK DO
00558  M01S00457.fsecmds +++|        BEGIN                 # SPAN LEADING BLANKS         #
00559  M01S00458.fsecmds +++|        TMP1=TMP1+1;
00560  M01S00459.fsecmds +++|        GETCHAR(LINE,TMP1,TMP2);
00561  M01S00460.fsecmds +++|        END
00562  M01S00461.fsecmds +++|      TMP3=TMP1;             # KEEP START OF WORD          #
00563  M01S00462.fsecmds +++|      WHYLE TMP2 NQ CBLANK AND TMP2 NQ CENDLINE DO
00564  M01S00463.fsecmds +++|        BEGIN                 # SPAN WORD         #
00565  M01S00464.fsecmds +++|        TMP1=TMP1+1;
00566  M01S00465.fsecmds +++|        GETCHAR(LINE,TMP1,TMP2);
00567  M01S00466.fsecmds +++|        END
00568  M01S00467.fsecmds +++|      TMP4=LENGTH(TTYLIN);
00569  M01S00468.fsecmds +++|      GETCHAR(TTYLINE,TMP4-1,TMP5);  # DETERMINE SPACING #
Line S00469 Modification History
M01 (Added by) fsecmds
M02 (Updated by) fsecm6
Seq #  *Modification Id* Act 
----------------------------+
00570  M02S00469.fsecm6  ---|      IF TMP5 EQ CPERIOD OR TMP5 EQ CEXCLAM OR TMP5 EQ CCOLON
Line S00470 Modification History
M01 (Added by) fsecmds
M02 (Updated by) fsecm6
Seq #  *Modification Id* Act 
----------------------------+
00571  M02S00470.fsecm6  ---|        OR TMP5 EQ CQUESTION THEN TMP5=2;
00572  M01S00003.fsecm6  +++|      IF TMP5 EQ CPERIOD OR TMP5 EQ CEXCLAM OR TMP5 EQ CQUESTION
00573  M01S00004.fsecm6  +++|        OR TMP5 EQ XLTDSPINT[CCOLON] THEN TMP5=2;
00574  M01S00471.fsecmds +++|      ELSE TMP5=1;
00575  M01S00472.fsecmds +++|      # ADD WORD IF ROOM FOR OLD LINE, BLANKS, AND WORD #
00576  M01S00473.fsecmds +++|      IF (LENGTH(TTYLIN)) + (TMP5) + (TMP1-TMP3-1) LQ RMARGIN THEN
00577  M01S00474.fsecmds +++|        BEGIN                 # CAN ADD ONE WORD  #
00578  M01S00475.fsecmds +++|        FOR TMP2=1 STEP 1 UNTIL TMP5 DO          # ADD 1 OR 2 BLANK  #
00579  M01S00476.fsecmds +++|          BEGIN
00580  M01S00477.fsecmds +++|          SETCHAR(TTYLINE,TMP4,CBLANK);
00581  M01S00478.fsecmds +++|          TMP4=TMP4+1;
00582  M01S00479.fsecmds +++|          END
00583  M01S00480.fsecmds +++|        FOR TMP2=TMP3 STEP 1 UNTIL TMP1-1 DO     # ADD ONE WORD      #
00584  M01S00481.fsecmds +++|          BEGIN
00585  M01S00482.fsecmds +++|          GETCHAR(LINE,TMP2,TMP5);
00586  M01S00483.fsecmds +++|          SETCHAR(TTYLINE,TMP4,TMP5);
00587  M01S00484.fsecmds +++|          TMP4=TMP4+1;
00588  M01S00485.fsecmds +++|          END
00589  M01S00486.fsecmds +++|        SETCHAR(TTYLINE,TMP4,CENDLINE);
00590  M01S00487.fsecmds +++|        BAKZ;                # RETURN TO CURRENT LINE      #
00591  M01S00488.fsecmds +++|        COPYLIN(TTYLIN,LIN);
00592  M01S00489.fsecmds +++|        TRIMPAD;
00593  M01S00490.fsecmds +++|        REPX;                # SAVE ENLARGED LINE          #
00594  M01S00491.fsecmds +++|        FWDZ;                # EXTRACT FROM NEXT LINE      #
00595  M01S00492.fsecmds +++|        GETCHAR(LINE,TMP1,TMP2);
00596  M01S00493.fsecmds +++|        WHYLE TMP2 EQ CBLANK DO        # KILL LEADER, WORD, TRAILER  #
00597  M01S00494.fsecmds +++|          BEGIN
00598  M01S00495.fsecmds +++|          TMP1=TMP1+1;
00599  M01S00496.fsecmds +++|          GETCHAR(LINE,TMP1,TMP2);
00600  M01S00497.fsecmds +++|          END
00601  M01S00498.fsecmds +++|        LSHIFT(LIN,TMP1,TMP1);
00602  M01S00499.fsecmds +++|        TRIMPAD;
00603  M01S00500.fsecmds +++|        IF LENGTH(LIN) EQ 0 THEN DELX; # DEL AND BACKUP IF EMPTIED   #
00604  M01S00501.fsecmds +++|        ELSE                 # UPDATE IF STILL EXIST       #
00605  M01S00502.fsecmds +++|          BEGIN
00606  M01S00503.fsecmds +++|          REPX;              # UPDATE REMAINDER OF NEXT LINE         #
00607  M01S00504.fsecmds +++|          BAKZ;              # TO ORIG TO TRY ANOTHER WORD #
00608  M01S00505.fsecmds +++|          END
00609  M01S00506.fsecmds +++|        END
00610  M01S00507.fsecmds +++|      # NOTE - IF NO-OP-ED, WE ARE ALREADY ADVANCED ONE LINE         #
00611  M01S00005.ns2503  +++|      ELSE IF RIGHTJUST[0] THEN GOTO JUSTIFY;
00612  M01S00508.fsecmds +++|      TEST FILLLOOP;
00613  M01S00509.fsecmds +++|      END
00614  M01S00510.fsecmds +++|
00615  M01S00006.ns2503  +++|  JUSTIFY:                           # ALIGN WORDS TO RIGHT MARGIN #
00616  M01S00007.ns2503  +++|      BAKZ;
00617  M01S00008.ns2503  +++|      COPYLIN(LIN,TTYLIN);
00618  M01S00009.ns2503  +++|      TMP2 = 0;                      # NUMBER OF WORDS/BLANKS ADDED #
00619  M01S00010.ns2503  +++|      TMP1 = RMARGIN - LENGTH(TTYLIN);
00620  M01S00011.ns2503  +++|      FOR TMP3 = LMARGIN STEP 1 UNTIL LENGTH(TTYLIN) DO
00621  M01S00012.ns2503  +++|         BEGIN
00622  M01S00013.ns2503  +++|         GETCHAR(TTYLINE,TMP3,TMP5);
00623  M01S00014.ns2503  +++|         IF TMP5 EQ CBLANK THEN
00624  M01S00015.ns2503  +++|           TMP2 = TMP2 + 1;
00625  M01S00016.ns2503  +++|         END
00626  M01S00002.fsecm3  +++|      IF TMP2 EQ 0 THEN
00627  M01S00003.fsecm3  +++|        BEGIN                        # IF NO SPACES DO NOT JUSTIFY #
00628  M01S00004.fsecm3  +++|        FWDZ;
00629  M01S00005.fsecm3  +++|        TEST FILLLOOP;
00630  M01S00006.fsecm3  +++|        END
00631  M01S00017.ns2503  +++|      TMP3 = TMP1/TMP2;              # COMPUTE NUMBER OF BLANKS #
00632  M01S00018.ns2503  +++|      TMP4 = TMP1-TMP2*TMP3;         # NUMBER TIMES INSERTED #
00633  M01S00019.ns2503  +++|      LEFTRIGHT = NOT LEFTRIGHT;
00634  M01S00020.ns2503  +++|      FOR TMP5 = LMARGIN STEP 1 UNTIL RMARGIN DO
00635  M01S00021.ns2503  +++|        BEGIN
00636  M01S00022.ns2503  +++|        SETCHAR(LINE,TMP5,CBLANK);
00637  M01S00023.ns2503  +++|        END
00638  M01S00024.ns2503  +++|      IF LEFTRIGHT THEN
00639  M01S00025.ns2503  +++|        BEGIN                        # IF FROM LEFT TO RIGHT #
00640  M01S00026.ns2503  +++|        TMP6 = LMARGIN;
00641  M01S00027.ns2503  +++|        FOR TMP5 = LMARGIN STEP 1 UNTIL LENGTH(TTYLIN)-1 DO
00642  M01S00028.ns2503  +++|          BEGIN
00643  M01S00029.ns2503  +++|          GETCHAR(TTYLINE,TMP5,TMP2);
00644  M01S00030.ns2503  +++|          SETCHAR(LINE,TMP6,TMP2);
00645  M01S00031.ns2503  +++|          IF TMP2 EQ CBLANK AND TMP1 NQ 0 THEN
00646  M01S00032.ns2503  +++|            BEGIN
00647  M01S00033.ns2503  +++|            IF TMP4 EQ 0 THEN TMP3 = TMP3 - 1;
00648  M01S00034.ns2503  +++|            TMP6 = TMP6 + TMP3 + 1;
00649  M01S00035.ns2503  +++|            TMP4 = TMP4 - 1;
00650  M01S00036.ns2503  +++|            TMP1 = TMP1 - TMP3;
00651  M01S00037.ns2503  +++|            END
00652  M01S00038.ns2503  +++|          TMP6 = TMP6 + 1;
00653  M01S00039.ns2503  +++|          END
00654  M01S00040.ns2503  +++|        END
00655  M01S00041.ns2503  +++|      ELSE
00656  M01S00042.ns2503  +++|        BEGIN                        # JUSTIFY FROM RIGHT TO LEFT #
00657  M01S00043.ns2503  +++|        TMP6 = RMARGIN - 1;
00658  M01S00044.ns2503  +++|        FOR TMP5 = LENGTH(TTYLIN)-1 STEP -1 UNTIL LMARGIN DO
00659  M01S00045.ns2503  +++|          BEGIN
00660  M01S00046.ns2503  +++|          GETCHAR(TTYLINE,TMP5,TMP2);
00661  M01S00047.ns2503  +++|          SETCHAR(LINE,TMP6,TMP2);
00662  M01S00048.ns2503  +++|          IF TMP2 EQ CBLANK AND TMP1 NQ 0 THEN
00663  M01S00049.ns2503  +++|            BEGIN
00664  M01S00050.ns2503  +++|            IF TMP4 EQ 0 THEN TMP3 = TMP3 - 1;
00665  M01S00051.ns2503  +++|            TMP6 = TMP6 - TMP3 - 1;
00666  M01S00052.ns2503  +++|            TMP4 = TMP4 - 1;
00667  M01S00053.ns2503  +++|            TMP1 = TMP1 - TMP3;
00668  M01S00054.ns2503  +++|            END
00669  M01S00055.ns2503  +++|          TMP6 = TMP6 - 1;
00670  M01S00056.ns2503  +++|          END
00671  M01S00057.ns2503  +++|        END
00672  M01S00058.ns2503  +++|      SETCHAR(LINE,RMARGIN,CENDLINE);
00673  M01S00059.ns2503  +++|      REPX;
00674  M01S00060.ns2503  +++|      FWDZ;
00675  M01S00061.ns2503  +++|
00676  M01S00511.fsecmds +++|    END                       # OF LOOP #
00677  M01S00512.fsecmds +++|
00678  M01S00513.fsecmds +++|  IF SCREENMODE THEN POSZ(REGLINE[RNGTOPREG]+1);
00679  M01S00514.fsecmds +++|  ELSE
00680  M01S00515.fsecmds +++|    BEGIN
00681  M01S00516.fsecmds +++|    LINPTR1=REGLINE[RNGTOPREG]+1;
00682  M01S00517.fsecmds +++|    LINPTR2=REGLINE[RNGBOTREG]-1;
00683  M01S00518.fsecmds +++|    LIMIT=LARGENUM;  EXECNDX=EXECST"TYPE";
00684  M01S00519.fsecmds +++|    DORANGE;
00685  M01S00520.fsecmds +++|    END
00686  M01S00521.fsecmds +++|
00687  M01S00522.fsecmds +++|  END                         # OF DOFILL         #
00688  M01S00523.fsecmds +++|PAGE                         # MAIN CODE FOR FSECMDS        #
00689  M01S00524.fsecmds +++|
00690  M01S00525.fsecmds +++|
00691  M01S00526.fsecmds +++|PROC SNGLMOV;
00692  M01S00527.fsecmds +++|  BEGIN
00693  M01S00528.fsecmds +++|#
00694  M01S00529.fsecmds +++|**        SNGLMOV - COMMAND PROCESSOR FOR COPY AND MOVE.
00695  M01S00530.fsecmds +++|*
00696  M01S00531.fsecmds +++|*         ENTRY  COMMAND PROCESSOR HAS RECOGNIZED VERB.
00697  M01S00532.fsecmds +++|*                TOKEN ADVANCED BUT NO OTHER SCANNING DONE.
00698  M01S00533.fsecmds +++|*                TOKENTYPE, SCANPOS, TOKENPOS, ETC - AS ABOVE.
00699  M01S00534.fsecmds +++|*                CURFILE, CURSPLIT, CURRENT - DEFAULT ADDRESS.
00700  M01S00535.fsecmds +++|*                CHARRANGE - CHARACTER OR LINE RANGE BOUNDS.
00701  M01S00536.fsecmds +++|*                SCREENMODE - FINAL POSITIONING/PRINTING.
00702  M01S00537.fsecmds +++|*                WIDTH - THIS SETTING WILL BE IGNORED.
00703  M01S00538.fsecmds +++|*                DONTPRINT - LINE MODE ECHO OF RESULTS.
00704  M01S00539.fsecmds +++|*                BLANKS - THIS SETTING WILL BE IGNORED.
00705  M01S00540.fsecmds +++|*
00706  M01S00541.fsecmds +++|*         EXIT   CURFILE, CURRENT - FINAL RESTING PLACE.
00707  M01S00542.fsecmds +++|*                (ANOTHER FILE MAY HAVE BEEN OPENED)
00708  M01S00543.fsecmds +++|*                SMALLFIELD - TRUE.
00709  M01S00544.fsecmds +++|*
00710  M01S00545.fsecmds +++|*         CALLS  FLDLEN, SCANNER, FITNUM, MAKEFET, REWIND, RETERN,
00711  M01S00546.fsecmds +++|*                PUSH, DORANGE, SPLICE, POP, WRITER, READ, TABFN,
00712  M01S00547.fsecmds +++|*                DOSPLIT, BAKZ, XFRCMIN, SQUELCH, TRIMPAD, SETLNUM,
00713  M01S00548.fsecmds +++|*                INSX, DOJOIN, POSZ, VFYLOCK.
00714  M01S00549.fsecmds +++|*
00715  M01S00550.fsecmds +++|*         USES   LINPTR1-3, CHRPTR1-3, FILPTR1-3, LINNUM1-3,
00716  M01S00551.fsecmds +++|*                LINCTR, LIMIT, MOVEFET, FILEBUF.
00717  M01S00552.fsecmds +++|*
00718  M01S00553.fsecmds +++|*         NOTE   USES THEN RESTORES - LINENO.
00719  M01S00554.fsecmds +++|#
00720  M01S00555.fsecmds +++|  ITEM LEN;
00721  M01S00556.fsecmds +++|
00722  M01S00557.fsecmds +++|  SCANNER;
00723  M01S00558.fsecmds +++|  IF FIELDTARGET NQ 0 THEN CHRPTR3=NUMWIDBLK+TABFN(FIELDTARGET-1);
00724  M01S00559.fsecmds +++|
Line S00560 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2470
Seq #  *Modification Id* Act 
----------------------------+
00725  M02S00560.ns2470  ---|  IF EXECNDX EQ EXECST"MOVE" THEN VFYLOCK;
00726  M01S00001.ns2470  +++|  IF EXECNDX EQ EXECST"MOVE" THEN
00727  M01S00002.ns2470  +++|    BEGIN                            # IF MOVE COMMAND #
00728  M01S00003.ns2470  +++|    VFYLOCK;
00729  M01S00004.ns2470  +++|    IF SCANMARK THEN KILLMARKS = TRUE;
00730  M01S00005.ns2470  +++|    END
00731  M01S00561.fsecmds +++|  CURFILE = = FILPTR3;
00732  M01S00562.fsecmds +++|  VFYLOCK;
00733  M01S00563.fsecmds +++|  CURFILE = = FILPTR3;
00734  M01S00564.fsecmds +++|
00735  M01S00565.fsecmds +++|  IF NUMBERED[FILPTR3] NQ 0 AND CHARRANGE AND LINPTR1 NQ LINPTR2
00736  M01S00566.fsecmds +++|    AND LIMIT GR 1
00737  M01S00567.fsecmds +++|    THEN ERRJUMP("FILE MUST NOT CONTAIN SEQUENCE NUMBERS$");
00738  M01S00568.fsecmds +++|
00739  M01S00569.fsecmds +++|  CURFILE = = FILPTR3;
00740  M01S00570.fsecmds +++|  POSZ(LINPTR3);             # GET FAMILIAR WITH TARGET    #
00741  M01S00571.fsecmds +++|  FITNUM;                    # ASSURE NUMBERED MODE IS OK  #
00742  M01S00572.fsecmds +++|  CURFILE = = FILPTR3;
00743  M01S00573.fsecmds +++|
00744  M01S00574.fsecmds +++|  IF CHARRANGE AND LINPTR1 EQ LINPTR2 AND LINPTR1 EQ LINPTR3 THEN
00745  M01S00575.fsecmds +++|    BEGIN                            # PHRASE WITHIN LINE #
00746  M01S00576.fsecmds +++|    POSZ(LINPTR1);
00747  M01S00002.ns2226  +++|    IF LENGTH(LIN) EQ 0 THEN
00748  M01S00003.ns2226  +++|      BEGIN
00749  M01S00004.ns2226  +++|      SETCHAR(LINE,0,CBLANK);
00750  M01S00005.ns2226  +++|      SETCHAR(LINE,1,CENDLINE);
00751  M01S00006.ns2226  +++|      END
00752  M01S00577.fsecmds +++|    COPYLIN(LIN,TTYLIN);
00753  M01S00007.ns2226  +++|    CHRPTR1=MIN(CHRPTR1,LENGTH(LIN)-1);
00754  M01S00008.ns2226  +++|    CHRPTR2=MIN(CHRPTR2,LENGTH(LIN)-1);
00755  M01S00578.fsecmds +++|    LEN=CHRPTR2-CHRPTR1+1;
00756  M01S00579.fsecmds +++|    RSHIFT(LIN,CHRPTR3,LEN);
00757  M01S00580.fsecmds +++|    FOR LINCTR=0 STEP 1 UNTIL LEN-1 DO
00758  M01S00581.fsecmds +++|      BEGIN
00759  M01S00582.fsecmds +++|      GETCHAR(TTYLINE,CHRPTR1+LINCTR,LINPTR2);
00760  M01S00583.fsecmds +++|      IF CHRPTR3+LINCTR LQ BUFCM1
00761  M01S00584.fsecmds +++|        THEN SETCHAR(LINE,CHRPTR3+LINCTR,LINPTR2);
00762  M01S00585.fsecmds +++|      END
00763  M01S00001.ns2174  +++|
00764  M01S00002.ns2174  +++|    # NO TRUNCATION AT EDITFIELD HERE SINCE THIS IS CONSIDERED TO #
00765  M01S00003.ns2174  +++|    # BE AN IN-PLACE ALTERATION RATHER THAN A CREATION OF NEW TEXT. #
00766  M01S00004.ns2174  +++|
00767  M01S00586.fsecmds +++|    SETCHAR(LINE,BUFCHAR,CENDLINE);
00768  M01S00587.fsecmds +++|    NEWCURSOR=CHRPTR3;
00769  M01S00588.fsecmds +++|    IF FILCMDNDX EQ FILCMDST"MOVE" THEN
00770  M01S00589.fsecmds +++|      BEGIN
00771  M01S00590.fsecmds +++|      IF CHRPTR3 LS CHRPTR1 THEN CHRPTR2=CHRPTR2+LEN;
00772  M01S00591.fsecmds +++|      ELSE IF CHRPTR3 GR CHRPTR2 THEN NEWCURSOR=CHRPTR3-LEN;
00773  M01S00592.fsecmds +++|      ELSE NEWCURSOR=CHRPTR1;
00774  M01S00593.fsecmds +++|      LSHIFT(LIN,CHRPTR2+1,LEN);
00775  M01S00594.fsecmds +++|      END
00776  M01S00595.fsecmds +++|    TRIMPAD;
00777  M01S00596.fsecmds +++|    REPX;
00778  M01S00001.fsecm5  +++|    IF FILCMDNDX EQ FILCMDST"COPY" THEN
00779  M01S00002.fsecm5  +++|      BEGIN                          # IF MARK MAY NEED TO BE MOVED #
00780  M01S00003.fsecm5  +++|      IF CHRPTR3 LQ MRKCHAR[1] THEN
00781  M01S00004.fsecm5  +++|        BEGIN                        # IF SECOND MARK MUST BE MOVED #
00782  M01S00005.fsecm5  +++|        MRKCHAR[1] = MRKCHAR[1]+LEN;
00783  M01S00006.fsecm5  +++|        IF CHRPTR3 LQ MRKCHAR[0] THEN
00784  M01S00007.fsecm5  +++|          BEGIN                      # IF FIRST MARK MUST BE MOVED #
00785  M01S00008.fsecm5  +++|          MRKCHAR[0] = MRKCHAR[0]+LEN;
00786  M01S00009.fsecm5  +++|          END
00787  M01S00010.fsecm5  +++|        END
00788  M01S00011.fsecm5  +++|      END
00789  M01S00597.fsecmds +++|    IF NOT (SCREENMODE OR DONTPRINT) THEN PRINTL;
00790  M01S00598.fsecmds +++|    RETURN;
00791  M01S00599.fsecmds +++|    END
00792  M01S00600.fsecmds +++|
00793  M01S00601.fsecmds +++|  FLDLEN(LOC(MAXADDR)+4);
00794  M01S00602.fsecmds +++|  SMALLFIELD=FALSE;
00795  M01S00603.fsecmds +++|
00796  M01S00604.fsecmds +++|  MAKEFET(MOVEFET,"ZZZMOVE",FILEBUF,INIDSKSIZ);
00797  M01S00605.fsecmds +++|  REWIND(MOVEFET,1);
00798  M01S00606.fsecmds +++|
00799  M01S00607.fsecmds +++|  SAVLINENO=LINENO;
00800  M01S00608.fsecmds +++|  PUSH;                      # SAVE TARGET ADDRESS         #
00801  M01S00609.fsecmds +++|
00802  M01S00610.fsecmds +++|  IF FILCMDNDX EQ FILCMDST"MOVE" AND CHARRANGE THEN
00803  M01S00611.fsecmds +++|    BEGIN
00804  M01S00612.fsecmds +++|    IF LINPTR2 EQ LINPTR3
00805  M01S00613.fsecmds +++|      THEN CHRPTR3=MAX(0,CHRPTR3-(CHRPTR2-CHRPTR1+1));
00806  M01S00614.fsecmds +++|    DORANGE;                         # COPY RANGE TO ZZZMOVE #
00807  M01S00615.fsecmds +++|    IF FOUND THEN SPLICE;            # CLOSE BOUNDARIES TOGETHER #
00808  M01S00616.fsecmds +++|    END
00809  M01S00617.fsecmds +++|  ELSE DORANGE;                      # COPY RANGE TO ZZZMOVE #
00810  M01S00618.fsecmds +++|
00811  M01S00619.fsecmds +++|  POP;                       # TO TARGET AREA              #
00812  M01S00620.fsecmds +++|  LINENO=SAVLINENO;
00813  M01S00621.fsecmds +++|
00814  M01S00622.fsecmds +++|  WRITER(MOVEFET,1);
00815  M01S00623.fsecmds +++|  REWIND(MOVEFET,1);
00816  M01S00624.fsecmds +++|  IF NOT FOUND THEN RETURN;
00817  M01S00625.fsecmds +++|  KILLUPLOW=FALSE;
00818  M01S00626.fsecmds +++|  IF CURFILE NQ FILPTR3 AND ASCII[CURFILE] GQ 2 AND
00819  M01S00627.fsecmds +++|    ASCII[FILPTR3] LQ 1 THEN
00820  M01S00628.fsecmds +++|    BEGIN
00821  M01S00629.fsecmds +++|    # IF CHARACTER SETS ARE INCOMPATIBLE, CHANGE CHARSET OF EMPTY #
00822  M01S00630.fsecmds +++|    # TARGET FILE, OR FLAG CASE SUPPRESSION #
00823  M01S00631.fsecmds +++|    IF BOTF(FILPTR3)-TOPF(FILPTR3)-1 EQ THISEXTEND
00824  M01S00632.fsecmds +++|      AND ASCII[FILPTR3] EQ 0
00825  M01S00633.fsecmds +++|      THEN ASCII[FILPTR3]=ASCII[CURFILE];
00826  M01S00634.fsecmds +++|    ELSE KILLUPLOW=TRUE;
00827  M01S00635.fsecmds +++|    END
00828  M01S00636.fsecmds +++|  CURFILE=FILPTR3;
00829  M01S00637.fsecmds +++|  READ(MOVEFET,0);           # START FEEDING BUFFER        #
00830  M01S00638.fsecmds +++|
00831  M01S00639.fsecmds +++|  NUMWIDBLK=0;
00832  M01S00640.fsecmds +++|  IF NUMBERED[CURFILE] NQ 0 THEN NUMWIDBLK=NUMWIDTH+BLANKS;
00833  M01S00641.fsecmds +++|  SAVBLANKS=BLANKS;
00834  M01S00642.fsecmds +++|  BLANKS=0;
00835  M01S00643.fsecmds +++|  LINPTR3=CURRENT+1;         # TAKE NOTE OF RELOCATED TARGET         #
00836  M01S00001.fsecm4  +++|  IF BOTF(CURFILE)-TOPF(CURFILE)-1 EQ THISEXTEND THEN
00837  M01S00002.fsecm4  +++|    BEGIN                    # IF TARGET FILE IS EMPTY #
00838  M01S00003.fsecm4  +++|    CHARRANGE = FALSE;
00839  M01S00004.fsecm4  +++|    FIELDTARGET = 0;
00840  M01S00005.fsecm4  +++|    END
00841  M01S00644.fsecmds +++|  IF CHARRANGE OR FIELDTARGET NQ 0 THEN
Line S00645 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2226
Seq #  *Modification Id* Act 
----------------------------+
00842  M02S00645.ns2226  ---|    BEGIN                     # FIRST SEGMENT INTO MIDDLE OF LINE     #
Line S00646 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2226
Seq #  *Modification Id* Act 
----------------------------+
00843  M02S00646.ns2226  ---|    DOSPLIT;                 # SPLIT TARGET AT CHRPTR3     #
00844  M01S00009.ns2226  +++|    BEGIN                    # FIRST SEGMENT INTO MIDDLE OF LINE     #
00845  M01S00010.ns2226  +++|    DOSPLIT(0);              # SPLIT TARGET AT CHRPTR3     #
00846  M01S00647.fsecmds +++|    BAKZ;                    # INSERTION AFTER FIRST HALF  #
00847  M01S00648.fsecmds +++|    LINPTR3=CURRENT;
00848  M01S00649.fsecmds +++|    END
00849  M01S00650.fsecmds +++|  FOR LINCTR=1 STEP 1 WHILE LINCTR LQ LCOUNT
00850  M01S00651.fsecmds +++|    AND NOT (CANINTER AND USRBRK NQ 0) DO
00851  M01S00652.fsecmds +++|    BEGIN
00852  M01S00653.fsecmds +++|    IF USRBRK NQ 0 THEN DONTPRINT=TRUE;
00853  M01S00654.fsecmds +++|    XFRCMIN;
00854  M01S00655.fsecmds +++|    IF KILLUPLOW THEN SQUELCH(LIN);
Line S00005 Modification History
M01 (Added by) ns2174
M02 (Updated by) ns2226
Seq #  *Modification Id* Act 
----------------------------+
00855  M02S00005.ns2226  ---|    SETCHAR(LINE,EDITFIELD,CENDLINE);  # CLEAR TO END OF LINE #
Line S00656 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2226
Seq #  *Modification Id* Act 
----------------------------+
00856  M02S00656.ns2226  ---|    TRIMPAD;
00857  M01S00011.ns2226  +++|    IF EDITFIELD LS LENGTH(LIN) THEN
00858  M01S00012.ns2226  +++|      BEGIN
00859  M01S00013.ns2226  +++|      SETCHAR(LINE,EDITFIELD,CENDLINE);  # CLEAR TO END OF LINE #
00860  M01S00014.ns2226  +++|      TRIMPAD;
00861  M01S00015.ns2226  +++|      END
00862  M01S00657.fsecmds +++|    LINENO=LINENO+INCR;
00863  M01S00658.fsecmds +++|    SETLNUM;
00864  M01S00659.fsecmds +++|    INSX;
00865  M01S00660.fsecmds +++|    IF NOT (DONTPRINT OR SCREENMODE) THEN PRINTL;
00866  M01S00661.fsecmds +++|    END
00867  M01S00662.fsecmds +++|  IF CHARRANGE OR FIELDTARGET NQ 0 THEN
00868  M01S00663.fsecmds +++|    BEGIN
00869  M01S00012.fsecm5  +++|    IF CHARRANGE AND FILCMDNDX EQ FILCMDST"COPY" THEN
00870  M01S00013.fsecm5  +++|      BEGIN                  # IF MARK MAY NEED TO BE MOVED #
00871  M01S00014.fsecm5  +++|      IF LINPTR3 EQ REGLINE[MARKREG]
00872  M01S00015.fsecm5  +++|        AND CHRPTR3 LQ MRKCHAR[0] THEN
00873  M01S00016.fsecm5  +++|        BEGIN                # IF FIRST MARK MUST BE MOVED #
00874  M01S00017.fsecm5  +++|        REGLINE[MARKREG] = CURRENT;
00875  M01S00018.fsecm5  +++|        MRKCHAR[0] = MRKCHAR[0] - CHRPTR3 + LENGTH(LIN);
00876  M01S00019.fsecm5  +++|        END
00877  M01S00020.fsecm5  +++|      ELSE IF LINPTR3 EQ REGLINE[MARKREG+1]
00878  M01S00021.fsecm5  +++|        AND CHRPTR3 LQ MRKCHAR[1] THEN
00879  M01S00022.fsecm5  +++|        BEGIN                # IF SECOND MARK MUST BE MOVED #
00880  M01S00023.fsecm5  +++|        REGLINE[MARKREG+1] = CURRENT;
00881  M01S00024.fsecm5  +++|        MRKCHAR[1] = MRKCHAR[1] - CHRPTR3 + LENGTH(LIN);
00882  M01S00025.fsecm5  +++|        END
00883  M01S00026.fsecm5  +++|      END
00884  M01S00664.fsecmds +++|    CHRPTR3 == ZERO;         # ASSURE NO EXTENSION IN MERGES         #
Line S00665 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2571
Seq #  *Modification Id* Act 
----------------------------+
00885  M02S00665.ns2571  ---|    DOJOIN;                  # MERGE LAST INSERT WITH TRAILER        #
00886  M01S00001.ns2571  +++|    DOJOIN(0);               # MERGE LAST INSERT WITH TRAILER        #
00887  M01S00666.fsecmds +++|    CHRPTR3 == ZERO;         # RESTORE TARGET CHARACTER ADDRESS #
00888  M01S00667.fsecmds +++|    PUSH;
00889  M01S00668.fsecmds +++|    POSZ(LINPTR3);
Line S00669 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2571
Seq #  *Modification Id* Act 
----------------------------+
00890  M02S00669.ns2571  ---|    DOJOIN;                  # MERGE LEADER WITH FIRST INSERT        #
00891  M01S00002.ns2571  +++|    DOJOIN(0);               # MERGE LEADER WITH FIRST INSERT        #
00892  M01S00670.fsecmds +++|    POP;
00893  M01S00001.ns2608  +++|    NEWCURSOR = CHRPTR3;
00894  M01S00671.fsecmds +++|    END
00895  M01S00672.fsecmds +++|  IF SCREENMODE THEN POSZ(LINPTR3);  # POSITION TO TOP OF BLOCK      #
00896  M01S00673.fsecmds +++|  BLANKS=SAVBLANKS;
00897  M01S00674.fsecmds +++|
00898  M01S00675.fsecmds +++|  RETERN(MOVEFET,1);
00899  M01S00676.fsecmds +++|  FLDLEN(LOC(WORKBUF)+DSKSIZ+4);
00900  M01S00677.fsecmds +++|  SMALLFIELD=TRUE;
00901  M01S00678.fsecmds +++|
00902  M01S00679.fsecmds +++|  END            # OF SNGLMOV  #
00903  M01S00680.fsecmds +++|
00904  M01S00681.fsecmds +++|
00905  M01S00682.fsecmds +++|PROC HELPCMD;
00906  M01S00683.fsecmds +++|  BEGIN
00907  M01S00684.fsecmds +++|#
00908  M01S00685.fsecmds +++|**        HELPCMD - COMMAND PROCESSOR FOR HELP FACILITY.
00909  M01S00686.fsecmds +++|*
00910  M01S00687.fsecmds +++|*         ENTRY  PROCESSNDX - INDICATES HELP OR TEACH COMMAND.
00911  M01S00688.fsecmds +++|*                NO SCANNING BEYOND COMMAND VERB YET.
00912  M01S00689.fsecmds +++|*                TOKEN CALLED TO PREPARE NEXT SCAN.
00913  M01S00690.fsecmds +++|*                SCANPOS, TOKENPOS, TOKENTYPE, ETC - AS ABOVE.
00914  M01S00691.fsecmds +++|*                SCREENMODE - PRINTING/POSITIONING MODE.
00915  M01S00692.fsecmds +++|*
00916  M01S00693.fsecmds +++|*         EXIT   HELP FILE BECOMES CURRENT FILE.
00917  M01S00694.fsecmds +++|*                CURRENT, CURFILE, CURSPLIT - AS ABOVE.
00918  M01S00695.fsecmds +++|*
00919  M01S00696.fsecmds +++|*         MACROS SETCHAR.
00920  M01S00697.fsecmds +++|*
00921  M01S00698.fsecmds +++|*         CALLS  MAKEFET, GET, ATTACH, OPENFILE, SCNEQNAME, SCNEOC,
00922  M01S00699.fsecmds +++|*                DORANGE, POSZ, SETUPSCREEN, HALT.
00923  M01S00700.fsecmds +++|*
00924  M01S00701.fsecmds +++|*         USES   LINPTR1-3, LINNUM1-3, FILPTR1-3, CHRPTR1-3,
00925  M01S00702.fsecmds +++|*                PFMFET, FILEBUF, READNAM, FILNUM, CHARPARM, GETPARM,
00926  M01S00703.fsecmds +++|*                LOCSTRING1, EXECNDX, WORDSEARCH, ELLIPSIS, DONTPRINT,
00927  M01S00704.fsecmds +++|*                UPPERSEARCH, FOUND.
00928  M01S00705.fsecmds +++|#
00929  M01S00706.fsecmds +++|
00930  M01S00707.fsecmds +++|  READNAM="FSEHELP";
00931  M01S00708.fsecmds +++|  IF PROCESSNDX EQ KEYST"TCMD" THEN READNAM="FSTEACH";
00932  M01S00709.fsecmds +++|
00933  M01S00710.fsecmds +++|  IF NOT ASSGNFILE(READNAM) THEN
00934  M01S00711.fsecmds +++|    BEGIN
00935  M01S00712.fsecmds +++|    IF READNAM EQ "FSEHELP" THEN
00936  M01S00713.fsecmds +++|      BEGIN
00937  M01S00714.fsecmds +++|      PF("ATTACH",READNAM,READNAM,"RC",PFMERROR,"M","R","UN",
Line S00715 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2189
Seq #  *Modification Id* Act 
----------------------------+
00938  M02S00715.ns2189  ---|        HELPUSERNUM,"NA","YES",0);
Line S00001 Modification History
M01 (Added by) ns2189
M02 (Updated by) ns2247
Seq #  *Modification Id* Act 
----------------------------+
00939  M02S00001.ns2247  ---|        HELPUSERNUM,"NA","YES","SR","NF",0);
00940  M01S00001.ns2247  +++|        HELPUSERNUM,"NA","YES","SR","NF","PN","0",0);
00941  M01S00716.fsecmds +++|      END
00942  M01S00717.fsecmds +++|    ELSE
00943  M01S00718.fsecmds +++|      BEGIN
Line S00719 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2247
Seq #  *Modification Id* Act 
----------------------------+
00944  M02S00719.ns2247  ---|      PF("GET",READNAM,READNAM,"RC",PFMERROR,"UN",HELPUSERNUM,0);
Line S00002 Modification History
M01 (Added by) ns2247
M02 (Updated by) fsecm2
Seq #  *Modification Id* Act 
----------------------------+
00945  M02S00002.fsecm2  ---|      PF("GET",READNAM,READNAM,"RC",PFMERROR,"UN",HELPUSERNUM,
Line S00003 Modification History
M01 (Added by) ns2247
M02 (Updated by) fsecm2
Seq #  *Modification Id* Act 
----------------------------+
00946  M02S00003.fsecm2  ---|        "PN","0",0);
00947  M01S00001.fsecm2  +++|      C<0,1>READNAM="T";             # LOOK FOR FILE FOR THIS MODEL #
00948  M01S00002.fsecm2  +++|      C<1,6>READNAM=C<0,6>TABMODNAME;
00949  M01S00003.fsecm2  +++|      PF("GET","FSTEACH",READNAM,"RC",PFMERROR,"UN",HELPUSERNUM,
00950  M01S00004.fsecm2  +++|        "PN","0",0);
00951  M01S00005.fsecm2  +++|      READNAM="FSTEACH";
00952  M01S00006.fsecm2  +++|      IF PFMERROR NQ 0 THEN
00953  M01S00007.fsecm2  +++|        BEGIN                        # IF SPECIFIC FILE NOT FOUND #
00954  M01S00008.fsecm2  +++|        PF("GET",READNAM,READNAM,"RC",PFMERROR,"UN",HELPUSERNUM,
00955  M01S00009.fsecm2  +++|          "PN","0",0);
00956  M01S00010.fsecm2  +++|        END
00957  M01S00720.fsecmds +++|      END
00958  M01S00721.fsecmds +++|    END
00959  M01S00722.fsecmds +++|
00960  M01S00723.fsecmds +++|  FILNUM=CURFILE;
00961  M01S00724.fsecmds +++|  IF FILENAM[FILNUM] NQ READNAM THEN
00962  M01S00725.fsecmds +++|    BEGIN
00963  M01S00726.fsecmds +++|    FILNUM=1;
Line S00727 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2391
Seq #  *Modification Id* Act 
----------------------------+
00964  M02S00727.ns2391  ---|    IF SCREENMODE AND PROCESSNDX EQ KEYST"HCMD" THEN FILNUM=2;
00965  M01S00001.ns2391  +++|    IF SCREENMODE AND PROCESSNDX EQ KEYST"HCMD" THEN
00966  M01S00002.ns2391  +++|      BEGIN                          # IF SCREEN MODE HELP #
00967  M01S00003.ns2391  +++|      FILNUM = 2;                    # SPLIT SCREEN MODE #
00968  M01S00004.ns2391  +++|      ERRSTRING = "USE 'EDIT' TO UNSPLIT SCREEN$";
00969  M01S00005.ns2391  +++|      END
00970  M01S00006.ns2391  +++|    ELSE
00971  M01S00007.ns2391  +++|      BEGIN                          # LINE MODE OR TEACH #
00972  M01S00008.ns2391  +++|      ERRSTRING = "USE 'EDIT' TO RETURN TO INITIAL FILE$";
00973  M01S00009.ns2391  +++|      END
00974  M01S00728.fsecmds +++|    CHARPARM=2;
00975  M01S00729.fsecmds +++|    GETPARM=0;
00976  M01S00730.fsecmds +++|    OPENFILE;
00977  M01S00731.fsecmds +++|    END
00978  M01S00732.fsecmds +++|  POSZ(TOPF(FILNUM)+1);            # DEFAULT TO TOP OF FILE #
00979  M01S00733.fsecmds +++|  IF SYNTAXCHAR[TOKENCHAR] THEN
00980  M01S00734.fsecmds +++|    BEGIN                   # TOPIC SEARCH RATHER THAN DEFAULT      #
Line S00735 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
00981  M02S00735.ns2503  ---|    SCNEQNAM(READNAM);
Line S00736 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
00982  M02S00736.ns2503  ---|    SCNEOC;
Line S00737 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
00983  M02S00737.ns2503  ---|    SETCHAR(LOCSTR1,0,CLPAREN);
Line S00738 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
00984  M02S00738.ns2503  ---|    LINPTR2=B<0,6>READNAM;
Line S00739 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
00985  M02S00739.ns2503  ---|    FOR LINPTR1=0 STEP 1 WHILE LINPTR1 LQ 6 AND
Line S00740 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
00986  M02S00740.ns2503  ---|      LINPTR2 NQ " " DO
Line S00741 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
00987  M02S00741.ns2503  ---|      BEGIN
Line S00742 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
00988  M02S00742.ns2503  ---|      SETCHAR(LOCSTR1,LINPTR1+1,LINPTR2);
Line S00743 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
00989  M02S00743.ns2503  ---|      LINPTR2=B<6*LINPTR1+6,6>READNAM;
Line S00744 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
00990  M02S00744.ns2503  ---|      END
Line S00745 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
00991  M02S00745.ns2503  ---|    SETCHAR(LOCSTR1,LINPTR1+1,CRPAREN);
00992  M01S00062.ns2503  +++|    IF TOKENTYPE EQ TYPST"LETTER" THEN
00993  M01S00063.ns2503  +++|      BEGIN                          # IF CHARACTER STRING #
00994  M01S00064.ns2503  +++|      SCNEQNAM(READNAM);
00995  M01S00065.ns2503  +++|      SCNEOC;
00996  M01S00066.ns2503  +++|      SETCHAR(LOCSTR1,0,CLPAREN);
00997  M01S00067.ns2503  +++|      LINPTR2=B<0,6>READNAM;
00998  M01S00068.ns2503  +++|      FOR LINPTR1=0 STEP 1 WHILE LINPTR1 LQ 6 AND
00999  M01S00069.ns2503  +++|        LINPTR2 NQ " " DO
01000  M01S00070.ns2503  +++|        BEGIN
01001  M01S00071.ns2503  +++|        SETCHAR(LOCSTR1,LINPTR1+1,LINPTR2);
01002  M01S00072.ns2503  +++|        LINPTR2=B<6*LINPTR1+6,6>READNAM;
01003  M01S00073.ns2503  +++|        END
01004  M01S00074.ns2503  +++|      SETCHAR(LOCSTR1,LINPTR1+1,CRPAREN);
01005  M01S00075.ns2503  +++|      END
01006  M01S00076.ns2503  +++|    ELSE
01007  M01S00077.ns2503  +++|      BEGIN                          # NOT ALPHABETIC #
01008  M01S00078.ns2503  +++|      LINPTR2 = TOKENCHAR;
01009  M01S00079.ns2503  +++|      SETCHAR(LOCSTR1,0,CLPAREN);
01010  M01S00080.ns2503  +++|      SETCHAR(LOCSTR1,1,LINPTR2);
01011  M01S00081.ns2503  +++|      SETCHAR(LOCSTR1,2,CRPAREN);
01012  M01S00082.ns2503  +++|      LINPTR1 = 1;
01013  M01S00083.ns2503  +++|      TOKEN;
01014  M01S00084.ns2503  +++|      IF SYNTAXCHAR[TOKENCHAR] THEN
01015  M01S00085.ns2503  +++|        ERRJUMP("PLEASE ENTER 'HELP DIRECTIVE'$");
01016  M01S00086.ns2503  +++|      END
01017  M01S00746.fsecmds +++|    SETCHAR(LOCSTR1,LINPTR1+2,CENDLINE);
01018  M01S00747.fsecmds +++|    LOCSTRLEN1=LINPTR1+2;
01019  M01S00748.fsecmds +++|    LINPTR1=CURRENT;
01020  M01S00749.fsecmds +++|    LINPTR3=CURRENT;
01021  M01S00750.fsecmds +++|    LINPTR2=BOTF(FILNUM)-1;
01022  M01S00751.fsecmds +++|    LIMIT=1;
01023  M01S00752.fsecmds +++|    EXECNDX=EXECST"LOCATE";
01024  M01S00753.fsecmds +++|    WORDSEARCH=FALSE;   ELLIPSIS=FALSE;   DONTPRINT=TRUE;
01025  M01S00754.fsecmds +++|    UPPERSEARCH=FALSE;  CHRPTR1=0;  CHRPTR2=BUFCM1;
01026  M01S00755.fsecmds +++|    DORANGE;               # SEARCH FOR (KEYWORD)        #
01027  M01S00756.fsecmds +++|    IF NOT FOUND THEN POSZ(LINPTR3);
01028  M01S00757.fsecmds +++|    FOUND=TRUE;
01029  M01S00758.fsecmds +++|    END
01030  M01S00759.fsecmds +++|  IF NOT SCREENMODE THEN
01031  M01S00760.fsecmds +++|    BEGIN
01032  M01S00761.fsecmds +++|    LINPTR1=CURRENT;
01033  M01S00762.fsecmds +++|    LINPTR2=BOTF(FILNUM)-1;
Line S00763 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2238
Seq #  *Modification Id* Act 
----------------------------+
01034  M02S00763.ns2238  ---|    LIMIT=GROUPSIZ;
01035  M01S00001.ns2238  +++|    LIMIT=HELPSIZE;                  # HELP FILE LINES TO DISPLAY #
01036  M01S00764.fsecmds +++|    EXECNDX=EXECST"TYPE";
01037  M01S00765.fsecmds +++|    DONTPRINT=FALSE;
01038  M01S00766.fsecmds +++|    DORANGE;
01039  M01S00767.fsecmds +++|    END
01040  M01S00768.fsecmds +++|  IF FILNUM EQ 2 THEN
01041  M01S00769.fsecmds +++|    BEGIN
01042  M01S00770.fsecmds +++|    IF SPLITFILE[2] NQ 2 THEN SETUPSCREEN(1,2,USRSPLTSZ);
01043  M01S00771.fsecmds +++|    END
01044  M01S00772.fsecmds +++|
01045  M01S00773.fsecmds +++|
01046  M01S00774.fsecmds +++|  END            # OF HELPCMD          #
01047  M01S00775.fsecmds +++|
01048  M01S00776.fsecmds +++|
01049  M01S00777.fsecmds +++|PROC GETSTATUS;
01050  M01S00778.fsecmds +++|  BEGIN
01051  M01S00779.fsecmds +++|#
01052  M01S00780.fsecmds +++|**        GETSTATUS - COMMAND PROCESSOR FOR GET STATUS SUBCOMMAND.
01053  M01S00781.fsecmds +++|*
01054  M01S00782.fsecmds +++|*         ENTRY  COMMAND FULLY SCANNED EXCEPT TERMINATOR VERIFY.
01055  M01S00783.fsecmds +++|*                ONE OR BOTH FILE BRACKETS OPENED SOMEWHERE.
01056  M01S00784.fsecmds +++|*
01057  M01S00785.fsecmds +++|*         EXIT   SCREENMODE SCHEDULED FOR TOTAL REPAINT.
01058  M01S00786.fsecmds +++|*                COMMAND TERMINATOR SCANNED.
01059  M01S00787.fsecmds +++|*                OPEN FILES UPDATED INTO DIRECTORY.  (SIDE EFFECT)
01060  M01S00788.fsecmds +++|*
01061  M01S00789.fsecmds +++|*         CALLS  SCNEOC, BGNDSPLAY, TTSTR, EOLDSPLAY, PUSH,
01062  M01S00790.fsecmds +++|*                PADNAME, CLOSEFILE, POSZ, SCANFDL, TTST, FWDZ, POP,
01063  M01S00791.fsecmds +++|*                TTDEC, TTCHAR, ENDDSPLAY, TABFN.
01064  M01S00792.fsecmds +++|*
01065  M01S00793.fsecmds +++|*         USES   FILNUM, READNAM, LINPTR1, LINCTR.
01066  M01S00794.fsecmds +++|*
01067  M01S00795.fsecmds +++|*         NOTE -
01068  M01S00796.fsecmds +++|*
01069  M01S00797.fsecmds +++|*         THIS BLOCK OF CODE IS SUBJECT TO CERTAIN RESTRICTIONS IN
01070  M01S00798.fsecmds +++|*         ORDER TO DRIVE THE TERMINAL IN BOTH LINE MODE AND SCREEN
01071  M01S00799.fsecmds +++|*         MODE.  TTLIN CANNOT BE USED.  THE ONLY ALLOWABLE WAY TO
01072  M01S00800.fsecmds +++|*         ADVANCE TO A NEW LINE OF OUTPUT IS TO CALL EOLDSPLAY AS
01073  M01S00801.fsecmds +++|*         A LOGICAL REPLACEMENT FOR TTBRK.  EOLDSPLAY WILL IN TURN
01074  M01S00802.fsecmds +++|*         USE EITHER TTBRK (FOR LINE MODE) OR VDTPOS (SCREEN MODE)
01075  M01S00803.fsecmds +++|*         TO CONTROL THE OUTPUT DEVICE.  BGNDSPLAY IS USED TO INIT
01076  M01S00804.fsecmds +++|*         THE DISPLAY AND ENDDSPLAY CLEANS UP AFTERWARD.  EOLDSPLAY
01077  M01S00805.fsecmds +++|*         INCLUDES SCREEN-OVERFLOW LOGIC.
01078  M01S00806.fsecmds +++|#
01079  M01S00807.fsecmds +++|  ITEM TMP1, TMP2, TMP3, TMP4, TMP5;
01080  M01S00808.fsecmds +++|  BASED ARRAY KEYLIN[0:99]; ITEM KEYLINE;
01081  M01S00809.fsecmds +++|
01082  M01S00810.fsecmds +++|
01083  M01S00811.fsecmds +++|  PROC DSPLFKEY(WHICH);
01084  M01S00812.fsecmds +++|    BEGIN
01085  M01S00813.fsecmds +++|    ITEM WHICH;
01086  M01S00814.fsecmds +++|    ITEM TMP1, TMP2;
01087  M01S00815.fsecmds +++|    P<KEYLIN>=LOC(FKEYSTRING[WHICH]);
01088  M01S00816.fsecmds +++|    IF WHICH LS 0 THEN TTSTR("  SHIFT F$");
01089  M01S00817.fsecmds +++|    ELSE TTSTR("        F$");
01090  M01S00818.fsecmds +++|    TTDEC(ABS(WHICH));
01091  M01S00819.fsecmds +++|    IF ABS(WHICH) LS 10 THEN TTSTR(" $");
01092  M01S00820.fsecmds +++|    TTSTR("  $");
01093  M01S00821.fsecmds +++|    TTST(FKEYNAME[WHICH],6);
01094  M01S00822.fsecmds +++|    TTSTR("  $");
01095  M01S00823.fsecmds +++|    FOR TMP1=0 STEP 1 UNTIL 15 DO
01096  M01S00824.fsecmds +++|      BEGIN
01097  M01S00825.fsecmds +++|      IF TMP1 LS LENGTH(KEYLIN) THEN
01098  M01S00826.fsecmds +++|        BEGIN
01099  M01S00827.fsecmds +++|        GETCHAR(KEYLINE,TMP1,TMP2);
01100  M01S00828.fsecmds +++|        TMP2=XLTINTDSP[TMP2];
01101  M01S00829.fsecmds +++|        C<0,1>TMP2=C<9,1>TMP2;
01102  M01S00830.fsecmds +++|        TTST(TMP2,1);
01103  M01S00831.fsecmds +++|        END
01104  M01S00832.fsecmds +++|      ELSE TTSTR(" $");
01105  M01S00833.fsecmds +++|      END
01106  M01S00834.fsecmds +++|    END                              # OF DSPLFKEY #
01107  M01S00835.fsecmds +++|
01108  M01S00836.fsecmds +++|
01109  M01S00837.fsecmds +++|  # ACTUAL GETSTATUS CODE STARTS HERE #
01110  M01S00838.fsecmds +++|
01111  M01S00839.fsecmds +++|  SCNEOC;
01112  M01S00840.fsecmds +++|  BGNDSPLAY;
Line S00841 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
01113  M02S00841.ns2404  ---|  TTSTR("EDITOR STATUS INFORMATION:$");
01114  M01S00072.ns2404  +++|  TTSTR("                   $");
01115  M01S00073.ns2404  +++|  TTSTR("  EDITOR STATUS INFORMATION:$");
01116  M01S00842.fsecmds +++|  EOLDSPLAY;
01117  M01S00843.fsecmds +++|  EOLDSPLAY;
Line S00844 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
01118  M02S00844.ns2404  ---|  TTSTR("FILES:    NAME    LOCK CHANGE CHARSET$");
Line S00845 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
01119  M02S00845.ns2404  ---|  TTSTR(" NUMBERED  SIZE POSITION$");
01120  M01S00074.ns2404  +++|  TTSTR(" FILES:    NAME    LOCK  CHANGE $");
01121  M01S00075.ns2404  +++|  TTSTR("CHARSET NUMBERED SIZE POSITION$");
01122  M01S00846.fsecmds +++|  EOLDSPLAY;
01123  M01S00847.fsecmds +++|  PUSH;
01124  M01S00848.fsecmds +++|  FOR FILNUM=1 STEP 1 UNTIL 2 DO
01125  M01S00849.fsecmds +++|    BEGIN
01126  M01S00850.fsecmds +++|    IF PADNAME(FILENAM[FILNUM]) NQ " " THEN CLOSEFILE;
01127  M01S00851.fsecmds +++|    END
01128  M01S00852.fsecmds +++|  POSZ(TOPC(FILECTL)+1);
01129  M01S00853.fsecmds +++|  WHYLE CURRENT LS BOTC(FILECTL) DO
01130  M01S00854.fsecmds +++|    BEGIN
01131  M01S00855.fsecmds +++|    SCANFDL(READNAM);
01132  M01S00856.fsecmds +++|    IF READNAM NQ "ZZZNULL" THEN
01133  M01S00857.fsecmds +++|      BEGIN
Line S00858 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
01134  M02S00858.ns2404  ---|      IF CURRENT EQ FDLF(CURFILE) THEN TTSTR("(CURRENT) $");
Line S00859 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
01135  M02S00859.ns2404  ---|      ELSE TTSTR("          $");
01136  M01S00076.ns2404  +++|      IF CURRENT EQ FDLF(CURFILE) THEN
01137  M01S00077.ns2404  +++|        BEGIN                        # IF CURRENT FILE, INDICATE #
01138  M01S00078.ns2404  +++|        TTSTR(" (CURRENT) $");
01139  M01S00079.ns2404  +++|        END
01140  M01S00080.ns2404  +++|      ELSE
01141  M01S00081.ns2404  +++|        BEGIN                        # JUST ANOTHER FILE #
01142  M01S00082.ns2404  +++|        TTSTR("           $");
01143  M01S00083.ns2404  +++|        END
01144  M01S00860.fsecmds +++|      FOR FILNUM=0 STEP 1 UNTIL 6 DO TTST(C<FILNUM,1>READNAM,1);
01145  M01S00861.fsecmds +++|      TTST(YESORNO[SCNFDLOCK],7);
01146  M01S00862.fsecmds +++|      TTST(YESORNO[SCNFDCHNG],7);
01147  M01S00863.fsecmds +++|      TTST(CHARTYPE[SCNFDASCI],7);
01148  M01S00864.fsecmds +++|      TTST(YESORNO[SCNFDNUMB],7);
01149  M01S00865.fsecmds +++|      TTLPAD(SCNFDSIZE,7," ");
01150  M01S00866.fsecmds +++|      TTLPAD(SCNFDCURF,7," ");
01151  M01S00867.fsecmds +++|      EOLDSPLAY;
01152  M01S00868.fsecmds +++|      END
01153  M01S00869.fsecmds +++|    FWDZ;
01154  M01S00870.fsecmds +++|    END
01155  M01S00871.fsecmds +++|  POP;
01156  M01S00872.fsecmds +++|  EOLDSPLAY;
01157  M01S00001.ns2688  +++|  TTSTR(" SET VIEW IN: $");
01158  M01S00002.ns2688  +++|  TTDEC(DFINBGN);
01159  M01S00003.ns2688  +++|  TTSTR(" $");
01160  M01S00004.ns2688  +++|  TTDEC(DFINEND);
01161  M01S00005.ns2688  +++|  TTSTR("  $");
Line S00873 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
01162  M02S00873.ns2404  ---|  TTSTR("TAB COLUMNS: $");
01163  M01S00084.ns2404  +++|  TTSTR(" TAB COLUMNS: $");
01164  M01S00874.fsecmds +++|  LINPTR1=TABFN(1);
Line S00875 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2129
Seq #  *Modification Id* Act 
----------------------------+
01165  M02S00875.ns2129  ---|  FOR LINCTR=1 STEP 1 WHILE LINCTR LQ 13 AND LINPTR1 NQ 0 DO
01166  M01S00001.ns2129  +++|  FOR LINCTR=1 STEP 1 WHILE LINCTR LQ USERTABS AND LINPTR1 NQ 0 DO
01167  M01S00876.fsecmds +++|    BEGIN
01168  M01S00877.fsecmds +++|    TTDEC(LINPTR1+1); TTSTR("  $");
01169  M01S00878.fsecmds +++|    LINPTR1=TABFN(LINCTR+1);
01170  M01S00879.fsecmds +++|    END
Line S00880 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2449
Seq #  *Modification Id* Act 
----------------------------+
01171  M02S00880.ns2449  ---|  EOLDSPLAY;
Line S00881 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
M03 (Updated by) ns2449
Seq #  *Modification Id* Act 
----------------------------+
01172  M03S00881.ns2449  ---|  TTCHAR(TABCHAR,"TAB CHARACTER: $");
Line S00085 Modification History
M01 (Added by) ns2404
M02 (Updated by) ns2449
Seq #  *Modification Id* Act 
----------------------------+
01173  M02S00085.ns2449  ---|  TTCHAR(TABCHAR," TAB CHARACTER: $");
Line S00882 Modification History
M01 (Added by) fsecmds
M02 (Updated by) fsecm1
M03 (Updated by) ns2449
Seq #  *Modification Id* Act 
----------------------------+
01174  M03S00882.ns2449  ---|  EOLDSPLAY;
Line S00883 Modification History
M01 (Added by) fsecmds
M02 (Updated by) fsecm1
M03 (Updated by) ns2449
Seq #  *Modification Id* Act 
----------------------------+
01175  M03S00883.ns2449  ---|  TTSTR("LINE WIDTH FOR WARNING: $");
Line S00001 Modification History
M01 (Added by) fsecm1
M02 (Updated by) ns2449
Seq #  *Modification Id* Act 
----------------------------+
01176  M02S00001.ns2449  ---|  TTSTR("   $");
Line S00002 Modification History
M01 (Added by) fsecm1
M02 (Updated by) ns2449
Seq #  *Modification Id* Act 
----------------------------+
01177  M02S00002.ns2449  ---|  TTSTR("WARNING WIDTH: $");
Line S00884 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2449
Seq #  *Modification Id* Act 
----------------------------+
01178  M02S00884.ns2449  ---|  TTDEC(WIDTH);
Line S00003 Modification History
M01 (Added by) fsecm1
M02 (Updated by) ns2449
Seq #  *Modification Id* Act 
----------------------------+
01179  M02S00003.ns2449  ---|  TTSTR("   $");
Line S00004 Modification History
M01 (Added by) fsecm1
M02 (Updated by) ns2449
Seq #  *Modification Id* Act 
----------------------------+
01180  M02S00004.ns2449  ---|  TTSTR("PARAGRAPH MARGINS: $");
Line S00005 Modification History
M01 (Added by) fsecm1
M02 (Updated by) ns2449
Seq #  *Modification Id* Act 
----------------------------+
01181  M02S00005.ns2449  ---|  TTDEC(FILLLEFT+1);
Line S00006 Modification History
M01 (Added by) fsecm1
M02 (Updated by) ns2449
Seq #  *Modification Id* Act 
----------------------------+
01182  M02S00006.ns2449  ---|  TTSTR(" $");
Line S00007 Modification History
M01 (Added by) fsecm1
M02 (Updated by) ns2449
Seq #  *Modification Id* Act 
----------------------------+
01183  M02S00007.ns2449  ---|  TTDEC(FILLRIGHT+1);
Line S00008 Modification History
M01 (Added by) fsecm1
M02 (Updated by) ns2449
Seq #  *Modification Id* Act 
----------------------------+
01184  M02S00008.ns2449  ---|  TTSTR(" $");
Line S00009 Modification History
M01 (Added by) fsecm1
M02 (Updated by) ns2449
Seq #  *Modification Id* Act 
----------------------------+
01185  M02S00009.ns2449  ---|  TTDEC(FILLFIRST+1);
Line S00885 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2449
Seq #  *Modification Id* Act 
----------------------------+
01186  M02S00885.ns2449  ---|  EOLDSPLAY;
01187  M01S00001.ns2449  +++|  EOLDSPLAY;
01188  M01S00002.ns2449  +++|  TTSTR(" SET VIEW WARN: $");
01189  M01S00003.ns2449  +++|  TTDEC(WIDTH);
01190  M01S00004.ns2449  +++|  TTSTR("   $");
01191  M01S00005.ns2449  +++|  TTSTR("SET UNDO: $");
01192  M01S00006.ns2449  +++|  IF AUDITOFF THEN TTSTR(" NO$"); ELSE TTSTR("YES$");
01193  M01S00007.ns2449  +++|  TTSTR("   $");
Line S00008 Modification History
M01 (Added by) ns2449
M02 (Updated by) fsecm7
Seq #  *Modification Id* Act 
----------------------------+
01194  M02S00008.fsecm7  ---|  TTCHAR(TABCHAR,"TAB CHARACTER: $");
Line S00001 Modification History
M01 (Added by) ns2623
M02 (Updated by) fsecm7
Seq #  *Modification Id* Act 
----------------------------+
01195  M02S00001.fsecm7  ---|  TTCHAR(UNPRINT,"  CNTRL CHRS: $");
01196  M01S00013.fsecm7  +++|  TTSTR("TAB CHARACTER: $");
01197  M01S00014.fsecm7  +++|  TTCHAR(TABCHAR,TRUE);
01198  M01S00015.fsecm7  +++|  TTSTR("  $");
01199  M01S00016.fsecm7  +++|  TTSTR("CNTRL CHRS: $");
01200  M01S00017.fsecm7  +++|  TTCHAR(UNPRINT,TRUE);
01201  M01S00009.ns2449  +++|  EOLDSPLAY;
01202  M01S00010.ns2449  +++|  TTSTR(" SET VIEW EDIT: $");
01203  M01S00011.ns2449  +++|  TTDEC(EDITFIELD);
01204  M01S00012.ns2449  +++|  TTSTR("   $");
01205  M01S00013.ns2449  +++|  TTSTR("SET JUMP: $");
01206  M01S00014.ns2449  +++|  IF AUTOINDENT THEN TTSTR("YES$"); ELSE TTSTR(" NO$");
01207  M01S00015.ns2449  +++|  TTSTR("   $");
01208  M01S00016.ns2449  +++|  TTSTR("SET WORD FILL: $");
01209  M01S00017.ns2449  +++|  TTDEC(FILLLEFT+1);
01210  M01S00018.ns2449  +++|  TTSTR(" $");
01211  M01S00019.ns2449  +++|  TTDEC(FILLRIGHT+1);
01212  M01S00020.ns2449  +++|  TTSTR(" $");
01213  M01S00021.ns2449  +++|  TTDEC(FILLFIRST+1);
01214  M01S00087.ns2503  +++|  TTSTR("   JUSTIFY:$");
01215  M01S00088.ns2503  +++|  IF RIGHTJUST[0] THEN TTSTR(" YES$"); ELSE TTSTR("  NO$");
01216  M01S00022.ns2449  +++|  EOLDSPLAY;
01217  M01S00018.fsecm7  +++|  TTSTR(" SEARCH STRING: '$");
01218  M01S00019.fsecm7  +++|  FOR TMP1=0 STEP 1 UNTIL LOCSTRLEN1-1 DO
01219  M01S00020.fsecm7  +++|    BEGIN
01220  M01S00021.fsecm7  +++|    GETCHAR(LOCSTR1,TMP1,TMP2);
01221  M01S00022.fsecm7  +++|    TTCHAR(TMP2,FALSE);
01222  M01S00023.fsecm7  +++|    END
01223  M01S00024.fsecm7  +++|  IF ELLIPSIS THEN
01224  M01S00025.fsecm7  +++|    BEGIN
01225  M01S00026.fsecm7  +++|    TTSTR("'..'$");
01226  M01S00027.fsecm7  +++|    FOR TMP1=0 STEP 1 UNTIL LOCSTRLEN2-1 DO
01227  M01S00028.fsecm7  +++|      BEGIN
01228  M01S00029.fsecm7  +++|      GETCHAR(LOCSTR2,TMP1,TMP2);
01229  M01S00030.fsecm7  +++|      TTCHAR(TMP2,FALSE);
01230  M01S00031.fsecm7  +++|      END
01231  M01S00032.fsecm7  +++|    END
01232  M01S00033.fsecm7  +++|  TTSTR("'$");
01233  M01S00034.fsecm7  +++|  EOLDSPLAY;
01234  M01S00886.fsecmds +++|  IF SCREENMODE THEN
01235  M01S00887.fsecmds +++|    BEGIN
01236  M01S00888.fsecmds +++|    EOLDSPLAY;
Line S00889 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
01237  M02S00889.ns2404  ---|    TTSTR("FUNCTIONS: KEY $");
01238  M01S00086.ns2404  +++|    TTSTR(" FUNCTIONS: KEY$");
01239  M01S00890.fsecmds +++|    TTSTR("  LABEL   DIRECTIVES      $");
Line S00891 Modification History
M01 (Added by) fsecmds
M02 (Updated by) ns2404
Seq #  *Modification Id* Act 
----------------------------+
01240  M02S00891.ns2404  ---|    TTSTR("       KEY   LABEL   DIRECTIVES$");
01241  M01S00087.ns2404  +++|    TTSTR("  KEY        LABEL   DIRECTIVES$");
01242  M01S00892.fsecmds +++|    FOR TMP1=1 STEP 1 UNTIL POSFKEYS DO
01243  M01S00893.fsecmds +++|      BEGIN
01244  M01S00894.fsecmds +++|      TMP2=0;
01245  M01S00895.fsecmds +++|      P<KEYLIN>=LOC(FKEYSTRING[TMP1]);
01246  M01S00896.fsecmds +++|      FOR TMP4=0 STEP 1 UNTIL LENGTH(KEYLIN)-1 DO
01247  M01S00897.fsecmds +++|        BEGIN
01248  M01S00898.fsecmds +++|        GETCHAR(KEYLINE,TMP4,TMP5);
01249  M01S00899.fsecmds +++|        IF TMP5 NQ CBLANK THEN TMP2=1;
01250  M01S00900.fsecmds +++|        END
01251  M01S00901.fsecmds +++|      TMP3=0;
01252  M01S00902.fsecmds +++|      P<KEYLIN>=LOC(FKEYSTRING[-TMP1]);
01253  M01S00903.fsecmds +++|      FOR TMP4=0 STEP 1 UNTIL LENGTH(KEYLIN)-1 DO
01254  M01S00904.fsecmds +++|        BEGIN
01255  M01S00905.fsecmds +++|        GETCHAR(KEYLINE,TMP4,TMP5);
01256  M01S00906.fsecmds +++|        IF TMP5 NQ CBLANK THEN TMP3=1;
01257  M01S00907.fsecmds +++|        END
01258  M01S00908.fsecmds +++|      IF TMP2 NQ 0 OR FKEYNAME[TMP1] NQ " "
01259  M01S00909.fsecmds +++|        OR TMP3 NQ 0 OR FKEYNAME[-TMP1] NQ " " THEN
01260  M01S00910.fsecmds +++|        BEGIN
01261  M01S00911.fsecmds +++|        EOLDSPLAY;
01262  M01S00912.fsecmds +++|        TTSTR("    $");
01263  M01S00913.fsecmds +++|        DSPLFKEY(TMP1);
01264  M01S00914.fsecmds +++|        IF TMP3 NQ 0 OR FKEYNAME[-TMP1] NQ " " THEN DSPLFKEY(-TMP1);
01265  M01S00915.fsecmds +++|        END
01266  M01S00916.fsecmds +++|      END
01267  M01S00917.fsecmds +++|    END
01268  M01S00918.fsecmds +++|  ENDDSPLAY;
01269  M01S00919.fsecmds +++|  END            # OF GETSTATUS  #
01270  M01S00920.fsecmds +++|
01271  M01S00921.fsecmds +++|
01272  M01S00922.fsecmds +++|PROC UNDOCMD;
01273  M01S00923.fsecmds +++|  BEGIN
01274  M01S00924.fsecmds +++|#
01275  M01S00925.fsecmds +++|**        UNDOCMD - COMMAND PROCESSOR FOR UNDO FACILITY.
01276  M01S00926.fsecmds +++|*
01277  M01S00927.fsecmds +++|*         ENTRY  COMMAND SCANNED EXCEPT TERMINATOR VERIFY.
01278  M01S00928.fsecmds +++|*                CURA(AUDITCTL) AT MOST RECENT CHANGE RECORD.
01279  M01S00929.fsecmds +++|*                TOPA(AUDITCTL) BOUNDS AUDIT TRAIL.
01280  M01S00930.fsecmds +++|*                NUMMARKS - WHETHER MARKS ARE CURRENTLY ON.
01281  M01S00931.fsecmds +++|*
01282  M01S00932.fsecmds +++|*         EXIT   COMMAND TERMINATOR VERIFIED.
01283  M01S00933.fsecmds +++|*                SELECTION OF OPENED FILES MAY CHANGE.
01284  M01S00934.fsecmds +++|*                CURA(AUDITCTL) BACKED UP.
01285  M01S00935.fsecmds +++|*                NUMMARKS - ZEROED.
01286  M01S00936.fsecmds +++|*
01287  M01S00937.fsecmds +++|*         MACROS GETCHAR.
01288  M01S00938.fsecmds +++|*
01289  M01S00939.fsecmds +++|*         CALLS  ERRJUMP, AUDITSYNCH, POSZ, UNDODECODE, UNDOOPEN,
01290  M01S00940.fsecmds +++|*                BAKZ, FATAL, PUSH, UNDOPOS, INSX, POP, DELX, REPX,
01291  M01S00941.fsecmds +++|*                PAINTMARKS.
01292  M01S00942.fsecmds +++|*
01293  M01S00943.fsecmds +++|*         USES   AUDITOFF, AUDITUSED, LINPTR1, LINNUM1, LINNUM2,
01294  M01S00944.fsecmds +++|*                LINNUM3, USRBRK.
01295  M01S00945.fsecmds +++|#
Line S00946 Modification History
M01 (Added by) fsecmds
M02 (Updated by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
01296  M02S00946.242l642 ---|  SCNEOC;
Line S00947 Modification History
M01 (Added by) fsecmds
M02 (Updated by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
01297  M02S00947.242l642 ---|
Line S00948 Modification History
M01 (Added by) fsecmds
M02 (Updated by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
01298  M02S00948.242l642 ---|  IF NUMMARKS NQ 0 THEN              # SPECIAL CASE - UNMARK #
Line S00949 Modification History
M01 (Added by) fsecmds
M02 (Updated by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
01299  M02S00949.242l642 ---|    BEGIN
Line S00950 Modification History
M01 (Added by) fsecmds
M02 (Updated by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
01300  M02S00950.242l642 ---|    PAINTMARKS(3);
Line S00951 Modification History
M01 (Added by) fsecmds
M02 (Updated by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
01301  M02S00951.242l642 ---|    NUMMARKS=0;
Line S00952 Modification History
M01 (Added by) fsecmds
M02 (Updated by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
01302  M02S00952.242l642 ---|    ERRSTRING="MARKS CANCELLED$";
Line S00953 Modification History
M01 (Added by) fsecmds
M02 (Updated by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
01303  M02S00953.242l642 ---|    RETURN;
Line S00954 Modification History
M01 (Added by) fsecmds
M02 (Updated by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
01304  M02S00954.242l642 ---|    END
01305  M01S00001.242l642 +++|
01306  M01S00002.242l642 +++|  IF SYNTAXCHAR[TOKENCHAR] THEN
01307  M01S00003.242l642 +++|    BEGIN                            # IF MORE SYNTAX #
01308  M01S00004.242l642 +++|    TOKEN;
01309  M01S00005.242l642 +++|    IF NUMMARKS NQ 0 THEN
01310  M01S00006.242l642 +++|      BEGIN                          # IF MARKS ACTIVE #
01311  M01S00007.242l642 +++|      PAINTMARKS(3);
01312  M01S00008.242l642 +++|      NUMMARKS=0;
01313  M01S00009.242l642 +++|      ERRSTRING="MARKS CANCELLED$";
01314  M01S00010.242l642 +++|      END
01315  M01S00011.242l642 +++|    ELSE
01316  M01S00012.242l642 +++|      BEGIN                          # NO MARKS ACTIVE #
01317  M01S00013.242l642 +++|      ERRSTRING="NO MARK(S) ACTIVE$";
01318  M01S00014.242l642 +++|      END
01319  M01S00015.242l642 +++|    SCNEOC;                          # SCAN FOR END OF COMMAND #
01320  M01S00016.242l642 +++|    RETURN;
01321  M01S00017.242l642 +++|    END
01322  M01S00018.242l642 +++|
01323  M01S00019.242l642 +++|  SCNEOC;                            # SCAN FOR END OF COMMAND #
01324  M01S00955.fsecmds +++|
01325  M01S00956.fsecmds +++|  IF AUDITOFF THEN ERRJUMP("SET UNDO YES - TO ENABLE UNDO$");
01326  M01S00957.fsecmds +++|  AUDITOFF=TRUE;
01327  M01S00958.fsecmds +++|  AUDITSYNCH;                # CLEAR STAGING BUFFER        #
01328  M01S00959.fsecmds +++|  AUDITUSED=FALSE;           # NO CHKPT TRANSACT CANCELLED IN MIDDLE #
01329  M01S00960.fsecmds +++|  POSZ(CURA(AUDITCTL));
01330  M01S00961.fsecmds +++|  GETCHAR(LINE,0,LINPTR1);
01331  M01S00962.fsecmds +++|  IF LINPTR1 EQ CLETTERC THEN          # ACCESS PREVIOUS FILES       #
01332  M01S00963.fsecmds +++|    BEGIN
01333  M01S00964.fsecmds +++|    UNDODECODE(1,LINNUM1);             # FIRST FILE        #
01334  M01S00965.fsecmds +++|    UNDODECODE(12,LINNUM2);            # SECOND FILE       #
01335  M01S00966.fsecmds +++|    UNDODECODE(23,LINNUM3);            # SCREEN SPLIT      #
01336  M01S00967.fsecmds +++|    UNDOOPEN(1,LINNUM1);
01337  M01S00968.fsecmds +++|    UNDODECODE(12,LINNUM1);
01338  M01S00969.fsecmds +++|    UNDOOPEN(2,LINNUM1);
01339  M01S00970.fsecmds +++|    BAKZ;
01340  M01S00971.fsecmds +++|    END
01341  M01S00972.fsecmds +++|  GETCHAR(LINE,0,LINPTR1);
01342  M01S00973.fsecmds +++|  WHYLE CURRENT GR TOPA(AUDITCTL) AND LINPTR1 NQ CLETTERC
01343  M01S00974.fsecmds +++|    AND LINPTR1 NQ CLETTERE AND USRBRK EQ 0 DO
01344  M01S00975.fsecmds +++|    BEGIN
01345  M01S00976.fsecmds +++|    UNDODECODE(1,LINNUM1);
01346  M01S00977.fsecmds +++|    UNDODECODE(12,LINNUM2);
01347  M01S00978.fsecmds +++|    UNDODECODE(23,LINNUM3);
01348  M01S00979.fsecmds +++|    IF LINNUM2 NQ FDLF(LINNUM1) THEN UNDOOPEN(LINNUM1,LINNUM2);
01349  M01S00980.fsecmds +++|    IF LINPTR1 EQ CLETTERD THEN
01350  M01S00981.fsecmds +++|      BEGIN
01351  M01S00982.fsecmds +++|      BAKZ;
01352  M01S00983.fsecmds +++|      PUSH;
01353  M01S00984.fsecmds +++|      UNDOPOS(-1);
01354  M01S00985.fsecmds +++|      INSX;
01355  M01S00986.fsecmds +++|      POP;
01356  M01S00987.fsecmds +++|      END
01357  M01S00988.fsecmds +++|    ELSE IF LINPTR1 EQ CLETTERI THEN
01358  M01S00989.fsecmds +++|      BEGIN
01359  M01S00990.fsecmds +++|      PUSH;
01360  M01S00991.fsecmds +++|      UNDOPOS(+1);
01361  M01S00992.fsecmds +++|      DELX;
01362  M01S00993.fsecmds +++|      POP;
01363  M01S00994.fsecmds +++|      END
01364  M01S00995.fsecmds +++|    ELSE IF LINPTR1 EQ CLETTERR THEN
01365  M01S00996.fsecmds +++|      BEGIN
01366  M01S00997.fsecmds +++|      BAKZ;
01367  M01S00998.fsecmds +++|      PUSH;
01368  M01S00999.fsecmds +++|      UNDOPOS(0);
01369  M01S01000.fsecmds +++|      REPX;
01370  M01S01001.fsecmds +++|      CURF(CURFILE)=CURF(CURFILE)-1;
01371  M01S01002.fsecmds +++|      POP;
01372  M01S01003.fsecmds +++|      END
01373  M01S01004.fsecmds +++|    BAKZ;
01374  M01S01005.fsecmds +++|    GETCHAR(LINE,0,LINPTR1);
01375  M01S01006.fsecmds +++|    END
01376  M01S01007.fsecmds +++|  CURA(AUDITCTL)=CURRENT;
01377  M01S01008.fsecmds +++|  CURF(CURFILE)=MAX(MIN(CURF(CURFILE)+1,BOTF(CURFILE)-1),TOPF(CURFILE));
01378  M01S01009.fsecmds +++|  POSZ(CURF(CURFILE));
01379  M01S01010.fsecmds +++|  AUDITOFF=FALSE;
01380  M01S00002.ns2608  +++|  NEWCURSOR = 0;
01381  M01S01011.fsecmds +++|  END            # OF UNDOCMD  #
01382  M01S01012.fsecmds +++|
01383  M01S01013.fsecmds +++|
01384  M01S01014.fsecmds +++|PROC WORDCMD;
01385  M01S01015.fsecmds +++|  BEGIN
01386  M01S01016.fsecmds +++|#
01387  M01S01017.fsecmds +++|**        WORDCMD - COMMAND PROCESSOR FOR WORD PROCESSING.
01388  M01S01018.fsecmds +++|*
01389  M01S01019.fsecmds +++|*         ENTRY  COMMAND VERB SCANNED, TOKEN ADVANCED FOR NEXT.
01390  M01S01020.fsecmds +++|*                USUAL DEFAULTS AVAILABLE.  (CURRENT, ETC.)
01391  M01S01021.fsecmds +++|*
01392  M01S01022.fsecmds +++|*         EXIT   COMMAND PROCESSED.
01393  M01S01023.fsecmds +++|*
01394  M01S01024.fsecmds +++|*         CALLS  VFYLOCK, TOKEN, ERRJUMP, SCANNER,
01395  M01S01025.fsecmds +++|*                DOFILL.
01396  M01S01026.fsecmds +++|*
01397  M01S01027.fsecmds +++|*         USES   LCOUNT, SCANPOS, KEYWDTYPE.
01398  M01S01028.fsecmds +++|#
01399  M01S01029.fsecmds +++|  IF TOKENTYPE NQ TYPST"LETTER" OR KEYWDNDX LS 0
01400  M01S01030.fsecmds +++|    THEN ERRJUMP("CHARACTER SEQUENCE NOT RECOGNIZED$");
01401  M01S01031.fsecmds +++|  LCOUNT=KEYWDNDX;
01402  M01S01032.fsecmds +++|  TOKEN;                     # ADVANCE TO NEXT SYNTAX      #
01403  M01S01033.fsecmds +++|  SCANNER;
01404  M01S01034.fsecmds +++|  VFYLOCK;
01405  M01S01035.fsecmds +++|  IF NOT FOUND THEN RETURN;            # OUT OF BOUNDS     #
01406  M01S01036.fsecmds +++|  IF LCOUNT EQ KEYST"WFIL" THEN
01407  M01S01037.fsecmds +++|    BEGIN
01408  M01S01038.fsecmds +++|    DOFILL;
01409  M01S01039.fsecmds +++|    NEWCURSOR=0;
01410  M01S01040.fsecmds +++|    RETURN;
01411  M01S01041.fsecmds +++|    END
01412  M01S01042.fsecmds +++|  ELSE IF LCOUNT EQ KEYST"WCEN" THEN
01413  M01S01043.fsecmds +++|    BEGIN
01414  M01S01044.fsecmds +++|    EXECNDX=EXECST"CENTER";
01415  M01S01045.fsecmds +++|    DORANGE;
01416  M01S01046.fsecmds +++|    RETURN;
01417  M01S01047.fsecmds +++|    END
01418  M01S01048.fsecmds +++|  END            # OF WORDCMD  #
01419  M01S01049.fsecmds +++|
01420  M01S01050.fsecmds +++|
01421  M01S01051.fsecmds +++|END TERM
cdc/nos2.source/opl.opl871/deck/fsecmds.txt ยท Last modified: by 127.0.0.1