Seq # *Modification Id* Act
----------------------------+
00001 M00S00001.fsecmds +++|PROC FSECMDS;
00002 M00S00002.fsecmds +++| BEGIN
00003 M00S00003.fsecmds +++|
00004 M00S00004.fsecmds +++|
00005 M00S00005.fsecmds +++|#
00006 M00S00006.fsecmds +++|*** FSECMDS -- SUPPLEMENTARY COMMANDS.
00007 M00S00007.fsecmds +++|*
Line S00008 Modification History |
M01 (Removed by) | 281l803 |
Seq # *Modification Id* Act
----------------------------+
00008 M01S00008.281l803 ---|* COPYRIGHT CONTROL DATA CORPORATION, 1983.
Line S00001 Modification History |
M01 (Added by) | 281l803 |
Seq # *Modification Id* Act
----------------------------+
00009 M01S00001.281l803 +++|* COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
00010 M00S00009.fsecmds +++|*
00011 M00S00010.fsecmds +++|* FSECMDS CONTAINS CODE WHICH NORMALLY WOULD BE PART OF THE
00012 M00S00011.fsecmds +++|* LARGE "PROCESS" CASE STATEMENT, BUT WHICH WE HAVE MOVED
00013 M00S00012.fsecmds +++|* OUT TO CONSERVE FIELD LENGTH MOST OF THE TIME. CODE IN
00014 M00S00013.fsecmds +++|* FSECMDS IS A CANDIDATE FOR ANY OVERLAY STRUCTURING THAT MAY
00015 M00S00014.fsecmds +++|* BE PROVIDED IN THE FUTURE. CODE IN FSECMDS MUST BE STRICTLY
00016 M00S00015.fsecmds +++|* FOR THE SINGLE-USER VERSION ONLY. REENTRANT PROGRAMMING
00017 M00S00016.fsecmds +++|* IS NOT USED IN THIS MODULE.
00018 M00S00017.fsecmds +++|#
00019 M00S00018.fsecmds +++|
00020 M00S00019.fsecmds +++| DEF LISTCON #0#;
00021 M00S00020.fsecmds +++|
00022 M00S00021.fsecmds +++|CONTROL EJECT; # UNIVERSAL DECLARES #
00023 M00S00022.fsecmds +++|
00024 M00S00023.fsecmds +++|*IFCALL SINGLE,COMFSGL
00025 M00S00024.fsecmds +++|*IFCALL ONLY,COMFONL
00026 M00S00025.fsecmds +++|*IFCALL MULTI,COMFMLT
00027 M00S00026.fsecmds +++|*CALL COMFFSE
00028 M00S00027.fsecmds +++|
00029 M00S00028.fsecmds +++| # COMMON, DATA #
00030 M00S00029.fsecmds +++|
00031 M00S00030.fsecmds +++|
00032 M00S00031.fsecmds +++|*CALL COMFDS1
00033 M00S00032.fsecmds +++|*CALL COMFVD2
00034 M00S00033.fsecmds +++|*CALL COMFDS2
00035 M00S00034.fsecmds +++|
00036 M00S00035.fsecmds +++|
00037 M00S00036.fsecmds +++| # COMMAND/SYNTAX TABLES #
00038 M00S00037.fsecmds +++|
00039 M00S00038.fsecmds +++|
00040 M00S00039.fsecmds +++|*CALL COMFTAB
00041 M00S00040.fsecmds +++|
00042 M00S00041.fsecmds +++|
00043 M00S00042.fsecmds +++| # EXTERNALS #
00044 M00S00043.fsecmds +++|
00045 M00S00044.fsecmds +++|
00046 M00S00045.fsecmds +++|XDEF
00047 M00S00046.fsecmds +++| BEGIN
00048 M00S00047.fsecmds +++|*CALL COMFXCM
00049 M00S00048.fsecmds +++| END
00050 M00S00049.fsecmds +++|
00051 M00S00050.fsecmds +++|
00052 M00S00051.fsecmds +++|XREF
00053 M00S00052.fsecmds +++| BEGIN
00054 M00S00053.fsecmds +++|*CALL COMFXFL
00055 M00S00054.fsecmds +++|*CALL COMFXSC
00056 M00S00055.fsecmds +++|*CALL COMFXED
00057 M00S00056.fsecmds +++|*CALL COMFXSB
00058 M00S00057.fsecmds +++|*CALL COMFXTI
00059 M00S00058.fsecmds +++|*CALL COMFXFO
00060 M00S00059.fsecmds +++|*CALL COMFXWK
00061 M00S00060.fsecmds +++| END
00062 M00S00061.fsecmds +++|
00063 M00S00062.fsecmds +++|XREF # SYMPLIB SUPPORT #
00064 M00S00063.fsecmds +++| BEGIN
00065 M00S00064.fsecmds +++| PROC REWIND;
00066 M00S00065.fsecmds +++| PROC WRITER;
00067 M00S00066.fsecmds +++| PROC READ;
00068 M00S00067.fsecmds +++| PROC RETERN;
00069 M00S00068.fsecmds +++| PROC RECALL;
00070 M00S00069.fsecmds +++| PROC PF;
00071 M00S00070.fsecmds +++| PROC WRITEC;
00072 M00S00071.fsecmds +++| PROC READC;
00073 M00S00072.fsecmds +++| PROC SKIPEI;
00074 M00S00073.fsecmds +++| PROC BKSP;
00075 M00S00074.fsecmds +++| END
00076 M00S00075.fsecmds +++|
00077 M00S00076.fsecmds +++|XREF # FSELIB #
00078 M00S00077.fsecmds +++| BEGIN
00079 M00S00078.fsecmds +++| FUNC FIXCTL B;
00080 M00S00079.fsecmds +++| FUNC LENGTH;
00081 M00S00080.fsecmds +++| PROC FLDLEN;
00082 M00S00081.fsecmds +++| END
00083 M00S00082.fsecmds +++|
Line S00001 Modification History |
M01 (Added by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
00084 M01S00001.ns2404 +++|XREF # VIRTERM #
00085 M01S00002.ns2404 +++| BEGIN
00086 M01S00003.ns2404 +++| PROC VDTCHR;
00087 M01S00004.ns2404 +++| END
00088 M01S00005.ns2404 +++|
00089 M00S00083.fsecmds +++|XREF # BUFFER MAPPING #
00090 M00S00084.fsecmds +++| BEGIN
00091 M00S00085.fsecmds +++| ARRAY WORKBUF;;
00092 M00S00086.fsecmds +++| ARRAY BUILDBF;;
00093 M00S00087.fsecmds +++| ITEM MAXADDR;
00094 M00S00088.fsecmds +++| END
00095 M00S00089.fsecmds +++|PAGE # DATA LOCAL TO OVERLAY #
00096 M00S00090.fsecmds +++|
00097 M00S00091.fsecmds +++|
00098 M00S00092.fsecmds +++|ITEM RESULT,NWORDS, TMP1, INDEX, KILLUPLOW B, ZERO=0;
00099 M00S00093.fsecmds +++|ITEM SAVBLANKS, SAVLINENO;
00100 M00S00094.fsecmds +++|
00101 M00S00095.fsecmds +++|ARRAY STATUSMSGS [0:3] P(2);
00102 M00S00096.fsecmds +++| BEGIN
00103 M00S00097.fsecmds +++| ITEM YESORNO C(0,0,7)=[" NO ", " YES ", " ", " "];
00104 M00S00098.fsecmds +++| ITEM CHARTYPE C(1,0,7)=["DISPLAY", "DISPLAY", " ASCII ",
00105 M00S00099.fsecmds +++| " 8/12 "];
00106 M00S00100.fsecmds +++| END
00107 M00S00101.fsecmds +++|PAGE # USEFUL LITTLE ROUTINES #
00108 M00S00102.fsecmds +++|
00109 M00S00103.fsecmds +++|
00110 M00S00104.fsecmds +++|PROC XFRCMOUT;
00111 M00S00105.fsecmds +++| BEGIN
00112 M00S00106.fsecmds +++|#
00113 M00S00107.fsecmds +++|** XFRCMOUT - OUTWARD LINE TRANSFER FOR COPY/MOVE.
00114 M00S00108.fsecmds +++|*
00115 M00S00109.fsecmds +++|* ENTRY LIN - INTERNAL LINE IMAGE.
00116 M00S00110.fsecmds +++|* FORCEFIELD, CHARRANGE - MODE SETTINGS.
00117 M00S00111.fsecmds +++|* CHRPTR1, CHRPTR2, FIRSTRANGE, LASTRANGE - DITTO.
00118 M00S00112.fsecmds +++|* MOVEFET - FET FOR SCRATCH FILE.
00119 M00S00113.fsecmds +++|*
00120 M00S00114.fsecmds +++|* EXIT IMAGE WRITTEN TO SCRATCH IN 6/12 CHARSET.
00121 M00S00115.fsecmds +++|*
00122 M00S00116.fsecmds +++|* MACROS SETCHAR.
00123 M00S00117.fsecmds +++|*
00124 M00S00118.fsecmds +++|* CALLS LSHIFT, CONVOUT, POSZ, WRITEC.
00125 M00S00119.fsecmds +++|#
00126 M00S00120.fsecmds +++| IF FORCEFIELD THEN
00127 M00S00121.fsecmds +++| BEGIN
00128 M00S00122.fsecmds +++| SETCHAR(LINE,CHRPTR2+1,CENDLINE);
00129 M00S00123.fsecmds +++| LSHIFT(LIN,CHRPTR1,CHRPTR1);
Line S00124 Modification History |
M01 (Removed by) | ns2582 |
Seq # *Modification Id* Act
----------------------------+
00130 M01S00124.ns2582 ---| CONVOUT(LIN,2);
Line S00001 Modification History |
M01 (Added by) | ns2582 |
Seq # *Modification Id* Act
----------------------------+
00131 M01S00001.ns2582 +++| CONVOUT(LIN,4);
00132 M00S00125.fsecmds +++| POSZ(CURRENT); # RE-FRESH LINE BUFFER #
00133 M00S00126.fsecmds +++| END
00134 M00S00127.fsecmds +++| ELSE IF CHARRANGE THEN
00135 M00S00128.fsecmds +++| BEGIN # TRUNCATE LAST, SHIFT FIRST #
00136 M00S00129.fsecmds +++| IF LASTRANGE THEN SETCHAR(LINE,CHRPTR2+1,CENDLINE);
00137 M00S00130.fsecmds +++| IF FIRSTRANGE THEN LSHIFT(LIN,CHRPTR1,CHRPTR1);
Line S00131 Modification History |
M01 (Removed by) | ns2582 |
Seq # *Modification Id* Act
----------------------------+
00138 M01S00131.ns2582 ---| CONVOUT(LIN,2);
Line S00002 Modification History |
M01 (Added by) | ns2582 |
Seq # *Modification Id* Act
----------------------------+
00139 M01S00002.ns2582 +++| CONVOUT(LIN,4);
00140 M00S00132.fsecmds +++| POSZ(CURRENT); # RE-FRESH LINE BUFFER #
00141 M00S00133.fsecmds +++| END
Line S00134 Modification History |
M01 (Removed by) | ns2582 |
Seq # *Modification Id* Act
----------------------------+
00142 M01S00134.ns2582 ---| ELSE CONVOUT(LIN,2);
Line S00003 Modification History |
M01 (Added by) | ns2582 |
Seq # *Modification Id* Act
----------------------------+
00143 M01S00003.ns2582 +++| ELSE CONVOUT(LIN,4);
00144 M00S00135.fsecmds +++| WRITEC(MOVEFET,TMPLIN);
00145 M00S00136.fsecmds +++| END # OF XFRCMOUT #
00146 M00S00137.fsecmds +++|
00147 M00S00138.fsecmds +++|
00148 M00S00139.fsecmds +++|PROC XFRCMIN;
00149 M00S00140.fsecmds +++| BEGIN
00150 M00S00141.fsecmds +++|#
00151 M00S00142.fsecmds +++|** XFRCMIN - INWARD TRANSFER FOR COPY/MOVE.
00152 M00S00143.fsecmds +++|*
00153 M00S00144.fsecmds +++|* ENTRY MOVEFET - SCRATCH FILE FET.
00154 M00S00145.fsecmds +++|*
00155 M00S00146.fsecmds +++|* EXIT LIN - LINE IMAGE, INTERNAL CHARSET FROM 6/12.
00156 M00S00147.fsecmds +++|*
00157 M00S00148.fsecmds +++|* CALLS READC, CONVIN.
00158 M00S00149.fsecmds +++|#
00159 M00S00150.fsecmds +++| ITEM TMP1;
00160 M00S00151.fsecmds +++| READC(MOVEFET,TMPLIN,BUFWID2P1,TMP1);
00161 M00S00152.fsecmds +++| IF TMP1 NQ 0 THEN FATAL(" TRANSFER TO THE BUFFER IS INCOMPLETE.$");
00162 M00S00153.fsecmds +++| CONVIN(LIN,2);
00163 M00S00154.fsecmds +++| END # OF XFRCMIN #
00164 M00S00155.fsecmds +++|
00165 M00S00156.fsecmds +++|
Line S00157 Modification History |
M01 (Removed by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
00166 M01S00157.ns2404 ---|PROC TTCHAR(VALUE,TITLE);
00167 M01S00158.ns2404 ---| BEGIN
00168 M01S00159.ns2404 ---|#
00169 M01S00160.ns2404 ---|** TTCHAR - OUTPUT ANY CHARACTER.
00170 M01S00161.ns2404 ---|*
00171 M01S00162.ns2404 ---|* TTCHAR OUTPUTS A SINGLE CHARACTER, AND HAS THE UNIQUE
00172 M01S00163.ns2404 ---|* PROPERTY OF OUTPUTTING EXPLANATORY KEYWORDS FOR THE
00173 M01S00164.ns2404 ---|* UNPRINTABLE CHARACTER (BLANK) AS WELL AS PROVIDING FOR
00174 M01S00165.ns2404 ---|* A NON-EXISTENT CHARACTER. THE CHARACTER IS IN THE INTERNAL
00175 M01S00166.ns2404 ---|* CHARACTER SET, AND SINCE IT MAY BE ONE OF THE PUNCTUATION
00176 M01S00167.ns2404 ---|* MARKS UNAAILABLE IN THE DISPLAY CODE, WE CONVERT TO 6/12.
00177 M01S00168.ns2404 ---|*
00178 M01S00169.ns2404 ---|* ENTRY VALUE - THE CHARACTER AS RIGHT-JUSTIFY INTEGER.
00179 M01S00170.ns2404 ---|* TITLE - A DESCRIPTIVE TITLE.
00180 M01S00171.ns2404 ---|*
00181 M01S00172.ns2404 ---|* MACROS SETCHAR.
00182 M01S00173.ns2404 ---|*
00183 M01S00174.ns2404 ---|* CALLS TTSTR, TTLIN, VDTWTC, CONVOUT, TTSYNC.
00184 M01S00175.ns2404 ---|*
00185 M01S00176.ns2404 ---|* USES TMPLIN, LIN.
00186 M01S00177.ns2404 ---|#
00187 M01S00178.ns2404 ---| ITEM VALUE, TITLE C(20);
00188 M01S00179.ns2404 ---| ITEM TMP1;
00189 M01S00180.ns2404 ---| TTSTR(TITLE);
00190 M01S00181.ns2404 ---| IF VALUE EQ CNOTHING THEN TTLIN("(NONE)$");
00191 M01S00182.ns2404 ---| ELSE IF VALUE EQ CBLANK THEN TTLIN("(BLANK)$");
00192 M01S00183.ns2404 ---| ELSE
00193 M01S00184.ns2404 ---| BEGIN
00194 M01S00185.ns2404 ---| TMP1=XLTINTDSP[VALUE];
00195 M01S00186.ns2404 ---| C<0,1>TMP1=C<9,1>TMP1;
00196 M01S00187.ns2404 ---| TTST(TMP1,1);
00197 M01S00188.ns2404 ---| END
00198 M01S00189.ns2404 ---| END # OF TTCHAR #
Line S00006 Modification History |
M01 (Added by) | ns2404 |
M02 (Removed by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
00199 M02S00006.fsecm7 ---|PROC TTCHAR(CHAR,TITLE);
Line S00001 Modification History |
M01 (Added by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
00200 M01S00001.fsecm7 +++|PROC TTCHAR(CHAR,SYMBOL);
Line S00007 Modification History |
M01 (Added by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
00201 M01S00007.ns2404 +++| BEGIN
00202 M01S00008.ns2404 +++|#
Line S00009 Modification History |
M01 (Added by) | ns2404 |
M02 (Removed by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
00203 M02S00009.fsecm7 ---|** TTCHAR - OUTPUT CHARACTER AND MESSAGE.
Line S00002 Modification History |
M01 (Added by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
00204 M01S00002.fsecm7 +++|** TTCHAR - OUTPUT INTERNAL CHARACTER TO TERMINAL.
Line S00010 Modification History |
M01 (Added by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
00205 M01S00010.ns2404 +++|*
Line S00011 Modification History |
M01 (Added by) | ns2404 |
M02 (Removed by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
00206 M02S00011.fsecm7 ---|* TTCHAR OUTPUTS A SINGLE CHARACTER, USING EXPLANATORY
00207 M02S00012.fsecm7 ---|* KEYWORDS FOR (BLANK) AND (NONE) IF NEEDED, ALONG WITH
00208 M02S00013.fsecm7 ---|* A DESCRIPTIVE TITLE. NOTE THAT SINCE THE TERMINAL IS
00209 M02S00014.fsecm7 ---|* DRIVEN IN 6/12 WHILE IN LINE MODE SPECIAL TRANSLATION
00210 M02S00015.fsecm7 ---|* MAY BE NEEDED.
Line S00003 Modification History |
M01 (Added by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
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.
Line S00016 Modification History |
M01 (Added by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
00215 M01S00016.ns2404 +++|*
00216 M01S00017.ns2404 +++|* ENTRY CHAR = THE CHARACTER (INTERNAL CSET).
Line S00018 Modification History |
M01 (Added by) | ns2404 |
M02 (Removed by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
00217 M02S00018.fsecm7 ---|* TITLE = ASSOCIATED DESCRIPTIVE TITLE.
Line S00007 Modification History |
M01 (Added by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
00218 M01S00007.fsecm7 +++|* SYMBOL = USE SYMBOLIC NOTATION (TRUE/FALSE).
Line S00019 Modification History |
M01 (Added by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
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 (Removed by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
00223 M02S00023.fsecm7 ---| ITEM TITLE C(20); # ASSOCIATED DESCRIPTOR #
Line S00008 Modification History |
M01 (Added by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
00224 M01S00008.fsecm7 +++| ITEM SYMBOL B; # SYMBOLIC FLAG (TRUE/FALSE) #
Line S00024 Modification History |
M01 (Added by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
00225 M01S00024.ns2404 +++|
00226 M01S00025.ns2404 +++| ITEM TMP1 I; # TEMPORARY #
00227 M01S00026.ns2404 +++|
Line S00027 Modification History |
M01 (Added by) | ns2404 |
M02 (Removed by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
00228 M02S00027.fsecm7 ---| TTSTR(TITLE); # OUTPUT DESCRIPTIVE TITLE #
Line S00028 Modification History |
M01 (Added by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
00229 M01S00028.ns2404 +++| IF CHAR EQ CNOTHING THEN
00230 M01S00029.ns2404 +++| BEGIN # IF NO CHARACTER #
Line S00030 Modification History |
M01 (Added by) | ns2404 |
M02 (Removed by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
00231 M02S00030.fsecm7 ---| TTSTR("(NONE)$");
Line S00009 Modification History |
M01 (Added by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
00232 M01S00009.fsecm7 +++| IF SYMBOL THEN TTSTR("(NONE)$"); # IF SYMBOLIC REQUESTED #
Line S00031 Modification History |
M01 (Added by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
00233 M01S00031.ns2404 +++| END
00234 M01S00032.ns2404 +++| ELSE
Line S00033 Modification History |
M01 (Added by) | ns2404 |
M02 (Removed by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
00235 M02S00033.fsecm7 ---| BEGIN # CHECK FOR BLANK #
00236 M02S00034.fsecm7 ---| IF CHAR EQ CBLANK THEN
00237 M02S00035.fsecm7 ---| BEGIN # IF BLANK #
00238 M02S00036.fsecm7 ---| TTSTR("(BLANK)$");
Line S00010 Modification History |
M01 (Added by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
00239 M01S00010.fsecm7 +++| BEGIN # IF CHARACTER OR BLANK #
Line S00037 Modification History |
M01 (Added by) | ns2404 |
M02 (Removed by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
00240 M02S00037.fsecm7 ---| END
Line S00011 Modification History |
M01 (Added by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
00241 M01S00011.fsecm7 +++| IF SYMBOL AND CHAR EQ CBLANK THEN TTSTR("(BLANK)$"); # IF SYMBOL #
Line S00038 Modification History |
M01 (Added by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
00242 M01S00038.ns2404 +++| ELSE
Line S00039 Modification History |
M01 (Added by) | ns2404 |
M02 (Removed by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
00243 M02S00039.fsecm7 ---| BEGIN # NOT NONE OR BLANK #
Line S00012 Modification History |
M01 (Added by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
00244 M01S00012.fsecm7 +++| BEGIN # IF CHARACTER OR NORMAL BLANK #
Line S00040 Modification History |
M01 (Added by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
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 M00S00190.fsecmds +++|
00278 M00S00191.fsecmds +++|
00279 M00S00192.fsecmds +++|PROC UNDODECODE(POS,NUM);
00280 M00S00193.fsecmds +++| BEGIN
00281 M00S00194.fsecmds +++|#
00282 M00S00195.fsecmds +++|** UNDODECODE - DECODE AN AUDIT TRAIL DESCRIPTOR.
00283 M00S00196.fsecmds +++|*
00284 M00S00197.fsecmds +++|* ENTRY POS - CHARACTER POSITION OF FIELD.
00285 M00S00198.fsecmds +++|* LIN - CONTAINS DESCRIPTOR.
00286 M00S00199.fsecmds +++|*
00287 M00S00200.fsecmds +++|* EXIT NUM - VALUE DECODED FROM FIELD.
00288 M00S00201.fsecmds +++|*
00289 M00S00202.fsecmds +++|* MACROS GETCHAR.
00290 M00S00203.fsecmds +++|#
00291 M00S00204.fsecmds +++| ITEM POS, NUM, TMP1, TMP2;
00292 M00S00205.fsecmds +++| NUM=0;
00293 M00S00206.fsecmds +++| TMP2=POS;
00294 M00S00207.fsecmds +++| GETCHAR(LINE,TMP2,TMP1);
00295 M00S00208.fsecmds +++| WHYLE TMP1 GQ CDIGIT0 AND TMP1 LQ CDIGIT9 DO
00296 M00S00209.fsecmds +++| BEGIN
00297 M00S00210.fsecmds +++| NUM=NUM*10+TMP1-CDIGIT0;
00298 M00S00211.fsecmds +++| TMP2=TMP2+1;
00299 M00S00212.fsecmds +++| GETCHAR(LINE,TMP2,TMP1);
00300 M00S00213.fsecmds +++| END
00301 M00S00214.fsecmds +++| END # OF UNDODECODE #
00302 M00S00215.fsecmds +++|
00303 M00S00216.fsecmds +++|
00304 M00S00217.fsecmds +++|PROC UNDOPOS(OFFSET);
00305 M00S00218.fsecmds +++| BEGIN
00306 M00S00219.fsecmds +++|#
00307 M00S00220.fsecmds +++|** UNDOPOS - POSITION TO AUDITED DATA LINE.
00308 M00S00221.fsecmds +++|*
00309 M00S00222.fsecmds +++|* ENTRY OFFSET - DIFFERENCE BETWEEN LINNUM3 AND TARGET.
00310 M00S00223.fsecmds +++|* LINNUM1 - FILE BRACKET NUMBER.
00311 M00S00224.fsecmds +++|* LINNUM3 - LINE ORDINAL IN FILE BRACKET.
00312 M00S00225.fsecmds +++|*
00313 M00S00226.fsecmds +++|* EXIT CURFILE - EQUALS LINNUM1.
00314 M00S00227.fsecmds +++|* CURRENT - ABSOLUTE LINE ADDRESS.
00315 M00S00228.fsecmds +++|* LIN - THE TEXT OF THE LINE.
00316 M00S00229.fsecmds +++|* CURF(CURFILE) - EQUAL TO CURRENT.
00317 M00S00230.fsecmds +++|* P<LINEBUF> - POINTS TO LIN.
00318 M00S00231.fsecmds +++|*
00319 M00S00232.fsecmds +++|* CALLS POSZ.
00320 M00S00233.fsecmds +++|#
00321 M00S00234.fsecmds +++| ITEM OFFSET;
00322 M00S00235.fsecmds +++| P<LINEBUF>=0; # POSITION INVISIBLY #
00323 M00S00236.fsecmds +++| POSZ(TOPF(LINNUM1)+LINNUM3+OFFSET);
00324 M00S00237.fsecmds +++| P<LINEBUF>=LOC(LIN); # RESTORE #
00325 M00S00238.fsecmds +++| CURFILE=LINNUM1; # REMEMBER WHERE WE ARE #
00326 M00S00239.fsecmds +++| CURF(CURFILE)=CURRENT;
00327 M00S00240.fsecmds +++| END # OF UNDOPOS #
00328 M00S00241.fsecmds +++|
00329 M00S00242.fsecmds +++|
00330 M00S00243.fsecmds +++|PROC UNDOOPEN(BRACKET,DIRECTORY);
00331 M00S00244.fsecmds +++| BEGIN
00332 M00S00245.fsecmds +++|#
00333 M00S00246.fsecmds +++|** UNDOOPEN - GET FILE IMAGE INTO ACTIVE BRACKET.
00334 M00S00247.fsecmds +++|*
00335 M00S00248.fsecmds +++|* ENTRY BRACKET - DESIRED BRACKET NUMBER.
00336 M00S00249.fsecmds +++|* DIRECTORY - WORKFILE ADDRESS OF FILE DIRECTORY LINE.
00337 M00S00250.fsecmds +++|*
00338 M00S00251.fsecmds +++|* EXIT FILE IS OPENED IN BRACKET.
00339 M00S00252.fsecmds +++|* THIS AFFECTS TOPF(), BOTF(), ETC.
00340 M00S00253.fsecmds +++|*
00341 M00S00254.fsecmds +++|* CALLS PUSH, POSZ, SCANFDL, OPENFILE, POP.
00342 M00S00255.fsecmds +++|*
00343 M00S00256.fsecmds +++|* USES READNAM, FILNUM, CHARPARM, GETPARM.
00344 M00S00257.fsecmds +++|#
00345 M00S00258.fsecmds +++| ITEM BRACKET, DIRECTORY;
00346 M00S00259.fsecmds +++| IF DIRECTORY EQ 0 OR DIRECTORY EQ FDLF(BRACKET) THEN RETURN;
00347 M00S00260.fsecmds +++| PUSH;
00348 M00S00261.fsecmds +++| POSZ(DIRECTORY);
00349 M00S00262.fsecmds +++| SCANFDL(READNAM);
00350 M00S00263.fsecmds +++| FILNUM=BRACKET;
00351 M00S00264.fsecmds +++| CHARPARM=0;
00352 M00S00265.fsecmds +++| GETPARM=0;
00353 M00S00266.fsecmds +++| OPENFILE;
00354 M00S00267.fsecmds +++| POP;
00355 M00S00268.fsecmds +++| END # OF UNDOOPEN #
00356 M00S00269.fsecmds +++|
00357 M00S00270.fsecmds +++|
00358 M00S00271.fsecmds +++|PROC DOFILL;
00359 M00S00272.fsecmds +++| BEGIN
00360 M00S00273.fsecmds +++|#
00361 M00S00274.fsecmds +++|** DOFILL - MAIN ALGORITHM FOR PARAGRAPH FORMATTING.
00362 M00S00275.fsecmds +++|*
00363 M00S00276.fsecmds +++|* DOFILL IS THE MAIN PROCESSING ALGORITHM FOR THE WORD-
00364 M00S00277.fsecmds +++|* PROCESSING COMMAND, ".FILL". THE UNIVERSAL SYNTAX
00365 M00S00278.fsecmds +++|* SCANNER MUST BE CALLED BEFORE BEFORE DOFILL. DOFILL
00366 M00S00279.fsecmds +++|* ACCEPTS EXPLICIT RANGE BOUNDARIES, OR COMPUTE AN IMPLICIT
00367 M00S00280.fsecmds +++|* RANGE AS THE PARAGRAPH SURROUNDING ONE TARGET LINE.
00368 M00S00281.fsecmds +++|* MARGINS MAY BE COLUMN 1 THRU THE WIDTH SETTING, OR A
00369 M00S00282.fsecmds +++|* TAB FIELD.
00370 M00S00283.fsecmds +++|*
00371 M00S00284.fsecmds +++|* ENTRY SCANNER HAS BEEN CALLED.
00372 M00S00285.fsecmds +++|* LINPTR1 - FIRST LINE OF RANGE IF RANGE EXPLICIT.
00373 M00S00286.fsecmds +++|* ANY ADDRESS WITHIN PARAGRAPH FOR IMPLICIT.
00374 M00S00287.fsecmds +++|* LINPTR2 - LAST LINE OF RANGE IF RANGE EXPLICIT.
00375 M00S00288.fsecmds +++|* LIMIT - RANGE LENGTH LIMIT IF RANGE EXPLICIT.
00376 M00S00289.fsecmds +++|* NONDEFAULT - TELLS RANGE IMPLICIT OR EXPLICIT.
00377 M00S00290.fsecmds +++|* FILLLEFT, FILLRIGHT - DEFAULT MARGIN OBJECTIVES.
00378 M00S00291.fsecmds +++|* FILLFIRST - DEFAULT MARGIN OBJECTIVES.
00379 M00S00292.fsecmds +++|* CURFILE - WHICH FILE BRACKET.
00380 M00S00293.fsecmds +++|* NUMBERED[CURFILE] - REQUIRED TO BE FALSE.
00381 M00S00294.fsecmds +++|* TOPF(CURFILE), BOTF(CURFILE) - FILE BOUNDS.
00382 M00S00295.fsecmds +++|* SCREENMODE - CONTROLS FINAL POSITIONING/PRINTING.
00383 M00S00296.fsecmds +++|*
00384 M00S00297.fsecmds +++|* EXIT LINPTR1, LINPTR2, LIMIT - POSSIBLY DESTROYED.
00385 M00S00298.fsecmds +++|* CURRENT - FRONT OF RESULTANT RANGE IF SCREEN,
00386 M00S00299.fsecmds +++|* ELSE END OF RESULTANT RANGE.
00387 M00S00300.fsecmds +++|* LIN - TEXT OF CURRENT LINE.
00388 M00S00301.fsecmds +++|* BOTF(CURFILE) - POSSIBLY RELOCATED.
00389 M00S00302.fsecmds +++|*
00390 M00S00303.fsecmds +++|* MACROS GETCHAR, SETCHAR.
00391 M00S00304.fsecmds +++|*
00392 M00S00305.fsecmds +++|* CALLS TABFN, MIN, MAX, POSZ, LENGTH, BAKZ, FWDZ, TRIMPAD,
00393 M00S00306.fsecmds +++|* REPX, LSHIFT, RSHIFT, DOSPLIT, COPYLIN, DORANGE.
00394 M00S00307.fsecmds +++|*
00395 M00S00308.fsecmds +++|* USES TTYLIN.
00396 M00S00309.fsecmds +++|#
00397 M00S00310.fsecmds +++| ITEM FILLLOOP; # USED FOR LOOP TESTING #
00398 M00S00311.fsecmds +++| ITEM LMARGIN, RMARGIN;
Line S00312 Modification History |
M01 (Removed by) | ns2503 |
Seq # *Modification Id* Act
----------------------------+
00399 M01S00312.ns2503 ---| ITEM TMP1, TMP2, TMP3, TMP4, TMP5;
Line S00001 Modification History |
M01 (Added by) | ns2503 |
Seq # *Modification Id* Act
----------------------------+
00400 M01S00001.ns2503 +++| ITEM TMP1, TMP2, TMP3, TMP4, TMP5, TMP6;
00401 M01S00002.ns2503 +++| ITEM LEFTRIGHT B;
00402 M00S00313.fsecmds +++|
00403 M00S00314.fsecmds +++| # PROCESS A PARAGRAPH OF WORDS OF TEXT CENTERED AROUND #
00404 M00S00315.fsecmds +++| # THE CURRENT LINE (LINPTR1 INITIALLY). WE LOOK BACK #
00405 M00S00316.fsecmds +++| # AND FORWARDS FOR BOUNDARIES, THEN PROCESS THE BLOCK #
00406 M00S00317.fsecmds +++| # MERGING WORDS ONTO LINES TO MATCH "SET WIDTH". #
00407 M00S00318.fsecmds +++|
00408 M00S00319.fsecmds +++| IF NUMBERED[CURFILE] NQ 0 THEN
00409 M00S00320.fsecmds +++| BEGIN
00410 M00S00321.fsecmds +++| ERRJUMP("FILE MUST NOT CONTAIN SEQUENCE NUMBERS$");
00411 M00S00322.fsecmds +++| END
00412 M00S00323.fsecmds +++|
00413 M00S00324.fsecmds +++| LMARGIN=FILLFIRST;
00414 M00S00325.fsecmds +++| RMARGIN=FILLRIGHT;
Line S00003 Modification History |
M01 (Added by) | ns2503 |
Seq # *Modification Id* Act
----------------------------+
00415 M01S00003.ns2503 +++| LEFTRIGHT = FALSE;
00416 M00S00326.fsecmds +++|
00417 M00S00327.fsecmds +++| IF NONDEFAULT THEN # USE LINPTR1, LINPTR2 #
00418 M00S00328.fsecmds +++| BEGIN
00419 M00S00329.fsecmds +++| REGLINE[RNGTOPREG]=LINPTR1-1;
00420 M00S00330.fsecmds +++| REGLINE[RNGBOTREG]=MIN(LINPTR2+1,LINPTR1+LIMIT);
00421 M00S00331.fsecmds +++| END
00422 M00S00332.fsecmds +++| ELSE # SEARCH FOR PARAGRAPH #
00423 M00S00333.fsecmds +++| BEGIN
00424 M00S00334.fsecmds +++| POSZ(LINPTR1);
Line S00335 Modification History |
M01 (Removed by) | ns2411 |
Seq # *Modification Id* Act
----------------------------+
00425 M01S00335.ns2411 ---| IF LENGTH(LIN) EQ 0 THEN RETURN; # NONE TODO #
00426 M01S00336.ns2411 ---| WHYLE CURRENT GR TOPF(CURFILE) AND LENGTH(LIN) GR 0 DO
Line S00001 Modification History |
M01 (Added by) | ns2411 |
Seq # *Modification Id* Act
----------------------------+
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 M00S00337.fsecmds +++| BEGIN # LOOK BACK FOR BLANK #
00430 M00S00338.fsecmds +++| BAKZ;
00431 M00S00339.fsecmds +++| IF USRBRK NQ 0 THEN RETURN;
00432 M00S00340.fsecmds +++| END
00433 M00S00341.fsecmds +++| REGLINE[RNGTOPREG]=CURRENT;
00434 M00S00342.fsecmds +++| POSZ(LINPTR1);
Line S00343 Modification History |
M01 (Removed by) | ns2411 |
Seq # *Modification Id* Act
----------------------------+
00435 M01S00343.ns2411 ---| WHYLE CURRENT LS BOTF(CURFILE) AND LENGTH(LIN) GR 0 DO
Line S00003 Modification History |
M01 (Added by) | ns2411 |
Seq # *Modification Id* Act
----------------------------+
00436 M01S00003.ns2411 +++| WHYLE CURRENT LS BOTF(CURFILE) AND NOT NOTEXT DO
00437 M00S00344.fsecmds +++| BEGIN # LOOK FORWARDS FOR BLANK #
00438 M00S00345.fsecmds +++| FWDZ;
00439 M00S00346.fsecmds +++| IF USRBRK NQ 0 THEN RETURN;
00440 M00S00347.fsecmds +++| END
00441 M00S00348.fsecmds +++| REGLINE[RNGBOTREG]=CURRENT;
00442 M00S00349.fsecmds +++| END
00443 M00S00350.fsecmds +++|
00444 M00S00351.fsecmds +++| POSZ(REGLINE[RNGTOPREG]+1);
00445 M00S00352.fsecmds +++| FOR FILLLOOP=FILLLOOP WHILE CURRENT LS REGLINE[RNGBOTREG]
00446 M00S00353.fsecmds +++| AND CURRENT GR REGLINE[RNGTOPREG] AND USRBRK EQ 0 DO
00447 M00S00354.fsecmds +++| BEGIN
00448 M00S00355.fsecmds +++|
00449 M00S00356.fsecmds +++| IF CURRENT GR REGLINE[RNGTOPREG]+1 THEN
00450 M00S00357.fsecmds +++| BEGIN # LOOK BACK FOR START PARA #
00451 M00S00358.fsecmds +++| BAKZ;
Line S00359 Modification History |
M01 (Removed by) | ns2411 |
Seq # *Modification Id* Act
----------------------------+
00452 M01S00359.ns2411 ---| IF LENGTH(LIN) EQ 0 THEN LMARGIN=FILLFIRST;
Line S00004 Modification History |
M01 (Added by) | ns2411 |
Seq # *Modification Id* Act
----------------------------+
00453 M01S00004.ns2411 +++| IF NOTEXT THEN LMARGIN=FILLFIRST;
00454 M00S00360.fsecmds +++| ELSE LMARGIN=FILLLEFT;
00455 M00S00361.fsecmds +++| FWDZ;
00456 M00S00362.fsecmds +++| END
00457 M00S00363.fsecmds +++|
00458 M00S00364.fsecmds +++| IF LENGTH(LIN) GR EDITFIELD THEN # KILL PROTECTED #
00459 M00S00365.fsecmds +++| BEGIN
00460 M00S00366.fsecmds +++| SETCHAR(LINE,EDITFIELD,CENDLINE);
00461 M00S00367.fsecmds +++| TRIMPAD;
00462 M00S00368.fsecmds +++| REPX;
00463 M00S00369.fsecmds +++| END
00464 M00S00370.fsecmds +++|
00465 M00S00371.fsecmds +++| IF LENGTH(LIN) GR 0 THEN # NORMALIZE SPACING #
00466 M00S00372.fsecmds +++| BEGIN
00467 M00S00373.fsecmds +++| TMP1=0; # CURSOR #
00468 M00S00374.fsecmds +++| TMP2=LMARGIN; # NUMBER OF EXPECTED BLANKS #
00469 M00S00375.fsecmds +++| TMP3=0; # FLAG FOR CHANGES MADE #
00470 M00S00376.fsecmds +++| WHYLE TMP1 LS LENGTH(LIN) DO
00471 M00S00377.fsecmds +++| BEGIN
00472 M00S00378.fsecmds +++| # FIRST CHECK AND COMPRESS BLANKS BEFORE WORD #
00473 M00S00379.fsecmds +++| TMP4=TMP1;
00474 M00S00380.fsecmds +++| GETCHAR(LINE,TMP4,TMP5);
00475 M00S00381.fsecmds +++| WHYLE TMP5 EQ CBLANK DO # SPAN BLANKS BEFORE WORD #
00476 M00S00382.fsecmds +++| BEGIN
00477 M00S00383.fsecmds +++| TMP4=TMP4+1;
00478 M00S00384.fsecmds +++| GETCHAR(LINE,TMP4,TMP5);
00479 M00S00385.fsecmds +++| END
00480 M00S00386.fsecmds +++| TMP4=TMP4-TMP1; # NUMBER OF BLANKS #
00481 M00S00387.fsecmds +++| IF TMP4 GR TMP2 THEN # NEED LESS SPACING #
00482 M00S00388.fsecmds +++| BEGIN
00483 M00S00389.fsecmds +++| LSHIFT(LIN,TMP1+TMP4-TMP2,TMP4-TMP2);
00484 M00S00390.fsecmds +++| TMP3=1; # FLAG CHANGE #
00485 M00S00391.fsecmds +++| END
00486 M00S00392.fsecmds +++| IF TMP4 LS TMP2 THEN # NEED MORE SPACING #
00487 M00S00393.fsecmds +++| BEGIN
00488 M00S00394.fsecmds +++| RSHIFT(LIN,TMP1,TMP2-TMP4);
00489 M00S00395.fsecmds +++| FOR TMP3=1 STEP 1 UNTIL TMP2-TMP4
00490 M00S00396.fsecmds +++| DO SETCHAR(LINE,TMP1+TMP3-1,CBLANK);
00491 M00S00397.fsecmds +++| TMP3=1;
00492 M00S00398.fsecmds +++| END
00493 M00S00399.fsecmds +++| # SECOND SCAN ACROSS WORD TO SET NEW BLANK EXPECTATION #
00494 M00S00400.fsecmds +++| TMP1=TMP1+TMP2; # POINT TO WORD #
00495 M00S00401.fsecmds +++| GETCHAR(LINE,TMP1,TMP5);
00496 M00S00402.fsecmds +++| WHYLE TMP5 NQ CBLANK AND TMP5 NQ CENDLINE DO
00497 M00S00403.fsecmds +++| BEGIN
00498 M00S00404.fsecmds +++| TMP4=TMP5; # NEED TO KNOW LAST CHARACTER OF WORD #
00499 M00S00405.fsecmds +++| TMP1=TMP1+1;
00500 M00S00406.fsecmds +++| GETCHAR(LINE,TMP1,TMP5);
00501 M00S00407.fsecmds +++| END
Line S00408 Modification History |
M01 (Removed by) | fsecm6 |
Seq # *Modification Id* Act
----------------------------+
00502 M01S00408.fsecm6 ---| IF TMP4 EQ CPERIOD OR TMP4 EQ CEXCLAM OR TMP4 EQ CCOLON
00503 M01S00409.fsecm6 ---| OR TMP4 EQ CQUESTION THEN TMP2=2;
Line S00001 Modification History |
M01 (Added by) | fsecm6 |
Seq # *Modification Id* Act
----------------------------+
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 M00S00410.fsecmds +++| ELSE TMP2=1;
00507 M00S00411.fsecmds +++| END
00508 M00S00412.fsecmds +++| IF TMP3 NQ 0 THEN
00509 M00S00413.fsecmds +++| BEGIN
00510 M00S00414.fsecmds +++| TRIMPAD;
00511 M00S00415.fsecmds +++| REPX;
00512 M00S00416.fsecmds +++| END
00513 M00S00417.fsecmds +++| END
00514 M00S00418.fsecmds +++|
Line S00419 Modification History |
M01 (Removed by) | ns2411 |
Seq # *Modification Id* Act
----------------------------+
00515 M01S00419.ns2411 ---| IF LENGTH(LIN) EQ RMARGIN OR LENGTH(LIN) EQ 0 THEN
Line S00005 Modification History |
M01 (Added by) | ns2411 |
Seq # *Modification Id* Act
----------------------------+
00516 M01S00005.ns2411 +++| IF LENGTH(LIN) EQ RMARGIN OR NOTEXT THEN
00517 M00S00420.fsecmds +++| BEGIN # SKIP PERFECT OR BLANK LINE #
00518 M00S00421.fsecmds +++| FWDZ;
00519 M00S00422.fsecmds +++| TEST FILLLOOP;
00520 M00S00423.fsecmds +++| END
00521 M00S00424.fsecmds +++|
00522 M00S00425.fsecmds +++| IF LENGTH(LIN) GR RMARGIN THEN
00523 M00S00426.fsecmds +++| BEGIN # SPLIT THIS LINE TO SHORTEN #
00524 M00S00427.fsecmds +++| TMP1=RMARGIN;
00525 M00S00428.fsecmds +++| GETCHAR(LINE,TMP1,TMP2);
00526 M00S00429.fsecmds +++| WHYLE TMP2 NQ CBLANK AND TMP1 GR 0 DO
00527 M00S00430.fsecmds +++| BEGIN # LOOK BACK FOR BLANK #
00528 M00S00431.fsecmds +++| TMP1=TMP1-1;
00529 M00S00432.fsecmds +++| GETCHAR(LINE,TMP1,TMP2);
00530 M00S00433.fsecmds +++| END
00531 M00S00434.fsecmds +++| IF TMP1 GR LMARGIN THEN # SPLIT AND WORK ON SECOND HALF #
00532 M00S00435.fsecmds +++| BEGIN
00533 M00S00436.fsecmds +++| CHRPTR3=TMP1+1;
Line S00437 Modification History |
M01 (Removed by) | ns2226 |
Seq # *Modification Id* Act
----------------------------+
00534 M01S00437.ns2226 ---| DOSPLIT;
Line S00001 Modification History |
M01 (Added by) | ns2226 |
Seq # *Modification Id* Act
----------------------------+
00535 M01S00001.ns2226 +++| DOSPLIT(1);
Line S00001 Modification History |
M01 (Added by) | fsecm3 |
Seq # *Modification Id* Act
----------------------------+
00536 M01S00001.fsecm3 +++| IF RIGHTJUST[0] THEN GOTO JUSTIFY; # IF RIGHT JUSTIFY NEEDED #
00537 M00S00438.fsecmds +++| END
00538 M00S00439.fsecmds +++| ELSE FWDZ; # ALL ONE WORD - JUST MOVE ON #
Line S00004 Modification History |
M01 (Added by) | ns2503 |
M02 (Removed by) | fsecm3 |
Seq # *Modification Id* Act
----------------------------+
00539 M02S00004.fsecm3 ---| IF RIGHTJUST[0] THEN GOTO JUSTIFY;
00540 M00S00440.fsecmds +++| TEST FILLLOOP;
00541 M00S00441.fsecmds +++| END
00542 M00S00442.fsecmds +++|
00543 M00S00443.fsecmds +++| IF LENGTH(LIN) LS RMARGIN AND CURRENT EQ REGLINE[RNGBOTREG]-1 THEN
00544 M00S00444.fsecmds +++| BEGIN # CANNOT ENLARGE LAST SO SKIP #
00545 M00S00445.fsecmds +++| FWDZ;
00546 M00S00446.fsecmds +++| TEST FILLLOOP; # THIS ACTUALLY TERMINATES LOOP #
00547 M00S00447.fsecmds +++| END
00548 M00S00448.fsecmds +++|
00549 M00S00449.fsecmds +++| IF LENGTH(LIN) LS RMARGIN AND CURRENT LS REGLINE[RNGBOTREG]-1 THEN
00550 M00S00450.fsecmds +++| BEGIN # TRY TO ADD WORDS FROM NEXT #
00551 M00S00451.fsecmds +++| COPYLIN(LIN,TTYLIN); # TTYLIN = CURRENT LINE #
00552 M00S00452.fsecmds +++| FWDZ; # READ UP NEXT LINE #
Line S00453 Modification History |
M01 (Removed by) | ns2411 |
Seq # *Modification Id* Act
----------------------------+
00553 M01S00453.ns2411 ---| IF LENGTH(LIN) EQ 0 THEN TEST FILLLOOP; # NEXT PARAGRAPH #
Line S00006 Modification History |
M01 (Added by) | ns2411 |
Seq # *Modification Id* Act
----------------------------+
00554 M01S00006.ns2411 +++| IF NOTEXT THEN TEST FILLLOOP; # NEXT PARAGRAPH #
00555 M00S00454.fsecmds +++| TMP1=0;
00556 M00S00455.fsecmds +++| GETCHAR(LINE,0,TMP2);
00557 M00S00456.fsecmds +++| WHYLE TMP2 EQ CBLANK DO
00558 M00S00457.fsecmds +++| BEGIN # SPAN LEADING BLANKS #
00559 M00S00458.fsecmds +++| TMP1=TMP1+1;
00560 M00S00459.fsecmds +++| GETCHAR(LINE,TMP1,TMP2);
00561 M00S00460.fsecmds +++| END
00562 M00S00461.fsecmds +++| TMP3=TMP1; # KEEP START OF WORD #
00563 M00S00462.fsecmds +++| WHYLE TMP2 NQ CBLANK AND TMP2 NQ CENDLINE DO
00564 M00S00463.fsecmds +++| BEGIN # SPAN WORD #
00565 M00S00464.fsecmds +++| TMP1=TMP1+1;
00566 M00S00465.fsecmds +++| GETCHAR(LINE,TMP1,TMP2);
00567 M00S00466.fsecmds +++| END
00568 M00S00467.fsecmds +++| TMP4=LENGTH(TTYLIN);
00569 M00S00468.fsecmds +++| GETCHAR(TTYLINE,TMP4-1,TMP5); # DETERMINE SPACING #
Line S00469 Modification History |
M01 (Removed by) | fsecm6 |
Seq # *Modification Id* Act
----------------------------+
00570 M01S00469.fsecm6 ---| IF TMP5 EQ CPERIOD OR TMP5 EQ CEXCLAM OR TMP5 EQ CCOLON
00571 M01S00470.fsecm6 ---| OR TMP5 EQ CQUESTION THEN TMP5=2;
Line S00003 Modification History |
M01 (Added by) | fsecm6 |
Seq # *Modification Id* Act
----------------------------+
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 M00S00471.fsecmds +++| ELSE TMP5=1;
00575 M00S00472.fsecmds +++| # ADD WORD IF ROOM FOR OLD LINE, BLANKS, AND WORD #
00576 M00S00473.fsecmds +++| IF (LENGTH(TTYLIN)) + (TMP5) + (TMP1-TMP3-1) LQ RMARGIN THEN
00577 M00S00474.fsecmds +++| BEGIN # CAN ADD ONE WORD #
00578 M00S00475.fsecmds +++| FOR TMP2=1 STEP 1 UNTIL TMP5 DO # ADD 1 OR 2 BLANK #
00579 M00S00476.fsecmds +++| BEGIN
00580 M00S00477.fsecmds +++| SETCHAR(TTYLINE,TMP4,CBLANK);
00581 M00S00478.fsecmds +++| TMP4=TMP4+1;
00582 M00S00479.fsecmds +++| END
00583 M00S00480.fsecmds +++| FOR TMP2=TMP3 STEP 1 UNTIL TMP1-1 DO # ADD ONE WORD #
00584 M00S00481.fsecmds +++| BEGIN
00585 M00S00482.fsecmds +++| GETCHAR(LINE,TMP2,TMP5);
00586 M00S00483.fsecmds +++| SETCHAR(TTYLINE,TMP4,TMP5);
00587 M00S00484.fsecmds +++| TMP4=TMP4+1;
00588 M00S00485.fsecmds +++| END
00589 M00S00486.fsecmds +++| SETCHAR(TTYLINE,TMP4,CENDLINE);
00590 M00S00487.fsecmds +++| BAKZ; # RETURN TO CURRENT LINE #
00591 M00S00488.fsecmds +++| COPYLIN(TTYLIN,LIN);
00592 M00S00489.fsecmds +++| TRIMPAD;
00593 M00S00490.fsecmds +++| REPX; # SAVE ENLARGED LINE #
00594 M00S00491.fsecmds +++| FWDZ; # EXTRACT FROM NEXT LINE #
00595 M00S00492.fsecmds +++| GETCHAR(LINE,TMP1,TMP2);
00596 M00S00493.fsecmds +++| WHYLE TMP2 EQ CBLANK DO # KILL LEADER, WORD, TRAILER #
00597 M00S00494.fsecmds +++| BEGIN
00598 M00S00495.fsecmds +++| TMP1=TMP1+1;
00599 M00S00496.fsecmds +++| GETCHAR(LINE,TMP1,TMP2);
00600 M00S00497.fsecmds +++| END
00601 M00S00498.fsecmds +++| LSHIFT(LIN,TMP1,TMP1);
00602 M00S00499.fsecmds +++| TRIMPAD;
00603 M00S00500.fsecmds +++| IF LENGTH(LIN) EQ 0 THEN DELX; # DEL AND BACKUP IF EMPTIED #
00604 M00S00501.fsecmds +++| ELSE # UPDATE IF STILL EXIST #
00605 M00S00502.fsecmds +++| BEGIN
00606 M00S00503.fsecmds +++| REPX; # UPDATE REMAINDER OF NEXT LINE #
00607 M00S00504.fsecmds +++| BAKZ; # TO ORIG TO TRY ANOTHER WORD #
00608 M00S00505.fsecmds +++| END
00609 M00S00506.fsecmds +++| END
00610 M00S00507.fsecmds +++| # NOTE - IF NO-OP-ED, WE ARE ALREADY ADVANCED ONE LINE #
Line S00005 Modification History |
M01 (Added by) | ns2503 |
Seq # *Modification Id* Act
----------------------------+
00611 M01S00005.ns2503 +++| ELSE IF RIGHTJUST[0] THEN GOTO JUSTIFY;
00612 M00S00508.fsecmds +++| TEST FILLLOOP;
00613 M00S00509.fsecmds +++| END
00614 M00S00510.fsecmds +++|
Line S00006 Modification History |
M01 (Added by) | ns2503 |
Seq # *Modification Id* Act
----------------------------+
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
Line S00002 Modification History |
M01 (Added by) | fsecm3 |
Seq # *Modification Id* Act
----------------------------+
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
Line S00017 Modification History |
M01 (Added by) | ns2503 |
Seq # *Modification Id* Act
----------------------------+
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 M00S00511.fsecmds +++| END # OF LOOP #
00677 M00S00512.fsecmds +++|
00678 M00S00513.fsecmds +++| IF SCREENMODE THEN POSZ(REGLINE[RNGTOPREG]+1);
00679 M00S00514.fsecmds +++| ELSE
00680 M00S00515.fsecmds +++| BEGIN
00681 M00S00516.fsecmds +++| LINPTR1=REGLINE[RNGTOPREG]+1;
00682 M00S00517.fsecmds +++| LINPTR2=REGLINE[RNGBOTREG]-1;
00683 M00S00518.fsecmds +++| LIMIT=LARGENUM; EXECNDX=EXECST"TYPE";
00684 M00S00519.fsecmds +++| DORANGE;
00685 M00S00520.fsecmds +++| END
00686 M00S00521.fsecmds +++|
00687 M00S00522.fsecmds +++| END # OF DOFILL #
00688 M00S00523.fsecmds +++|PAGE # MAIN CODE FOR FSECMDS #
00689 M00S00524.fsecmds +++|
00690 M00S00525.fsecmds +++|
00691 M00S00526.fsecmds +++|PROC SNGLMOV;
00692 M00S00527.fsecmds +++| BEGIN
00693 M00S00528.fsecmds +++|#
00694 M00S00529.fsecmds +++|** SNGLMOV - COMMAND PROCESSOR FOR COPY AND MOVE.
00695 M00S00530.fsecmds +++|*
00696 M00S00531.fsecmds +++|* ENTRY COMMAND PROCESSOR HAS RECOGNIZED VERB.
00697 M00S00532.fsecmds +++|* TOKEN ADVANCED BUT NO OTHER SCANNING DONE.
00698 M00S00533.fsecmds +++|* TOKENTYPE, SCANPOS, TOKENPOS, ETC - AS ABOVE.
00699 M00S00534.fsecmds +++|* CURFILE, CURSPLIT, CURRENT - DEFAULT ADDRESS.
00700 M00S00535.fsecmds +++|* CHARRANGE - CHARACTER OR LINE RANGE BOUNDS.
00701 M00S00536.fsecmds +++|* SCREENMODE - FINAL POSITIONING/PRINTING.
00702 M00S00537.fsecmds +++|* WIDTH - THIS SETTING WILL BE IGNORED.
00703 M00S00538.fsecmds +++|* DONTPRINT - LINE MODE ECHO OF RESULTS.
00704 M00S00539.fsecmds +++|* BLANKS - THIS SETTING WILL BE IGNORED.
00705 M00S00540.fsecmds +++|*
00706 M00S00541.fsecmds +++|* EXIT CURFILE, CURRENT - FINAL RESTING PLACE.
00707 M00S00542.fsecmds +++|* (ANOTHER FILE MAY HAVE BEEN OPENED)
00708 M00S00543.fsecmds +++|* SMALLFIELD - TRUE.
00709 M00S00544.fsecmds +++|*
00710 M00S00545.fsecmds +++|* CALLS FLDLEN, SCANNER, FITNUM, MAKEFET, REWIND, RETERN,
00711 M00S00546.fsecmds +++|* PUSH, DORANGE, SPLICE, POP, WRITER, READ, TABFN,
00712 M00S00547.fsecmds +++|* DOSPLIT, BAKZ, XFRCMIN, SQUELCH, TRIMPAD, SETLNUM,
00713 M00S00548.fsecmds +++|* INSX, DOJOIN, POSZ, VFYLOCK.
00714 M00S00549.fsecmds +++|*
00715 M00S00550.fsecmds +++|* USES LINPTR1-3, CHRPTR1-3, FILPTR1-3, LINNUM1-3,
00716 M00S00551.fsecmds +++|* LINCTR, LIMIT, MOVEFET, FILEBUF.
00717 M00S00552.fsecmds +++|*
00718 M00S00553.fsecmds +++|* NOTE USES THEN RESTORES - LINENO.
00719 M00S00554.fsecmds +++|#
00720 M00S00555.fsecmds +++| ITEM LEN;
00721 M00S00556.fsecmds +++|
00722 M00S00557.fsecmds +++| SCANNER;
00723 M00S00558.fsecmds +++| IF FIELDTARGET NQ 0 THEN CHRPTR3=NUMWIDBLK+TABFN(FIELDTARGET-1);
00724 M00S00559.fsecmds +++|
Line S00560 Modification History |
M01 (Removed by) | ns2470 |
Seq # *Modification Id* Act
----------------------------+
00725 M01S00560.ns2470 ---| IF EXECNDX EQ EXECST"MOVE" THEN VFYLOCK;
Line S00001 Modification History |
M01 (Added by) | ns2470 |
Seq # *Modification Id* Act
----------------------------+
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 M00S00561.fsecmds +++| CURFILE = = FILPTR3;
00732 M00S00562.fsecmds +++| VFYLOCK;
00733 M00S00563.fsecmds +++| CURFILE = = FILPTR3;
00734 M00S00564.fsecmds +++|
00735 M00S00565.fsecmds +++| IF NUMBERED[FILPTR3] NQ 0 AND CHARRANGE AND LINPTR1 NQ LINPTR2
00736 M00S00566.fsecmds +++| AND LIMIT GR 1
00737 M00S00567.fsecmds +++| THEN ERRJUMP("FILE MUST NOT CONTAIN SEQUENCE NUMBERS$");
00738 M00S00568.fsecmds +++|
00739 M00S00569.fsecmds +++| CURFILE = = FILPTR3;
00740 M00S00570.fsecmds +++| POSZ(LINPTR3); # GET FAMILIAR WITH TARGET #
00741 M00S00571.fsecmds +++| FITNUM; # ASSURE NUMBERED MODE IS OK #
00742 M00S00572.fsecmds +++| CURFILE = = FILPTR3;
00743 M00S00573.fsecmds +++|
00744 M00S00574.fsecmds +++| IF CHARRANGE AND LINPTR1 EQ LINPTR2 AND LINPTR1 EQ LINPTR3 THEN
00745 M00S00575.fsecmds +++| BEGIN # PHRASE WITHIN LINE #
00746 M00S00576.fsecmds +++| POSZ(LINPTR1);
Line S00002 Modification History |
M01 (Added by) | ns2226 |
Seq # *Modification Id* Act
----------------------------+
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 M00S00577.fsecmds +++| COPYLIN(LIN,TTYLIN);
Line S00007 Modification History |
M01 (Added by) | ns2226 |
Seq # *Modification Id* Act
----------------------------+
00753 M01S00007.ns2226 +++| CHRPTR1=MIN(CHRPTR1,LENGTH(LIN)-1);
00754 M01S00008.ns2226 +++| CHRPTR2=MIN(CHRPTR2,LENGTH(LIN)-1);
00755 M00S00578.fsecmds +++| LEN=CHRPTR2-CHRPTR1+1;
00756 M00S00579.fsecmds +++| RSHIFT(LIN,CHRPTR3,LEN);
00757 M00S00580.fsecmds +++| FOR LINCTR=0 STEP 1 UNTIL LEN-1 DO
00758 M00S00581.fsecmds +++| BEGIN
00759 M00S00582.fsecmds +++| GETCHAR(TTYLINE,CHRPTR1+LINCTR,LINPTR2);
00760 M00S00583.fsecmds +++| IF CHRPTR3+LINCTR LQ BUFCM1
00761 M00S00584.fsecmds +++| THEN SETCHAR(LINE,CHRPTR3+LINCTR,LINPTR2);
00762 M00S00585.fsecmds +++| END
Line S00001 Modification History |
M01 (Added by) | ns2174 |
Seq # *Modification Id* Act
----------------------------+
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 M00S00586.fsecmds +++| SETCHAR(LINE,BUFCHAR,CENDLINE);
00768 M00S00587.fsecmds +++| NEWCURSOR=CHRPTR3;
00769 M00S00588.fsecmds +++| IF FILCMDNDX EQ FILCMDST"MOVE" THEN
00770 M00S00589.fsecmds +++| BEGIN
00771 M00S00590.fsecmds +++| IF CHRPTR3 LS CHRPTR1 THEN CHRPTR2=CHRPTR2+LEN;
00772 M00S00591.fsecmds +++| ELSE IF CHRPTR3 GR CHRPTR2 THEN NEWCURSOR=CHRPTR3-LEN;
00773 M00S00592.fsecmds +++| ELSE NEWCURSOR=CHRPTR1;
00774 M00S00593.fsecmds +++| LSHIFT(LIN,CHRPTR2+1,LEN);
00775 M00S00594.fsecmds +++| END
00776 M00S00595.fsecmds +++| TRIMPAD;
00777 M00S00596.fsecmds +++| REPX;
Line S00001 Modification History |
M01 (Added by) | fsecm5 |
Seq # *Modification Id* Act
----------------------------+
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 M00S00597.fsecmds +++| IF NOT (SCREENMODE OR DONTPRINT) THEN PRINTL;
00790 M00S00598.fsecmds +++| RETURN;
00791 M00S00599.fsecmds +++| END
00792 M00S00600.fsecmds +++|
00793 M00S00601.fsecmds +++| FLDLEN(LOC(MAXADDR)+4);
00794 M00S00602.fsecmds +++| SMALLFIELD=FALSE;
00795 M00S00603.fsecmds +++|
00796 M00S00604.fsecmds +++| MAKEFET(MOVEFET,"ZZZMOVE",FILEBUF,INIDSKSIZ);
00797 M00S00605.fsecmds +++| REWIND(MOVEFET,1);
00798 M00S00606.fsecmds +++|
00799 M00S00607.fsecmds +++| SAVLINENO=LINENO;
00800 M00S00608.fsecmds +++| PUSH; # SAVE TARGET ADDRESS #
00801 M00S00609.fsecmds +++|
00802 M00S00610.fsecmds +++| IF FILCMDNDX EQ FILCMDST"MOVE" AND CHARRANGE THEN
00803 M00S00611.fsecmds +++| BEGIN
00804 M00S00612.fsecmds +++| IF LINPTR2 EQ LINPTR3
00805 M00S00613.fsecmds +++| THEN CHRPTR3=MAX(0,CHRPTR3-(CHRPTR2-CHRPTR1+1));
00806 M00S00614.fsecmds +++| DORANGE; # COPY RANGE TO ZZZMOVE #
00807 M00S00615.fsecmds +++| IF FOUND THEN SPLICE; # CLOSE BOUNDARIES TOGETHER #
00808 M00S00616.fsecmds +++| END
00809 M00S00617.fsecmds +++| ELSE DORANGE; # COPY RANGE TO ZZZMOVE #
00810 M00S00618.fsecmds +++|
00811 M00S00619.fsecmds +++| POP; # TO TARGET AREA #
00812 M00S00620.fsecmds +++| LINENO=SAVLINENO;
00813 M00S00621.fsecmds +++|
00814 M00S00622.fsecmds +++| WRITER(MOVEFET,1);
00815 M00S00623.fsecmds +++| REWIND(MOVEFET,1);
00816 M00S00624.fsecmds +++| IF NOT FOUND THEN RETURN;
00817 M00S00625.fsecmds +++| KILLUPLOW=FALSE;
00818 M00S00626.fsecmds +++| IF CURFILE NQ FILPTR3 AND ASCII[CURFILE] GQ 2 AND
00819 M00S00627.fsecmds +++| ASCII[FILPTR3] LQ 1 THEN
00820 M00S00628.fsecmds +++| BEGIN
00821 M00S00629.fsecmds +++| # IF CHARACTER SETS ARE INCOMPATIBLE, CHANGE CHARSET OF EMPTY #
00822 M00S00630.fsecmds +++| # TARGET FILE, OR FLAG CASE SUPPRESSION #
00823 M00S00631.fsecmds +++| IF BOTF(FILPTR3)-TOPF(FILPTR3)-1 EQ THISEXTEND
00824 M00S00632.fsecmds +++| AND ASCII[FILPTR3] EQ 0
00825 M00S00633.fsecmds +++| THEN ASCII[FILPTR3]=ASCII[CURFILE];
00826 M00S00634.fsecmds +++| ELSE KILLUPLOW=TRUE;
00827 M00S00635.fsecmds +++| END
00828 M00S00636.fsecmds +++| CURFILE=FILPTR3;
00829 M00S00637.fsecmds +++| READ(MOVEFET,0); # START FEEDING BUFFER #
00830 M00S00638.fsecmds +++|
00831 M00S00639.fsecmds +++| NUMWIDBLK=0;
00832 M00S00640.fsecmds +++| IF NUMBERED[CURFILE] NQ 0 THEN NUMWIDBLK=NUMWIDTH+BLANKS;
00833 M00S00641.fsecmds +++| SAVBLANKS=BLANKS;
00834 M00S00642.fsecmds +++| BLANKS=0;
00835 M00S00643.fsecmds +++| LINPTR3=CURRENT+1; # TAKE NOTE OF RELOCATED TARGET #
Line S00001 Modification History |
M01 (Added by) | fsecm4 |
Seq # *Modification Id* Act
----------------------------+
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 M00S00644.fsecmds +++| IF CHARRANGE OR FIELDTARGET NQ 0 THEN
Line S00645 Modification History |
M01 (Removed by) | ns2226 |
Seq # *Modification Id* Act
----------------------------+
00842 M01S00645.ns2226 ---| BEGIN # FIRST SEGMENT INTO MIDDLE OF LINE #
00843 M01S00646.ns2226 ---| DOSPLIT; # SPLIT TARGET AT CHRPTR3 #
Line S00009 Modification History |
M01 (Added by) | ns2226 |
Seq # *Modification Id* Act
----------------------------+
00844 M01S00009.ns2226 +++| BEGIN # FIRST SEGMENT INTO MIDDLE OF LINE #
00845 M01S00010.ns2226 +++| DOSPLIT(0); # SPLIT TARGET AT CHRPTR3 #
00846 M00S00647.fsecmds +++| BAKZ; # INSERTION AFTER FIRST HALF #
00847 M00S00648.fsecmds +++| LINPTR3=CURRENT;
00848 M00S00649.fsecmds +++| END
00849 M00S00650.fsecmds +++| FOR LINCTR=1 STEP 1 WHILE LINCTR LQ LCOUNT
00850 M00S00651.fsecmds +++| AND NOT (CANINTER AND USRBRK NQ 0) DO
00851 M00S00652.fsecmds +++| BEGIN
00852 M00S00653.fsecmds +++| IF USRBRK NQ 0 THEN DONTPRINT=TRUE;
00853 M00S00654.fsecmds +++| XFRCMIN;
00854 M00S00655.fsecmds +++| IF KILLUPLOW THEN SQUELCH(LIN);
Line S00005 Modification History |
M01 (Added by) | ns2174 |
M02 (Removed by) | ns2226 |
Seq # *Modification Id* Act
----------------------------+
00855 M02S00005.ns2226 ---| SETCHAR(LINE,EDITFIELD,CENDLINE); # CLEAR TO END OF LINE #
Line S00656 Modification History |
M01 (Removed by) | ns2226 |
Seq # *Modification Id* Act
----------------------------+
00856 M01S00656.ns2226 ---| TRIMPAD;
Line S00011 Modification History |
M01 (Added by) | ns2226 |
Seq # *Modification Id* Act
----------------------------+
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 M00S00657.fsecmds +++| LINENO=LINENO+INCR;
00863 M00S00658.fsecmds +++| SETLNUM;
00864 M00S00659.fsecmds +++| INSX;
00865 M00S00660.fsecmds +++| IF NOT (DONTPRINT OR SCREENMODE) THEN PRINTL;
00866 M00S00661.fsecmds +++| END
00867 M00S00662.fsecmds +++| IF CHARRANGE OR FIELDTARGET NQ 0 THEN
00868 M00S00663.fsecmds +++| BEGIN
Line S00012 Modification History |
M01 (Added by) | fsecm5 |
Seq # *Modification Id* Act
----------------------------+
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 M00S00664.fsecmds +++| CHRPTR3 == ZERO; # ASSURE NO EXTENSION IN MERGES #
Line S00665 Modification History |
M01 (Removed by) | ns2571 |
Seq # *Modification Id* Act
----------------------------+
00885 M01S00665.ns2571 ---| DOJOIN; # MERGE LAST INSERT WITH TRAILER #
Line S00001 Modification History |
M01 (Added by) | ns2571 |
Seq # *Modification Id* Act
----------------------------+
00886 M01S00001.ns2571 +++| DOJOIN(0); # MERGE LAST INSERT WITH TRAILER #
00887 M00S00666.fsecmds +++| CHRPTR3 == ZERO; # RESTORE TARGET CHARACTER ADDRESS #
00888 M00S00667.fsecmds +++| PUSH;
00889 M00S00668.fsecmds +++| POSZ(LINPTR3);
Line S00669 Modification History |
M01 (Removed by) | ns2571 |
Seq # *Modification Id* Act
----------------------------+
00890 M01S00669.ns2571 ---| DOJOIN; # MERGE LEADER WITH FIRST INSERT #
Line S00002 Modification History |
M01 (Added by) | ns2571 |
Seq # *Modification Id* Act
----------------------------+
00891 M01S00002.ns2571 +++| DOJOIN(0); # MERGE LEADER WITH FIRST INSERT #
00892 M00S00670.fsecmds +++| POP;
Line S00001 Modification History |
M01 (Added by) | ns2608 |
Seq # *Modification Id* Act
----------------------------+
00893 M01S00001.ns2608 +++| NEWCURSOR = CHRPTR3;
00894 M00S00671.fsecmds +++| END
00895 M00S00672.fsecmds +++| IF SCREENMODE THEN POSZ(LINPTR3); # POSITION TO TOP OF BLOCK #
00896 M00S00673.fsecmds +++| BLANKS=SAVBLANKS;
00897 M00S00674.fsecmds +++|
00898 M00S00675.fsecmds +++| RETERN(MOVEFET,1);
00899 M00S00676.fsecmds +++| FLDLEN(LOC(WORKBUF)+DSKSIZ+4);
00900 M00S00677.fsecmds +++| SMALLFIELD=TRUE;
00901 M00S00678.fsecmds +++|
00902 M00S00679.fsecmds +++| END # OF SNGLMOV #
00903 M00S00680.fsecmds +++|
00904 M00S00681.fsecmds +++|
00905 M00S00682.fsecmds +++|PROC HELPCMD;
00906 M00S00683.fsecmds +++| BEGIN
00907 M00S00684.fsecmds +++|#
00908 M00S00685.fsecmds +++|** HELPCMD - COMMAND PROCESSOR FOR HELP FACILITY.
00909 M00S00686.fsecmds +++|*
00910 M00S00687.fsecmds +++|* ENTRY PROCESSNDX - INDICATES HELP OR TEACH COMMAND.
00911 M00S00688.fsecmds +++|* NO SCANNING BEYOND COMMAND VERB YET.
00912 M00S00689.fsecmds +++|* TOKEN CALLED TO PREPARE NEXT SCAN.
00913 M00S00690.fsecmds +++|* SCANPOS, TOKENPOS, TOKENTYPE, ETC - AS ABOVE.
00914 M00S00691.fsecmds +++|* SCREENMODE - PRINTING/POSITIONING MODE.
00915 M00S00692.fsecmds +++|*
00916 M00S00693.fsecmds +++|* EXIT HELP FILE BECOMES CURRENT FILE.
00917 M00S00694.fsecmds +++|* CURRENT, CURFILE, CURSPLIT - AS ABOVE.
00918 M00S00695.fsecmds +++|*
00919 M00S00696.fsecmds +++|* MACROS SETCHAR.
00920 M00S00697.fsecmds +++|*
00921 M00S00698.fsecmds +++|* CALLS MAKEFET, GET, ATTACH, OPENFILE, SCNEQNAME, SCNEOC,
00922 M00S00699.fsecmds +++|* DORANGE, POSZ, SETUPSCREEN, HALT.
00923 M00S00700.fsecmds +++|*
00924 M00S00701.fsecmds +++|* USES LINPTR1-3, LINNUM1-3, FILPTR1-3, CHRPTR1-3,
00925 M00S00702.fsecmds +++|* PFMFET, FILEBUF, READNAM, FILNUM, CHARPARM, GETPARM,
00926 M00S00703.fsecmds +++|* LOCSTRING1, EXECNDX, WORDSEARCH, ELLIPSIS, DONTPRINT,
00927 M00S00704.fsecmds +++|* UPPERSEARCH, FOUND.
00928 M00S00705.fsecmds +++|#
00929 M00S00706.fsecmds +++|
00930 M00S00707.fsecmds +++| READNAM="FSEHELP";
00931 M00S00708.fsecmds +++| IF PROCESSNDX EQ KEYST"TCMD" THEN READNAM="FSTEACH";
00932 M00S00709.fsecmds +++|
00933 M00S00710.fsecmds +++| IF NOT ASSGNFILE(READNAM) THEN
00934 M00S00711.fsecmds +++| BEGIN
00935 M00S00712.fsecmds +++| IF READNAM EQ "FSEHELP" THEN
00936 M00S00713.fsecmds +++| BEGIN
00937 M00S00714.fsecmds +++| PF("ATTACH",READNAM,READNAM,"RC",PFMERROR,"M","R","UN",
Line S00715 Modification History |
M01 (Removed by) | ns2189 |
Seq # *Modification Id* Act
----------------------------+
00938 M01S00715.ns2189 ---| HELPUSERNUM,"NA","YES",0);
Line S00001 Modification History |
M01 (Added by) | ns2189 |
M02 (Removed by) | ns2247 |
Seq # *Modification Id* Act
----------------------------+
00939 M02S00001.ns2247 ---| HELPUSERNUM,"NA","YES","SR","NF",0);
Line S00001 Modification History |
M01 (Added by) | ns2247 |
Seq # *Modification Id* Act
----------------------------+
00940 M01S00001.ns2247 +++| HELPUSERNUM,"NA","YES","SR","NF","PN","0",0);
00941 M00S00716.fsecmds +++| END
00942 M00S00717.fsecmds +++| ELSE
00943 M00S00718.fsecmds +++| BEGIN
Line S00719 Modification History |
M01 (Removed by) | ns2247 |
Seq # *Modification Id* Act
----------------------------+
00944 M01S00719.ns2247 ---| PF("GET",READNAM,READNAM,"RC",PFMERROR,"UN",HELPUSERNUM,0);
Line S00002 Modification History |
M01 (Added by) | ns2247 |
M02 (Removed by) | fsecm2 |
Seq # *Modification Id* Act
----------------------------+
00945 M02S00002.fsecm2 ---| PF("GET",READNAM,READNAM,"RC",PFMERROR,"UN",HELPUSERNUM,
00946 M02S00003.fsecm2 ---| "PN","0",0);
Line S00001 Modification History |
M01 (Added by) | fsecm2 |
Seq # *Modification Id* Act
----------------------------+
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 M00S00720.fsecmds +++| END
00958 M00S00721.fsecmds +++| END
00959 M00S00722.fsecmds +++|
00960 M00S00723.fsecmds +++| FILNUM=CURFILE;
00961 M00S00724.fsecmds +++| IF FILENAM[FILNUM] NQ READNAM THEN
00962 M00S00725.fsecmds +++| BEGIN
00963 M00S00726.fsecmds +++| FILNUM=1;
Line S00727 Modification History |
M01 (Removed by) | ns2391 |
Seq # *Modification Id* Act
----------------------------+
00964 M01S00727.ns2391 ---| IF SCREENMODE AND PROCESSNDX EQ KEYST"HCMD" THEN FILNUM=2;
Line S00001 Modification History |
M01 (Added by) | ns2391 |
Seq # *Modification Id* Act
----------------------------+
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 M00S00728.fsecmds +++| CHARPARM=2;
00975 M00S00729.fsecmds +++| GETPARM=0;
00976 M00S00730.fsecmds +++| OPENFILE;
00977 M00S00731.fsecmds +++| END
00978 M00S00732.fsecmds +++| POSZ(TOPF(FILNUM)+1); # DEFAULT TO TOP OF FILE #
00979 M00S00733.fsecmds +++| IF SYNTAXCHAR[TOKENCHAR] THEN
00980 M00S00734.fsecmds +++| BEGIN # TOPIC SEARCH RATHER THAN DEFAULT #
Line S00735 Modification History |
M01 (Removed by) | ns2503 |
Seq # *Modification Id* Act
----------------------------+
00981 M01S00735.ns2503 ---| SCNEQNAM(READNAM);
00982 M01S00736.ns2503 ---| SCNEOC;
00983 M01S00737.ns2503 ---| SETCHAR(LOCSTR1,0,CLPAREN);
00984 M01S00738.ns2503 ---| LINPTR2=B<0,6>READNAM;
00985 M01S00739.ns2503 ---| FOR LINPTR1=0 STEP 1 WHILE LINPTR1 LQ 6 AND
00986 M01S00740.ns2503 ---| LINPTR2 NQ " " DO
00987 M01S00741.ns2503 ---| BEGIN
00988 M01S00742.ns2503 ---| SETCHAR(LOCSTR1,LINPTR1+1,LINPTR2);
00989 M01S00743.ns2503 ---| LINPTR2=B<6*LINPTR1+6,6>READNAM;
00990 M01S00744.ns2503 ---| END
00991 M01S00745.ns2503 ---| SETCHAR(LOCSTR1,LINPTR1+1,CRPAREN);
Line S00062 Modification History |
M01 (Added by) | ns2503 |
Seq # *Modification Id* Act
----------------------------+
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 M00S00746.fsecmds +++| SETCHAR(LOCSTR1,LINPTR1+2,CENDLINE);
01018 M00S00747.fsecmds +++| LOCSTRLEN1=LINPTR1+2;
01019 M00S00748.fsecmds +++| LINPTR1=CURRENT;
01020 M00S00749.fsecmds +++| LINPTR3=CURRENT;
01021 M00S00750.fsecmds +++| LINPTR2=BOTF(FILNUM)-1;
01022 M00S00751.fsecmds +++| LIMIT=1;
01023 M00S00752.fsecmds +++| EXECNDX=EXECST"LOCATE";
01024 M00S00753.fsecmds +++| WORDSEARCH=FALSE; ELLIPSIS=FALSE; DONTPRINT=TRUE;
01025 M00S00754.fsecmds +++| UPPERSEARCH=FALSE; CHRPTR1=0; CHRPTR2=BUFCM1;
01026 M00S00755.fsecmds +++| DORANGE; # SEARCH FOR (KEYWORD) #
01027 M00S00756.fsecmds +++| IF NOT FOUND THEN POSZ(LINPTR3);
01028 M00S00757.fsecmds +++| FOUND=TRUE;
01029 M00S00758.fsecmds +++| END
01030 M00S00759.fsecmds +++| IF NOT SCREENMODE THEN
01031 M00S00760.fsecmds +++| BEGIN
01032 M00S00761.fsecmds +++| LINPTR1=CURRENT;
01033 M00S00762.fsecmds +++| LINPTR2=BOTF(FILNUM)-1;
Line S00763 Modification History |
M01 (Removed by) | ns2238 |
Seq # *Modification Id* Act
----------------------------+
01034 M01S00763.ns2238 ---| LIMIT=GROUPSIZ;
Line S00001 Modification History |
M01 (Added by) | ns2238 |
Seq # *Modification Id* Act
----------------------------+
01035 M01S00001.ns2238 +++| LIMIT=HELPSIZE; # HELP FILE LINES TO DISPLAY #
01036 M00S00764.fsecmds +++| EXECNDX=EXECST"TYPE";
01037 M00S00765.fsecmds +++| DONTPRINT=FALSE;
01038 M00S00766.fsecmds +++| DORANGE;
01039 M00S00767.fsecmds +++| END
01040 M00S00768.fsecmds +++| IF FILNUM EQ 2 THEN
01041 M00S00769.fsecmds +++| BEGIN
01042 M00S00770.fsecmds +++| IF SPLITFILE[2] NQ 2 THEN SETUPSCREEN(1,2,USRSPLTSZ);
01043 M00S00771.fsecmds +++| END
01044 M00S00772.fsecmds +++|
01045 M00S00773.fsecmds +++|
01046 M00S00774.fsecmds +++| END # OF HELPCMD #
01047 M00S00775.fsecmds +++|
01048 M00S00776.fsecmds +++|
01049 M00S00777.fsecmds +++|PROC GETSTATUS;
01050 M00S00778.fsecmds +++| BEGIN
01051 M00S00779.fsecmds +++|#
01052 M00S00780.fsecmds +++|** GETSTATUS - COMMAND PROCESSOR FOR GET STATUS SUBCOMMAND.
01053 M00S00781.fsecmds +++|*
01054 M00S00782.fsecmds +++|* ENTRY COMMAND FULLY SCANNED EXCEPT TERMINATOR VERIFY.
01055 M00S00783.fsecmds +++|* ONE OR BOTH FILE BRACKETS OPENED SOMEWHERE.
01056 M00S00784.fsecmds +++|*
01057 M00S00785.fsecmds +++|* EXIT SCREENMODE SCHEDULED FOR TOTAL REPAINT.
01058 M00S00786.fsecmds +++|* COMMAND TERMINATOR SCANNED.
01059 M00S00787.fsecmds +++|* OPEN FILES UPDATED INTO DIRECTORY. (SIDE EFFECT)
01060 M00S00788.fsecmds +++|*
01061 M00S00789.fsecmds +++|* CALLS SCNEOC, BGNDSPLAY, TTSTR, EOLDSPLAY, PUSH,
01062 M00S00790.fsecmds +++|* PADNAME, CLOSEFILE, POSZ, SCANFDL, TTST, FWDZ, POP,
01063 M00S00791.fsecmds +++|* TTDEC, TTCHAR, ENDDSPLAY, TABFN.
01064 M00S00792.fsecmds +++|*
01065 M00S00793.fsecmds +++|* USES FILNUM, READNAM, LINPTR1, LINCTR.
01066 M00S00794.fsecmds +++|*
01067 M00S00795.fsecmds +++|* NOTE -
01068 M00S00796.fsecmds +++|*
01069 M00S00797.fsecmds +++|* THIS BLOCK OF CODE IS SUBJECT TO CERTAIN RESTRICTIONS IN
01070 M00S00798.fsecmds +++|* ORDER TO DRIVE THE TERMINAL IN BOTH LINE MODE AND SCREEN
01071 M00S00799.fsecmds +++|* MODE. TTLIN CANNOT BE USED. THE ONLY ALLOWABLE WAY TO
01072 M00S00800.fsecmds +++|* ADVANCE TO A NEW LINE OF OUTPUT IS TO CALL EOLDSPLAY AS
01073 M00S00801.fsecmds +++|* A LOGICAL REPLACEMENT FOR TTBRK. EOLDSPLAY WILL IN TURN
01074 M00S00802.fsecmds +++|* USE EITHER TTBRK (FOR LINE MODE) OR VDTPOS (SCREEN MODE)
01075 M00S00803.fsecmds +++|* TO CONTROL THE OUTPUT DEVICE. BGNDSPLAY IS USED TO INIT
01076 M00S00804.fsecmds +++|* THE DISPLAY AND ENDDSPLAY CLEANS UP AFTERWARD. EOLDSPLAY
01077 M00S00805.fsecmds +++|* INCLUDES SCREEN-OVERFLOW LOGIC.
01078 M00S00806.fsecmds +++|#
01079 M00S00807.fsecmds +++| ITEM TMP1, TMP2, TMP3, TMP4, TMP5;
01080 M00S00808.fsecmds +++| BASED ARRAY KEYLIN[0:99]; ITEM KEYLINE;
01081 M00S00809.fsecmds +++|
01082 M00S00810.fsecmds +++|
01083 M00S00811.fsecmds +++| PROC DSPLFKEY(WHICH);
01084 M00S00812.fsecmds +++| BEGIN
01085 M00S00813.fsecmds +++| ITEM WHICH;
01086 M00S00814.fsecmds +++| ITEM TMP1, TMP2;
01087 M00S00815.fsecmds +++| P<KEYLIN>=LOC(FKEYSTRING[WHICH]);
01088 M00S00816.fsecmds +++| IF WHICH LS 0 THEN TTSTR(" SHIFT F$");
01089 M00S00817.fsecmds +++| ELSE TTSTR(" F$");
01090 M00S00818.fsecmds +++| TTDEC(ABS(WHICH));
01091 M00S00819.fsecmds +++| IF ABS(WHICH) LS 10 THEN TTSTR(" $");
01092 M00S00820.fsecmds +++| TTSTR(" $");
01093 M00S00821.fsecmds +++| TTST(FKEYNAME[WHICH],6);
01094 M00S00822.fsecmds +++| TTSTR(" $");
01095 M00S00823.fsecmds +++| FOR TMP1=0 STEP 1 UNTIL 15 DO
01096 M00S00824.fsecmds +++| BEGIN
01097 M00S00825.fsecmds +++| IF TMP1 LS LENGTH(KEYLIN) THEN
01098 M00S00826.fsecmds +++| BEGIN
01099 M00S00827.fsecmds +++| GETCHAR(KEYLINE,TMP1,TMP2);
01100 M00S00828.fsecmds +++| TMP2=XLTINTDSP[TMP2];
01101 M00S00829.fsecmds +++| C<0,1>TMP2=C<9,1>TMP2;
01102 M00S00830.fsecmds +++| TTST(TMP2,1);
01103 M00S00831.fsecmds +++| END
01104 M00S00832.fsecmds +++| ELSE TTSTR(" $");
01105 M00S00833.fsecmds +++| END
01106 M00S00834.fsecmds +++| END # OF DSPLFKEY #
01107 M00S00835.fsecmds +++|
01108 M00S00836.fsecmds +++|
01109 M00S00837.fsecmds +++| # ACTUAL GETSTATUS CODE STARTS HERE #
01110 M00S00838.fsecmds +++|
01111 M00S00839.fsecmds +++| SCNEOC;
01112 M00S00840.fsecmds +++| BGNDSPLAY;
Line S00841 Modification History |
M01 (Removed by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
01113 M01S00841.ns2404 ---| TTSTR("EDITOR STATUS INFORMATION:$");
Line S00072 Modification History |
M01 (Added by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
01114 M01S00072.ns2404 +++| TTSTR(" $");
01115 M01S00073.ns2404 +++| TTSTR(" EDITOR STATUS INFORMATION:$");
01116 M00S00842.fsecmds +++| EOLDSPLAY;
01117 M00S00843.fsecmds +++| EOLDSPLAY;
Line S00844 Modification History |
M01 (Removed by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
01118 M01S00844.ns2404 ---| TTSTR("FILES: NAME LOCK CHANGE CHARSET$");
01119 M01S00845.ns2404 ---| TTSTR(" NUMBERED SIZE POSITION$");
Line S00074 Modification History |
M01 (Added by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
01120 M01S00074.ns2404 +++| TTSTR(" FILES: NAME LOCK CHANGE $");
01121 M01S00075.ns2404 +++| TTSTR("CHARSET NUMBERED SIZE POSITION$");
01122 M00S00846.fsecmds +++| EOLDSPLAY;
01123 M00S00847.fsecmds +++| PUSH;
01124 M00S00848.fsecmds +++| FOR FILNUM=1 STEP 1 UNTIL 2 DO
01125 M00S00849.fsecmds +++| BEGIN
01126 M00S00850.fsecmds +++| IF PADNAME(FILENAM[FILNUM]) NQ " " THEN CLOSEFILE;
01127 M00S00851.fsecmds +++| END
01128 M00S00852.fsecmds +++| POSZ(TOPC(FILECTL)+1);
01129 M00S00853.fsecmds +++| WHYLE CURRENT LS BOTC(FILECTL) DO
01130 M00S00854.fsecmds +++| BEGIN
01131 M00S00855.fsecmds +++| SCANFDL(READNAM);
01132 M00S00856.fsecmds +++| IF READNAM NQ "ZZZNULL" THEN
01133 M00S00857.fsecmds +++| BEGIN
Line S00858 Modification History |
M01 (Removed by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
01134 M01S00858.ns2404 ---| IF CURRENT EQ FDLF(CURFILE) THEN TTSTR("(CURRENT) $");
01135 M01S00859.ns2404 ---| ELSE TTSTR(" $");
Line S00076 Modification History |
M01 (Added by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
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 M00S00860.fsecmds +++| FOR FILNUM=0 STEP 1 UNTIL 6 DO TTST(C<FILNUM,1>READNAM,1);
01145 M00S00861.fsecmds +++| TTST(YESORNO[SCNFDLOCK],7);
01146 M00S00862.fsecmds +++| TTST(YESORNO[SCNFDCHNG],7);
01147 M00S00863.fsecmds +++| TTST(CHARTYPE[SCNFDASCI],7);
01148 M00S00864.fsecmds +++| TTST(YESORNO[SCNFDNUMB],7);
01149 M00S00865.fsecmds +++| TTLPAD(SCNFDSIZE,7," ");
01150 M00S00866.fsecmds +++| TTLPAD(SCNFDCURF,7," ");
01151 M00S00867.fsecmds +++| EOLDSPLAY;
01152 M00S00868.fsecmds +++| END
01153 M00S00869.fsecmds +++| FWDZ;
01154 M00S00870.fsecmds +++| END
01155 M00S00871.fsecmds +++| POP;
01156 M00S00872.fsecmds +++| EOLDSPLAY;
Line S00001 Modification History |
M01 (Added by) | ns2688 |
Seq # *Modification Id* Act
----------------------------+
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 (Removed by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
01162 M01S00873.ns2404 ---| TTSTR("TAB COLUMNS: $");
Line S00084 Modification History |
M01 (Added by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
01163 M01S00084.ns2404 +++| TTSTR(" TAB COLUMNS: $");
01164 M00S00874.fsecmds +++| LINPTR1=TABFN(1);
Line S00875 Modification History |
M01 (Removed by) | ns2129 |
Seq # *Modification Id* Act
----------------------------+
01165 M01S00875.ns2129 ---| FOR LINCTR=1 STEP 1 WHILE LINCTR LQ 13 AND LINPTR1 NQ 0 DO
Line S00001 Modification History |
M01 (Added by) | ns2129 |
Seq # *Modification Id* Act
----------------------------+
01166 M01S00001.ns2129 +++| FOR LINCTR=1 STEP 1 WHILE LINCTR LQ USERTABS AND LINPTR1 NQ 0 DO
01167 M00S00876.fsecmds +++| BEGIN
01168 M00S00877.fsecmds +++| TTDEC(LINPTR1+1); TTSTR(" $");
01169 M00S00878.fsecmds +++| LINPTR1=TABFN(LINCTR+1);
01170 M00S00879.fsecmds +++| END
Line S00880 Modification History |
M01 (Removed by) | ns2449 |
Seq # *Modification Id* Act
----------------------------+
01171 M01S00880.ns2449 ---| EOLDSPLAY;
Line S00881 Modification History |
M01 (Removed by) | ns2404 |
M02 (Removed by) | ns2449 |
Seq # *Modification Id* Act
----------------------------+
01172 M02S00881.ns2449 ---| TTCHAR(TABCHAR,"TAB CHARACTER: $");
Line S00085 Modification History |
M01 (Added by) | ns2404 |
M02 (Removed by) | ns2449 |
Seq # *Modification Id* Act
----------------------------+
01173 M02S00085.ns2449 ---| TTCHAR(TABCHAR," TAB CHARACTER: $");
Line S00882 Modification History |
M01 (Removed by) | fsecm1 |
M02 (Removed by) | ns2449 |
Seq # *Modification Id* Act
----------------------------+
01174 M02S00882.ns2449 ---| EOLDSPLAY;
01175 M02S00883.ns2449 ---| TTSTR("LINE WIDTH FOR WARNING: $");
Line S00001 Modification History |
M01 (Added by) | fsecm1 |
M02 (Removed by) | ns2449 |
Seq # *Modification Id* Act
----------------------------+
01176 M02S00001.ns2449 ---| TTSTR(" $");
01177 M02S00002.ns2449 ---| TTSTR("WARNING WIDTH: $");
Line S00884 Modification History |
M01 (Removed by) | ns2449 |
Seq # *Modification Id* Act
----------------------------+
01178 M01S00884.ns2449 ---| TTDEC(WIDTH);
Line S00003 Modification History |
M01 (Added by) | fsecm1 |
M02 (Removed by) | ns2449 |
Seq # *Modification Id* Act
----------------------------+
01179 M02S00003.ns2449 ---| TTSTR(" $");
01180 M02S00004.ns2449 ---| TTSTR("PARAGRAPH MARGINS: $");
01181 M02S00005.ns2449 ---| TTDEC(FILLLEFT+1);
01182 M02S00006.ns2449 ---| TTSTR(" $");
01183 M02S00007.ns2449 ---| TTDEC(FILLRIGHT+1);
01184 M02S00008.ns2449 ---| TTSTR(" $");
01185 M02S00009.ns2449 ---| TTDEC(FILLFIRST+1);
Line S00885 Modification History |
M01 (Removed by) | ns2449 |
Seq # *Modification Id* Act
----------------------------+
01186 M01S00885.ns2449 ---| EOLDSPLAY;
Line S00001 Modification History |
M01 (Added by) | ns2449 |
Seq # *Modification Id* Act
----------------------------+
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 (Removed by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
01194 M02S00008.fsecm7 ---| TTCHAR(TABCHAR,"TAB CHARACTER: $");
Line S00001 Modification History |
M01 (Added by) | ns2623 |
M02 (Removed by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
01195 M02S00001.fsecm7 ---| TTCHAR(UNPRINT," CNTRL CHRS: $");
Line S00013 Modification History |
M01 (Added by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
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);
Line S00009 Modification History |
M01 (Added by) | ns2449 |
Seq # *Modification Id* Act
----------------------------+
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);
Line S00087 Modification History |
M01 (Added by) | ns2503 |
Seq # *Modification Id* Act
----------------------------+
01214 M01S00087.ns2503 +++| TTSTR(" JUSTIFY:$");
01215 M01S00088.ns2503 +++| IF RIGHTJUST[0] THEN TTSTR(" YES$"); ELSE TTSTR(" NO$");
Line S00022 Modification History |
M01 (Added by) | ns2449 |
Seq # *Modification Id* Act
----------------------------+
01216 M01S00022.ns2449 +++| EOLDSPLAY;
Line S00018 Modification History |
M01 (Added by) | fsecm7 |
Seq # *Modification Id* Act
----------------------------+
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 M00S00886.fsecmds +++| IF SCREENMODE THEN
01235 M00S00887.fsecmds +++| BEGIN
01236 M00S00888.fsecmds +++| EOLDSPLAY;
Line S00889 Modification History |
M01 (Removed by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
01237 M01S00889.ns2404 ---| TTSTR("FUNCTIONS: KEY $");
Line S00086 Modification History |
M01 (Added by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
01238 M01S00086.ns2404 +++| TTSTR(" FUNCTIONS: KEY$");
01239 M00S00890.fsecmds +++| TTSTR(" LABEL DIRECTIVES $");
Line S00891 Modification History |
M01 (Removed by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
01240 M01S00891.ns2404 ---| TTSTR(" KEY LABEL DIRECTIVES$");
Line S00087 Modification History |
M01 (Added by) | ns2404 |
Seq # *Modification Id* Act
----------------------------+
01241 M01S00087.ns2404 +++| TTSTR(" KEY LABEL DIRECTIVES$");
01242 M00S00892.fsecmds +++| FOR TMP1=1 STEP 1 UNTIL POSFKEYS DO
01243 M00S00893.fsecmds +++| BEGIN
01244 M00S00894.fsecmds +++| TMP2=0;
01245 M00S00895.fsecmds +++| P<KEYLIN>=LOC(FKEYSTRING[TMP1]);
01246 M00S00896.fsecmds +++| FOR TMP4=0 STEP 1 UNTIL LENGTH(KEYLIN)-1 DO
01247 M00S00897.fsecmds +++| BEGIN
01248 M00S00898.fsecmds +++| GETCHAR(KEYLINE,TMP4,TMP5);
01249 M00S00899.fsecmds +++| IF TMP5 NQ CBLANK THEN TMP2=1;
01250 M00S00900.fsecmds +++| END
01251 M00S00901.fsecmds +++| TMP3=0;
01252 M00S00902.fsecmds +++| P<KEYLIN>=LOC(FKEYSTRING[-TMP1]);
01253 M00S00903.fsecmds +++| FOR TMP4=0 STEP 1 UNTIL LENGTH(KEYLIN)-1 DO
01254 M00S00904.fsecmds +++| BEGIN
01255 M00S00905.fsecmds +++| GETCHAR(KEYLINE,TMP4,TMP5);
01256 M00S00906.fsecmds +++| IF TMP5 NQ CBLANK THEN TMP3=1;
01257 M00S00907.fsecmds +++| END
01258 M00S00908.fsecmds +++| IF TMP2 NQ 0 OR FKEYNAME[TMP1] NQ " "
01259 M00S00909.fsecmds +++| OR TMP3 NQ 0 OR FKEYNAME[-TMP1] NQ " " THEN
01260 M00S00910.fsecmds +++| BEGIN
01261 M00S00911.fsecmds +++| EOLDSPLAY;
01262 M00S00912.fsecmds +++| TTSTR(" $");
01263 M00S00913.fsecmds +++| DSPLFKEY(TMP1);
01264 M00S00914.fsecmds +++| IF TMP3 NQ 0 OR FKEYNAME[-TMP1] NQ " " THEN DSPLFKEY(-TMP1);
01265 M00S00915.fsecmds +++| END
01266 M00S00916.fsecmds +++| END
01267 M00S00917.fsecmds +++| END
01268 M00S00918.fsecmds +++| ENDDSPLAY;
01269 M00S00919.fsecmds +++| END # OF GETSTATUS #
01270 M00S00920.fsecmds +++|
01271 M00S00921.fsecmds +++|
01272 M00S00922.fsecmds +++|PROC UNDOCMD;
01273 M00S00923.fsecmds +++| BEGIN
01274 M00S00924.fsecmds +++|#
01275 M00S00925.fsecmds +++|** UNDOCMD - COMMAND PROCESSOR FOR UNDO FACILITY.
01276 M00S00926.fsecmds +++|*
01277 M00S00927.fsecmds +++|* ENTRY COMMAND SCANNED EXCEPT TERMINATOR VERIFY.
01278 M00S00928.fsecmds +++|* CURA(AUDITCTL) AT MOST RECENT CHANGE RECORD.
01279 M00S00929.fsecmds +++|* TOPA(AUDITCTL) BOUNDS AUDIT TRAIL.
01280 M00S00930.fsecmds +++|* NUMMARKS - WHETHER MARKS ARE CURRENTLY ON.
01281 M00S00931.fsecmds +++|*
01282 M00S00932.fsecmds +++|* EXIT COMMAND TERMINATOR VERIFIED.
01283 M00S00933.fsecmds +++|* SELECTION OF OPENED FILES MAY CHANGE.
01284 M00S00934.fsecmds +++|* CURA(AUDITCTL) BACKED UP.
01285 M00S00935.fsecmds +++|* NUMMARKS - ZEROED.
01286 M00S00936.fsecmds +++|*
01287 M00S00937.fsecmds +++|* MACROS GETCHAR.
01288 M00S00938.fsecmds +++|*
01289 M00S00939.fsecmds +++|* CALLS ERRJUMP, AUDITSYNCH, POSZ, UNDODECODE, UNDOOPEN,
01290 M00S00940.fsecmds +++|* BAKZ, FATAL, PUSH, UNDOPOS, INSX, POP, DELX, REPX,
01291 M00S00941.fsecmds +++|* PAINTMARKS.
01292 M00S00942.fsecmds +++|*
01293 M00S00943.fsecmds +++|* USES AUDITOFF, AUDITUSED, LINPTR1, LINNUM1, LINNUM2,
01294 M00S00944.fsecmds +++|* LINNUM3, USRBRK.
01295 M00S00945.fsecmds +++|#
Line S00946 Modification History |
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
01296 M01S00946.242l642 ---| SCNEOC;
01297 M01S00947.242l642 ---|
01298 M01S00948.242l642 ---| IF NUMMARKS NQ 0 THEN # SPECIAL CASE - UNMARK #
01299 M01S00949.242l642 ---| BEGIN
01300 M01S00950.242l642 ---| PAINTMARKS(3);
01301 M01S00951.242l642 ---| NUMMARKS=0;
01302 M01S00952.242l642 ---| ERRSTRING="MARKS CANCELLED$";
01303 M01S00953.242l642 ---| RETURN;
01304 M01S00954.242l642 ---| END
Line S00001 Modification History |
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
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 M00S00955.fsecmds +++|
01325 M00S00956.fsecmds +++| IF AUDITOFF THEN ERRJUMP("SET UNDO YES - TO ENABLE UNDO$");
01326 M00S00957.fsecmds +++| AUDITOFF=TRUE;
01327 M00S00958.fsecmds +++| AUDITSYNCH; # CLEAR STAGING BUFFER #
01328 M00S00959.fsecmds +++| AUDITUSED=FALSE; # NO CHKPT TRANSACT CANCELLED IN MIDDLE #
01329 M00S00960.fsecmds +++| POSZ(CURA(AUDITCTL));
01330 M00S00961.fsecmds +++| GETCHAR(LINE,0,LINPTR1);
01331 M00S00962.fsecmds +++| IF LINPTR1 EQ CLETTERC THEN # ACCESS PREVIOUS FILES #
01332 M00S00963.fsecmds +++| BEGIN
01333 M00S00964.fsecmds +++| UNDODECODE(1,LINNUM1); # FIRST FILE #
01334 M00S00965.fsecmds +++| UNDODECODE(12,LINNUM2); # SECOND FILE #
01335 M00S00966.fsecmds +++| UNDODECODE(23,LINNUM3); # SCREEN SPLIT #
01336 M00S00967.fsecmds +++| UNDOOPEN(1,LINNUM1);
01337 M00S00968.fsecmds +++| UNDODECODE(12,LINNUM1);
01338 M00S00969.fsecmds +++| UNDOOPEN(2,LINNUM1);
01339 M00S00970.fsecmds +++| BAKZ;
01340 M00S00971.fsecmds +++| END
01341 M00S00972.fsecmds +++| GETCHAR(LINE,0,LINPTR1);
01342 M00S00973.fsecmds +++| WHYLE CURRENT GR TOPA(AUDITCTL) AND LINPTR1 NQ CLETTERC
01343 M00S00974.fsecmds +++| AND LINPTR1 NQ CLETTERE AND USRBRK EQ 0 DO
01344 M00S00975.fsecmds +++| BEGIN
01345 M00S00976.fsecmds +++| UNDODECODE(1,LINNUM1);
01346 M00S00977.fsecmds +++| UNDODECODE(12,LINNUM2);
01347 M00S00978.fsecmds +++| UNDODECODE(23,LINNUM3);
01348 M00S00979.fsecmds +++| IF LINNUM2 NQ FDLF(LINNUM1) THEN UNDOOPEN(LINNUM1,LINNUM2);
01349 M00S00980.fsecmds +++| IF LINPTR1 EQ CLETTERD THEN
01350 M00S00981.fsecmds +++| BEGIN
01351 M00S00982.fsecmds +++| BAKZ;
01352 M00S00983.fsecmds +++| PUSH;
01353 M00S00984.fsecmds +++| UNDOPOS(-1);
01354 M00S00985.fsecmds +++| INSX;
01355 M00S00986.fsecmds +++| POP;
01356 M00S00987.fsecmds +++| END
01357 M00S00988.fsecmds +++| ELSE IF LINPTR1 EQ CLETTERI THEN
01358 M00S00989.fsecmds +++| BEGIN
01359 M00S00990.fsecmds +++| PUSH;
01360 M00S00991.fsecmds +++| UNDOPOS(+1);
01361 M00S00992.fsecmds +++| DELX;
01362 M00S00993.fsecmds +++| POP;
01363 M00S00994.fsecmds +++| END
01364 M00S00995.fsecmds +++| ELSE IF LINPTR1 EQ CLETTERR THEN
01365 M00S00996.fsecmds +++| BEGIN
01366 M00S00997.fsecmds +++| BAKZ;
01367 M00S00998.fsecmds +++| PUSH;
01368 M00S00999.fsecmds +++| UNDOPOS(0);
01369 M00S01000.fsecmds +++| REPX;
01370 M00S01001.fsecmds +++| CURF(CURFILE)=CURF(CURFILE)-1;
01371 M00S01002.fsecmds +++| POP;
01372 M00S01003.fsecmds +++| END
01373 M00S01004.fsecmds +++| BAKZ;
01374 M00S01005.fsecmds +++| GETCHAR(LINE,0,LINPTR1);
01375 M00S01006.fsecmds +++| END
01376 M00S01007.fsecmds +++| CURA(AUDITCTL)=CURRENT;
01377 M00S01008.fsecmds +++| CURF(CURFILE)=MAX(MIN(CURF(CURFILE)+1,BOTF(CURFILE)-1),TOPF(CURFILE));
01378 M00S01009.fsecmds +++| POSZ(CURF(CURFILE));
01379 M00S01010.fsecmds +++| AUDITOFF=FALSE;
Line S00002 Modification History |
M01 (Added by) | ns2608 |
Seq # *Modification Id* Act
----------------------------+
01380 M01S00002.ns2608 +++| NEWCURSOR = 0;
01381 M00S01011.fsecmds +++| END # OF UNDOCMD #
01382 M00S01012.fsecmds +++|
01383 M00S01013.fsecmds +++|
01384 M00S01014.fsecmds +++|PROC WORDCMD;
01385 M00S01015.fsecmds +++| BEGIN
01386 M00S01016.fsecmds +++|#
01387 M00S01017.fsecmds +++|** WORDCMD - COMMAND PROCESSOR FOR WORD PROCESSING.
01388 M00S01018.fsecmds +++|*
01389 M00S01019.fsecmds +++|* ENTRY COMMAND VERB SCANNED, TOKEN ADVANCED FOR NEXT.
01390 M00S01020.fsecmds +++|* USUAL DEFAULTS AVAILABLE. (CURRENT, ETC.)
01391 M00S01021.fsecmds +++|*
01392 M00S01022.fsecmds +++|* EXIT COMMAND PROCESSED.
01393 M00S01023.fsecmds +++|*
01394 M00S01024.fsecmds +++|* CALLS VFYLOCK, TOKEN, ERRJUMP, SCANNER,
01395 M00S01025.fsecmds +++|* DOFILL.
01396 M00S01026.fsecmds +++|*
01397 M00S01027.fsecmds +++|* USES LCOUNT, SCANPOS, KEYWDTYPE.
01398 M00S01028.fsecmds +++|#
01399 M00S01029.fsecmds +++| IF TOKENTYPE NQ TYPST"LETTER" OR KEYWDNDX LS 0
01400 M00S01030.fsecmds +++| THEN ERRJUMP("CHARACTER SEQUENCE NOT RECOGNIZED$");
01401 M00S01031.fsecmds +++| LCOUNT=KEYWDNDX;
01402 M00S01032.fsecmds +++| TOKEN; # ADVANCE TO NEXT SYNTAX #
01403 M00S01033.fsecmds +++| SCANNER;
01404 M00S01034.fsecmds +++| VFYLOCK;
01405 M00S01035.fsecmds +++| IF NOT FOUND THEN RETURN; # OUT OF BOUNDS #
01406 M00S01036.fsecmds +++| IF LCOUNT EQ KEYST"WFIL" THEN
01407 M00S01037.fsecmds +++| BEGIN
01408 M00S01038.fsecmds +++| DOFILL;
01409 M00S01039.fsecmds +++| NEWCURSOR=0;
01410 M00S01040.fsecmds +++| RETURN;
01411 M00S01041.fsecmds +++| END
01412 M00S01042.fsecmds +++| ELSE IF LCOUNT EQ KEYST"WCEN" THEN
01413 M00S01043.fsecmds +++| BEGIN
01414 M00S01044.fsecmds +++| EXECNDX=EXECST"CENTER";
01415 M00S01045.fsecmds +++| DORANGE;
01416 M00S01046.fsecmds +++| RETURN;
01417 M00S01047.fsecmds +++| END
01418 M00S01048.fsecmds +++| END # OF WORDCMD #
01419 M00S01049.fsecmds +++|
01420 M00S01050.fsecmds +++|
01421 M00S01051.fsecmds +++|END TERM