|
|
|
@ -0,0 +1,996 @@
@@ -0,0 +1,996 @@
|
|
|
|
|
This file contains release notes for TECOC. The "base version" |
|
|
|
|
is 100 (reported by the EO command). The version number starts at 100 to |
|
|
|
|
avoid confusion with TECO-11 version numbers, which were close to 40 as of |
|
|
|
|
01-Jan-1987. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10-Dec-1987 version 100 |
|
|
|
|
|
|
|
|
|
baseline version as of Fall Decus Symposium, Anaheim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
04-Jan-1988 version 101 (mostly stuff for XENIX) |
|
|
|
|
|
|
|
|
|
1. created this file |
|
|
|
|
2. changed EXEEO.C to make the version number 101. |
|
|
|
|
3. changed FBFSIZ (file name size) to 20 in AMODEM.C |
|
|
|
|
4. changed XAFTER.CSH to execute under CSH instead of SH |
|
|
|
|
5. removed unused tags IFTag and OFTag from ZPORT.H |
|
|
|
|
6. added comment about this file to AAAREADME.TXT |
|
|
|
|
7. Created an updated XBUILD.CSH. |
|
|
|
|
8. added a tab to INIT.C. |
|
|
|
|
9. Added debugging code to PARSCL.C, MEMINI.C, ZINIFL.C, MUNG.C, ZREMBR.C, |
|
|
|
|
and INIOPN.C. This code is activated only if the variable DbgLvl is |
|
|
|
|
initialized to 1 in DBGDSP.C. |
|
|
|
|
10. Added semi-colon to line 181 of ZOPINP.C so it'll compile. |
|
|
|
|
11. Changed ZREMBR.C so it returns NO in XENIX section. |
|
|
|
|
12. Added code to set TrmTyp in XENIX section of ZTRMNL.C. |
|
|
|
|
13. Changed SCRNOP.C so it tests TrmTyp (not OpCode) against UNTERM. |
|
|
|
|
14. Added XENIX sections to ZDSPCH.C, ZDSPBF.C and ZCHIN.C. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23-Jan-1988 version 102 |
|
|
|
|
|
|
|
|
|
1. changed EXEEO.C to make the version number 102. |
|
|
|
|
2. changed the debugging code in ZABORT.C to avoid an infinite loop |
|
|
|
|
3. removed "signal(SIGTERM, ZAbort)" from XENIX code in ZINIT.C |
|
|
|
|
4. changed ZTRMNL.C to support control-Cs under XENIX |
|
|
|
|
5. check for control-C in ZCHIN.C, needed to do it in all other Z routines |
|
|
|
|
6. added XENIX section to ZRDLIN.C |
|
|
|
|
7. define sys$close in ZOPINP.C and ZOPOUT.C |
|
|
|
|
8. define sys$get, sys$putmsg in ZRDEI.C |
|
|
|
|
9. renamed/modified all the .CSH and .COM files so they start with "Z" and |
|
|
|
|
updated AAAREADME.TXT to reflect the changes. |
|
|
|
|
10. added file FALL87.RNO, updated AAAREADME.TXT about it |
|
|
|
|
11. fixed comment in RDLINE.C. |
|
|
|
|
12. changed || to | in ZHELP.C so / immediate commands are okay under VMS. |
|
|
|
|
13. fixed "invalid buffer size" bug for reading large files by changing |
|
|
|
|
"65536" to "65535" in ZRDLIN.C. |
|
|
|
|
14. fixed control-C handling, so that type-out of a large buffer works. |
|
|
|
|
Changed EXECST.C, ZDSPBF.C, FRSTCH.C, READCS.C. |
|
|
|
|
15. added a test to EXECST.C so that commands like "<test$$" will |
|
|
|
|
now produce "unterminated command" errors, as they should |
|
|
|
|
16. modified EXEEI.C to make EI$$ a null command to make CHANGE.TEC work |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30-Jan-1988 version 103 ( to make CHANGE.TEC work ) |
|
|
|
|
|
|
|
|
|
1. changed EXEEO.C to make the version number 103. |
|
|
|
|
2. changed definition of Mung from DEFAULT to VOID in MUNG.C. |
|
|
|
|
3. changed TmpEI from DEFAULT to VOID in TMPEI.C, ZINIFL.C, MUNG.C |
|
|
|
|
4. removed superfluous "else" from ZSWILD.C |
|
|
|
|
5. moved WFab, WNam initialization from ZINIFL.C to ZINIT.C |
|
|
|
|
6. set WFab.fab$l_fna in ZINIT.C to make EN command work |
|
|
|
|
7. added XENIX section to ZCPYBL.C |
|
|
|
|
8. fixed XENIX section of ZICLOS.C |
|
|
|
|
9. fixed XENIX section of ZOPOUT.C |
|
|
|
|
10. fixed XENIX section of ZRDLIN.C |
|
|
|
|
11. fixed XENIX section of ZWRITE.C |
|
|
|
|
12. changed constants for XENIX in ZPORT.H |
|
|
|
|
13. changed calloc to malloc in ZALLOC.C, merged similar sections |
|
|
|
|
14. added debugging code to RDLINE.C |
|
|
|
|
15. added debugging line to WRBUFR.C |
|
|
|
|
16. fixed unlink call in ZOCLOS.C, added debugging code |
|
|
|
|
17. fixed unlink call in ZOCLDE.C |
|
|
|
|
18. added -O switch to CC commands in XMKBLD.CSH (optimizes code) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31-Mar-1988 version 104 |
|
|
|
|
|
|
|
|
|
1. changed EXEEO.C to make the version number 104. |
|
|
|
|
2. changed the way code is compiled under XENIX: deleted XMKBLD.CSH, |
|
|
|
|
created ZXBLD.CSH and ZXDBLD.CSH, modified ZXLOGIN.CSH and ZXCCC.CSH |
|
|
|
|
3. fixed XENIX file creation mode in ZOPOUT.C |
|
|
|
|
4. fixed XENIX section of ZMKOFN.C |
|
|
|
|
5. fixed setting of CmdMod and EStTop in EXEEB.C |
|
|
|
|
6. removed unnecessary call to ExeEY in INIOPN.C |
|
|
|
|
7. fixed XENIX file renaming in ZOCLOS.C |
|
|
|
|
8. used auto-decrement instead of addition in MEMINI.C |
|
|
|
|
9. Renamed CHRFUNCS.H to CHRMACS.H. All references to CHRFUNCS.H |
|
|
|
|
had to be changed: many files modified. Also changed macros that |
|
|
|
|
are in CHRMACS.H to use an array. Merged that array with the one that |
|
|
|
|
was in ReadCS. |
|
|
|
|
10. made ZTrmnl define TrmTyp as UNTERM when we're running in a batch job. |
|
|
|
|
11. took out "dying" message in GETNMA.C |
|
|
|
|
12. fixed CR/LF appending in EXEEQU.C |
|
|
|
|
13. fixed file output code in ZDSPCH.C |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13-Apr-1988 version 105 |
|
|
|
|
|
|
|
|
|
1. changed EXEEO.C to make the version number 105. |
|
|
|
|
2. removed extra tab from ZINIT.C |
|
|
|
|
3. renamed XAFTER.CSH to ZXAFTER.CSH |
|
|
|
|
4. changed ZXAFTER.CSH so it renames CHRMACS.H, not CHRFUNCS.H |
|
|
|
|
5. added improved error reporting in ZOPINP.C |
|
|
|
|
6. added "cc -c tecoc.c" to ZXBLD.CSH |
|
|
|
|
7. added "/STANDARD=PORTABLE" qualifiers to CC commands in ZVBLD.COM |
|
|
|
|
8. Fixed ZWrite to append LFs correctly under XENIX |
|
|
|
|
9. Fixed ZChIn to make CR/LFs under XENIX out of LFs. |
|
|
|
|
10. changed ZOpOut to use fopen instead of creat/fdopen. |
|
|
|
|
11. overhauled error reporting. Many modules changed, including all "Z" files. |
|
|
|
|
Added OpnOut and ZErMsg. |
|
|
|
|
12. Replaced GroEBf with InsStr to merge several copies of the same code |
|
|
|
|
sequence. Affected ExeBSl, ExeCtI, ExeG, ExeI, Replac. |
|
|
|
|
13. Removed post-copy of memory after ZRaloc calls. ZRaloc does it. |
|
|
|
|
14. Took /STANDARD=PORTABLE off VMS compile commands to prevent warnings |
|
|
|
|
about "globalref". |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30-Jul-1988 version 106 |
|
|
|
|
|
|
|
|
|
1. changed EXEEO.C to make the version number 106. |
|
|
|
|
2. fixed some error reporting bugs. |
|
|
|
|
3. check for mung mode failure in ExeCSt, not ErrMsg |
|
|
|
|
4. changed EI buffer size to 20000 to let TSTSRC.TEC be input |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
06-Aug-1988 version 107 |
|
|
|
|
|
|
|
|
|
1. changed EXEEO.C to make the version number 107. |
|
|
|
|
2. fixed FR command. |
|
|
|
|
3. fixed it so two control-C's terminate TECOC, as it should be. |
|
|
|
|
4. overhauled command-line parsing to make it use a TECO macro to do it, |
|
|
|
|
like TECO-11 does. Major changes to initialization code. I did this to |
|
|
|
|
provide the extra power and to make invocation of TECOC the same as TECO-11 |
|
|
|
|
under VAX/VMS. Created ExeEG, ZExeEJ, ZEgIni, ZEgLib, ZEgMem, ZEgSym |
|
|
|
|
and ZEgVte. Deleted ZIniFl, Mung, ZExeEG. |
|
|
|
|
5. fixed ::S command. |
|
|
|
|
6. fixed ] command's memory deallocation. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22-Feb-1989 version 108 ( porting to Turbo C ) |
|
|
|
|
|
|
|
|
|
1. changed EXEEO.C to make the version number 108. |
|
|
|
|
2. created function prototypes (without arguments) in DefTeco.h and removed |
|
|
|
|
them from all other files. |
|
|
|
|
3. changed /REPLACE to /INSERT in ZVBLD.COM |
|
|
|
|
4. fixed definition of ErrTxt in BldStr. |
|
|
|
|
5. moved "#include stsdef" into VAX section of ZErMsg. |
|
|
|
|
6. moved expressions out of "if" statements to avoid compiler warnings in |
|
|
|
|
FindQR, MakDBf, PshMac, StCopy, ZTrmnl. |
|
|
|
|
7. Deleted reference to ZDefErr.h from ZOClDe. |
|
|
|
|
8. deleted ZError.h |
|
|
|
|
9. changed "ErrMag" to "ErrMsg" in ZOClos. |
|
|
|
|
10. removed variables declared but never used in DoEI, ExeEG, WrBufr, ZOClos. |
|
|
|
|
11. removed "return(xxx)" from XENIX section of ZHhelp, which is a VOID |
|
|
|
|
function. |
|
|
|
|
12. Express 32768 in octal in DefTeco.h for ET_TRAP_CTRL_C to avoid problems |
|
|
|
|
putting it into an unsigned EtFlag. |
|
|
|
|
13. Added type-cast to ZCpyBl call in RdLine. |
|
|
|
|
14. changed XENIX section of ZExeEJ so it defines ZExeEJ, not ZExCtH. |
|
|
|
|
15. Replaced the Execut function with syntax for calling a function whose |
|
|
|
|
address you have in a variable. |
|
|
|
|
16. Made mods to make it run under Turbo C under MS-DOS. Added __TURBOC__ |
|
|
|
|
sections to Zxxxx.c files and created ZPBLD.BAT and ZPDBLD.BAT. |
|
|
|
|
19. Fixed Turbo C section in ZDspBf, ZDspCh, ZChIn, ZWrite. |
|
|
|
|
20. Changed "LONG" to "ptrdiff_t" in several files. |
|
|
|
|
21. Added Turbo C section to ZPrsCL. |
|
|
|
|
Just to get it working, commented out the Turbo C code in ZPrsCL. |
|
|
|
|
This prevents the command-line macro from executing, which avoids the |
|
|
|
|
execution of EJ and EG commands in the macro. EJ and EG are not yet |
|
|
|
|
supported for non-VMS environments. It now limps under Turbo C/MS-DOS |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28-Feb-1989 version 109 ( more porting to Turbo C ) |
|
|
|
|
|
|
|
|
|
1. changed EXEEO.C to make the version number 109. |
|
|
|
|
2. made type conversions explicit via type casts in various functions. |
|
|
|
|
3. replaced calls to ZChrIt with type-cast "(char)" and deleted ZChrIt |
|
|
|
|
4. appended all the Dbgxxx functions to the end of TECOC.C and changed |
|
|
|
|
compile/link so there is no separate debugging library. This simplifies |
|
|
|
|
the link sequence. |
|
|
|
|
5. fixed VDOW.C and VSETW.C so setting DEBUGGING to NO will not cause |
|
|
|
|
compilation errors. |
|
|
|
|
6. changed references to .h files to lowercase so you don't have to |
|
|
|
|
explicitly rename them after copying them from one machine to another |
|
|
|
|
7. various minor changes so it will build for an UNKNOWN environment |
|
|
|
|
8. use FILENAME_MAX, an ANSI C identifier |
|
|
|
|
9. changed the XENIX identifier to the more general __UNIX__ and restructured |
|
|
|
|
the conditional compilation code to use "#elif". |
|
|
|
|
10. replaced StCopy with strcpy |
|
|
|
|
11. replaced ZCpyBl with MEMMOVE |
|
|
|
|
12. created a file named MAKEFILE for use with Unix "make". |
|
|
|
|
13. improved type definitions and casting to keep lint happy. |
|
|
|
|
14. use EXIT_FAILURE and EXIT_SUCCESS in calls to exit() and ZAbort(). |
|
|
|
|
15. Defined return codes for the EJ command in systems other than VMS |
|
|
|
|
so the command-line parsing macro could function. |
|
|
|
|
16. Removed references to StCopy and ZCpyBl from ZPBLD.BAT and deleted |
|
|
|
|
ZPLNK.BAT. Fixed ZPLNK.BAT to not refer to DBGTECOC.LIB. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28-Feb-1989 version 110 |
|
|
|
|
|
|
|
|
|
1. changed EXEEO.C to make the version number 110. |
|
|
|
|
2. made the 2048 bit of the ET flag cause the BACKSPACE character to be |
|
|
|
|
treated just like the DEL character on input. This supports the |
|
|
|
|
conventions used by IBM PCs and Unix. On those systems, you'll have |
|
|
|
|
trouble getting a BACKSPACE into the command line, a minor problem. |
|
|
|
|
3. to simplify an effort to port TECO-C to RT-11, renamed the following |
|
|
|
|
files so the name portion of the filespec is 6 characters or less. |
|
|
|
|
|
|
|
|
|
renamed CHRMACS.H to CHMACS.H |
|
|
|
|
renamed COMMANDS.TXT to WCHART.TXT |
|
|
|
|
renamed DEFCHARS.H to DCHARS.H |
|
|
|
|
renamed DEFSCREN.H to DSCREN.H |
|
|
|
|
renamed DEFTECO.H to TECOC.H |
|
|
|
|
renamed TEC0_V40.TEC to TECV40.TEC |
|
|
|
|
renamed TECO_V40.TES to TECV40.TES |
|
|
|
|
|
|
|
|
|
The following files were not renamed, and are the only remaining files |
|
|
|
|
with names longer than 6 characters. |
|
|
|
|
|
|
|
|
|
AAAREADME.TXT I just didn't want to rename this one |
|
|
|
|
GETTECO. used only on Unix systems |
|
|
|
|
MAKEFILE. used only on Unix systems |
|
|
|
|
PROBLEMS.TXT I just didn't want to rename this one |
|
|
|
|
RELEASE.TXT I just didn't want to rename this one |
|
|
|
|
ZVLOGIN.COM used only on VAX/VMS systems |
|
|
|
|
ZXAFTER.CSH used only on Xenix systems |
|
|
|
|
ZXLOGIN.CSH used only on Xenix systems |
|
|
|
|
|
|
|
|
|
4. Fixed ZPBLD.BAT: removed superfluous -I option, added ECHO statements so |
|
|
|
|
you can tell how far it's gotten, lowercased file names. |
|
|
|
|
5. Removed definition of TraceM from ZExCtC, which doesn't use TraceM. |
|
|
|
|
6. Don't return a value from ZDoCmd or ZHelp, they're VOID functions. |
|
|
|
|
7. Fixed Sun and Turbo C sections of ZExeEJ and ZClnEG. |
|
|
|
|
8. Changed second argument of PushEx from BYTE to DEFAULT. |
|
|
|
|
9. Made ZClnEG a LONG function to match it's use in ExeEG. |
|
|
|
|
10. Made MakDBf calls in PushEx and GetNMA use a type cast when passing |
|
|
|
|
EstTop and EstBot so it works under Turbo C. |
|
|
|
|
12. Fixed expression syntax in CLPARS.TES. |
|
|
|
|
13. Fixed handling of :ER commands in Turbo C section of ZOpInp. |
|
|
|
|
14. Added function prototypes to tecoc.h. They're conditionally compiled |
|
|
|
|
based on the new USE_PROTOTYPES identifier defined in zport.h. |
|
|
|
|
15. Replaced GENCLP.TEC with GENCLP.C. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11-Jun-1989 version 111 |
|
|
|
|
|
|
|
|
|
1. changed EXEEO.C to make the version number 111. |
|
|
|
|
2. More type-casts added to allow Turbo C to compile the code when the |
|
|
|
|
function prototypes are used (USE_PROTOTYPE == YES). |
|
|
|
|
3. Moved setting of EtFlag out of ZInit.c and into ZTrmnl.c. |
|
|
|
|
|
|
|
|
|
28-Jun-1989 version 112 |
|
|
|
|
|
|
|
|
|
1. changed EXEEO.C to make the version number 112. |
|
|
|
|
2. changed || to | in ZTrmnl.c to fix setting of EtFlag. |
|
|
|
|
3. changed CrType to VT100 in ZTrmnl.c for IBM-PC so ANSI sequences are used. |
|
|
|
|
4. rewrote logic to fix bugs and improve readability in InpDel.c. |
|
|
|
|
5. renamed ScrnOp to ZScrOp so IBM-PC screen handling could be added. |
|
|
|
|
6. replaced old usage of ET_BKSP_IS_DEL with new code in ZChIn. |
|
|
|
|
7. added error message generation to ZChIn |
|
|
|
|
8. fixed ZVBLD.COM so the link of GENCLP has LNK$LIBRARY defined |
|
|
|
|
9. changed mktemp to tmpnam (ANSI) in ZOpOut.c. |
|
|
|
|
10. merged VDoW, VGetW and VSetW into ExeW |
|
|
|
|
11. Lots of little changes to reduce messages produced by lint and by |
|
|
|
|
Turbo C when the -w switch (maximum warnings) is used. |
|
|
|
|
|
|
|
|
|
19-Jul-1989 version 113 |
|
|
|
|
|
|
|
|
|
1. changed EXEEO.C to make the version number 113. |
|
|
|
|
2. Fixed ZPBLD.BAT and ZPTLIB.BAT |
|
|
|
|
3. Added code for IBM PC to ZScrOp.c |
|
|
|
|
4. Added FFLINS, used in InpDel and ReadCS. |
|
|
|
|
5. Fixed comments in FindQR and tecoc |
|
|
|
|
6. Changed ugly \015 to \r, \012 to \n, \011 to \t in all files |
|
|
|
|
7. More type casting to reduce warnings from Turbo C. |
|
|
|
|
8. Changed almost every file to insert new "charptr" and "QRptr" types. |
|
|
|
|
These are needed to support the brain-damaged memory access on IBM-PCs, |
|
|
|
|
where the pointers need to be "HUGE" to work. |
|
|
|
|
9. fixed a bug in MakRom that caused :X commands (among others) to fail. |
|
|
|
|
10. Converted QBfBeg, QBfPtr and QNumbr to the simpler QR |
|
|
|
|
11. Rewrote GENCLP so it makes a file that Turbo C reads correctly. |
|
|
|
|
12. Made a SIZE_T typedef to support Turbo C. |
|
|
|
|
13. Used farmalloc in ZAlloc, farfree in ZFree and farrealloc in ZRaloc in |
|
|
|
|
Turbo C sections. |
|
|
|
|
14. made 0EJ return 0 for Turbo C. |
|
|
|
|
15. Fixed ZWrite code for Turbo C. |
|
|
|
|
|
|
|
|
|
02-Aug-1989 version 114 |
|
|
|
|
|
|
|
|
|
1. changed EXEEO.C to make the version number 114. |
|
|
|
|
2. Renamed RELEASE.TXT to CHANGES.TXT |
|
|
|
|
3. merged all the Z files into ZVMS,C, ZMSDOS.C, ZUNIX.C, ZUNKN.C |
|
|
|
|
4. merged all the SKP files into SKPCMD.C |
|
|
|
|
5. merged CHKHLP.C, FRSTCH.C and INPDEL.C into READCS.C |
|
|
|
|
6. merged REDUCE.C into PUSHEX.C |
|
|
|
|
7. merged MEMINI.C into INIT.C |
|
|
|
|
8. merged DOEI.C into EXEEI.C |
|
|
|
|
9. merged DOFBFC.C into SRCLOP.C |
|
|
|
|
10. merged EXEE*.C files into EXEE.C (EXEEB.C is an exception) |
|
|
|
|
11. merged EXEF*.C files into EXEF.C (EXEFB.C is an exception) |
|
|
|
|
12. Implemented colon modifier on EW command. This is an undocumented |
|
|
|
|
feature required for the CLPARS macro to work on non-VAXen. |
|
|
|
|
13. merged ZFILES.H into ZVMS.C, ZMSDOS.C, ZUNIX.C |
|
|
|
|
14. fixed GENCLP.C yet again, for VMS |
|
|
|
|
15. fixed memory shuffling bug in RDLINE.C |
|
|
|
|
|
|
|
|
|
21-Aug-1989 version 115 (Manfred Siemsen) |
|
|
|
|
|
|
|
|
|
1. Changed ExeEO() in EXEE.C to make the version number 115 |
|
|
|
|
2. Created DEFEXT.H, replaced all EXTERN lines with #include "defext.h" |
|
|
|
|
3. Modified all #if DEBUGGING...#endif lines to call 3 debugging |
|
|
|
|
functions: DbgFEn() upon function entry, DbgFEx() upon function |
|
|
|
|
exit, and DbgFMs() for messages in the body of a function. Also, |
|
|
|
|
indented the debugging lines so they line up under the code they |
|
|
|
|
"belong" with, instead of being munched over on the left margin. |
|
|
|
|
4. Modified debugging routines to use sprintf/printf to display |
|
|
|
|
values of variables instead of displaying things "manually" through |
|
|
|
|
other Teco-C build/display routines. We still avoid the use of |
|
|
|
|
sprint/printf in non-debugging code. |
|
|
|
|
5. Modified the indentation scheme to more closely match K&R |
|
|
|
|
6. Put squiggly braces '{}' around ALL statements, even if they |
|
|
|
|
aren't required. |
|
|
|
|
7. Modified the comment scheme to be consistent with Pete's |
|
|
|
|
latest X-window'ish standard. |
|
|
|
|
8. Created a Turbo C MAKEFILE (MAKEFILE.TC). |
|
|
|
|
9. Began implementation of ZPWild() and ZSWild() in ZMSDOS.C. It |
|
|
|
|
seems to work ok, but there should be more error checking put in |
|
|
|
|
to guard against the user entering a bizarre filename. |
|
|
|
|
10 Implememted ZDoCmd() in ZMSDOS.C. Required change to ExeEG() in |
|
|
|
|
EXEE.C. If it wasn't :EG, TxtLen was never set, might have been |
|
|
|
|
garbage, moved TxtLen assignment out of "if (COLON..." statement. |
|
|
|
|
Also, ZAbort() was called if TxtLen was not zero, should have |
|
|
|
|
been called if TxtLen *is* zero. |
|
|
|
|
|
|
|
|
|
30-Aug-1989 version 116 |
|
|
|
|
|
|
|
|
|
1. Changed ExeEO() in EXEE.C to make the version number 116 |
|
|
|
|
2. rearranged includes in "Z" files so that my .h files come after the |
|
|
|
|
system ones. This was needed so ZPORT.H can redefine FILENAME_MAX, |
|
|
|
|
which on VMS is wrong (38 ain't right). Rearranged ZPORT.H for the |
|
|
|
|
same reason. |
|
|
|
|
3. Replaced ERRMSG.C with ERR.C and created the new error reporting |
|
|
|
|
functions ErrChr and ErrStr. Doing this removes places where I was |
|
|
|
|
writing into string literals, which worked but wasn't real kosher. |
|
|
|
|
It also makes lint happy about ErrMsg (fixed number of arguments now) |
|
|
|
|
and modularizes the error code. Merged DSPCHR.C and VRBERR.C into |
|
|
|
|
ERR.C. |
|
|
|
|
4. Created ZVrbos. |
|
|
|
|
5. Fixed error message numbering. |
|
|
|
|
6. Fixed prototype for ErrDsp and ErrPst in ERR.C. |
|
|
|
|
7. Commented out illegal test case in TSTQR.TEC. |
|
|
|
|
8. Made Charac a char instead of an int in ZChIn to fix bug. |
|
|
|
|
|
|
|
|
|
21-Oct-1989 version 117 |
|
|
|
|
|
|
|
|
|
1. Changed ExeEO() in EXEE.C to make the version number 117 |
|
|
|
|
2. Moved #endif in TECOC.C from just after DbgSlv() to just after |
|
|
|
|
DbgDsp() so DbgDsp() wasn't included when DEBUGGING is FALSE. |
|
|
|
|
3. Updated MAKEFILE.TC. |
|
|
|
|
4. Updated ZPTLIB.BAT. |
|
|
|
|
6. Changed prototype of ZVrbos in ZMSDOS.C, ZVMS.C, ZUNIX.C, |
|
|
|
|
ZUNKN.C, and TECOC.H. |
|
|
|
|
7. Changed DoEI() comment in EXEE.C. |
|
|
|
|
8. Made ZRdEI() call ZRdLin() instead of calling fgets() directly. |
|
|
|
|
9. Changed ZWrite() to ZWrLin(), it's more descriptive. |
|
|
|
|
|
|
|
|
|
23-Oct-1989 version 118 |
|
|
|
|
|
|
|
|
|
1. Changed ExeEO() in EXEE.C to make the version number 118 |
|
|
|
|
2. minor fixes to make lint happy |
|
|
|
|
3. Changed ZChIn() in ZMSDOS.C to ignore any IBM PC scan code |
|
|
|
|
other than DEL to eliminate the "Unrecognized character" bomb. |
|
|
|
|
4. Changed CLPARS.TES so filespec memory works on PC's. |
|
|
|
|
5. Changed EXEQ.C to fix numeric expression parsing |
|
|
|
|
6. Change definition of FEArry[] from (*F[])() to (*F[])(VOID) |
|
|
|
|
to eliminate Turboc C "function w/no prototype" warning. |
|
|
|
|
|
|
|
|
|
03-Nov-1989 version 119 (Manfred) |
|
|
|
|
|
|
|
|
|
1. Changed ExeEO() in EXEE.C to make the version number 119. |
|
|
|
|
|
|
|
|
|
2. Because of some bizzare behaviour, the CHECKSUM_CODE #define and routines |
|
|
|
|
were added to check code at runtime to make sure it wasn't being |
|
|
|
|
overwritten. These routines read the Turbo C .MAP file to get the order |
|
|
|
|
and length of all the modules, calculates and stores an initial checksum |
|
|
|
|
for each module; and then compares the initial checksum of each module |
|
|
|
|
with the checksum calculated after every command is executed in ExeCSt(). |
|
|
|
|
|
|
|
|
|
3. Changed ZAlloc(), ZRaloc(), and ZFree() to return and expect a new |
|
|
|
|
type "voidptr" instead of charptr's. I then removed the casts before |
|
|
|
|
ZAlloc() and ZRaloc() returns in the code. Borland Turbo C says that |
|
|
|
|
explictly casting returns from malloc/realloc hides things from the |
|
|
|
|
compiler and is bad practice in ANSI C. |
|
|
|
|
|
|
|
|
|
4. Changed "struct QReg *LQTabl" to "QRptr LQTabl" in the definition of |
|
|
|
|
MStck in TECOC.H per phone call w/Pete. |
|
|
|
|
|
|
|
|
|
5. Changed an incorrect call to DbgFEn() in ZOpOut()...should have displayed |
|
|
|
|
DbgSBf instead of "". |
|
|
|
|
|
|
|
|
|
6. Changed the DbgFEn(), DbgFEx(), and DbgFMs() calls to send NULL instead |
|
|
|
|
of "" if there is no special debugging message to display. This saves |
|
|
|
|
space when Turbo C is not merging duplicate strings (tcc -d). Otherwise |
|
|
|
|
there are billions of "" strings in the .EXE file ("" strings take 1 |
|
|
|
|
byte of space because they contain a '\0'). I used CHANGE.TEC to do it! |
|
|
|
|
|
|
|
|
|
7. Changed ZRaloc() in ZMSDOS.C to manually reallocate blocks. There is a |
|
|
|
|
problem with Turbo C's farrealloc() in that it uses movedata() to move |
|
|
|
|
data from the old block to the new block. Movedata() expects a size_t |
|
|
|
|
as the number of bytes to move. size_t under Turbo C v2 is *always* a |
|
|
|
|
16-bit unsigned int regardless of memory model. This means that if the |
|
|
|
|
old block is >64K, movedata() won't move the data correctly from the old |
|
|
|
|
block to the new block when the old block is >64K. |
|
|
|
|
|
|
|
|
|
8. Implemented the ^B system date (ZExCtB) and ^H system time (ZExCtH) |
|
|
|
|
routines in ZMSDOS.C using DOS calls. EIDATE.TES$ will display the |
|
|
|
|
current date and time. |
|
|
|
|
|
|
|
|
|
9. Initialized ff_status in ZMSDOS.C to -1 so EN$$ with no preceding |
|
|
|
|
ENfilename$$ doesn't blow up by calling findnext() with no initial |
|
|
|
|
findfirst(). Is <File Not Found ""> a reasonable return? |
|
|
|
|
|
|
|
|
|
10.Changed ExeRBr() so that End_P1 is set to NULL when Start is set to |
|
|
|
|
NULL after the ZFree(QR->Start). Otherwise, End_P1 might not be NULL |
|
|
|
|
and will cause problems for those routines which blindly subtract |
|
|
|
|
End_P1 from Start to get the length of text in the Q-register. |
|
|
|
|
|
|
|
|
|
11.Changed the line in ^EQq logic part of BldStr() where QR->End_P1 was |
|
|
|
|
being subtracted from QR-Start, when it should be the other way around. |
|
|
|
|
|
|
|
|
|
12.Changed FArray[] in ExeCSt(). The ^Q entry was ExeNYI(), it should have |
|
|
|
|
been ExeCtQ(). The ^_ entry was ExeOpr(), it should have been ExeUsc(). |
|
|
|
|
Actually, both ExeOpr() and ExeUsc() would have pushed ^_ on the stack, |
|
|
|
|
so it was a...uh...push. |
|
|
|
|
|
|
|
|
|
13.Changed ^G entry FCAray[] in ExeCrt() from ExeNul() to ExeIll() so it |
|
|
|
|
jibes with FArray[] in ExeCSt() entry. |
|
|
|
|
|
|
|
|
|
14.The logic in ReadEI() in EXEE.C determining whether or not to add a |
|
|
|
|
trailing CR-LF to the line read from the EI file was wrong. ReadEI() |
|
|
|
|
now calls ZRdlin() to read lines from the EI file. ZRdLin() returns |
|
|
|
|
the length of the read line *without* the trailing newline returned by |
|
|
|
|
fgets(). The ReadEI() logic was checking if the line ended in VT or |
|
|
|
|
in ESC-CR-LF. Since the line returned by ZRdLin() should never end in |
|
|
|
|
CR-LF, the ESC check was bogus. I changed it to only add a CR-LF if |
|
|
|
|
the line did NOT end in VT or ESC which I think was the original intent. |
|
|
|
|
|
|
|
|
|
15.While playing with ReadEI() in EXEE.C, I was having problems reading in |
|
|
|
|
a huge macro (>ZBFINIT bytes long). The problem was that if the EI |
|
|
|
|
buffer became full (ie: BufPtr == ZBfEnd), ReadEI() was calling |
|
|
|
|
ZRdLin() with (ZBfEnd-BufPtr == 0). ZRdLin() was in turn essentially |
|
|
|
|
calling "fgets(buf,0,fp)". When told to read into a 0 size buffer, |
|
|
|
|
fgets() simply returns the buffer. ZRdLin() only fails if fgets() |
|
|
|
|
returned NULL or if an error happened, otherwise it will happily |
|
|
|
|
return 0 as the length of the line it read, therefore, back in |
|
|
|
|
ReadEI(), the "BufPtr += line_len" never incremented BufPtr |
|
|
|
|
anywhere and ReadEI() never broke out of it's FOREVER loop, it |
|
|
|
|
looped infinitely, reading zero bytes into a zero length buffer. |
|
|
|
|
|
|
|
|
|
I added the ZBFMIN and ZBFEXP #defines in ZPORT.H and changed ReadEI() |
|
|
|
|
so it dynamically reallocates the EI buffer when it is close to |
|
|
|
|
becoming full. |
|
|
|
|
|
|
|
|
|
16.Changed ExeCtu(). The call to MakRom() used to make the Q-register |
|
|
|
|
text area 1 character longer when doing a "n^Qq" was sending the wrong |
|
|
|
|
argument. It was sending the new *total* size of the text area |
|
|
|
|
(end-start+1) instead of the *additional* size of the text area (1 byte). |
|
|
|
|
|
|
|
|
|
17.Changed the way the CLPARS macro is handled: |
|
|
|
|
|
|
|
|
|
a) If USE_ANSI_CLPARS is FALSE. |
|
|
|
|
|
|
|
|
|
Changed CLPARS.TES to not clear itself out of memory when it was |
|
|
|
|
finished. The CLPARS macro is loaded and executed in Q-register Y. |
|
|
|
|
The last thing it did was a "0,0XY" to clear itself out. The problem |
|
|
|
|
is that ExeX() would call ZFree() to clear Q-register Y, leaving |
|
|
|
|
CBfPtr effectively pointing into a free'ed memory area. This wasn't |
|
|
|
|
fatal because the "0,0XY" was the very last thing in the CLPARS macro |
|
|
|
|
so no further TECO instructions were looked for in the free'ed area; |
|
|
|
|
but, technically it was wrong. I removed the "0,0XY" from the CLPARS |
|
|
|
|
macro and changed ZPrsCl() so it manually ZFree()'s Q-register Y after |
|
|
|
|
it finishes executing it. |
|
|
|
|
|
|
|
|
|
Note: SQU also uses this technique: issuing a '0,0Xq' at the tail end of |
|
|
|
|
a macro loaded in Q-register 'q' to clear the macro out after it |
|
|
|
|
finishes executing. If this is a common TECO macro practice, maybe |
|
|
|
|
we'll have to think this through a little more. |
|
|
|
|
|
|
|
|
|
b) If USE_ANSI_CLPARS is TRUE |
|
|
|
|
|
|
|
|
|
If USE_ANSI_CLPARS is true, the CLPARS macro is stored as one |
|
|
|
|
gigantic string in clpars[]. If USE_ANSI_CLPARS is false, the |
|
|
|
|
CLPARS macro is split into lines and stored as an array of strings |
|
|
|
|
in *clpars[]. The advantage to USE_ANSI_CLPARS is that to execute |
|
|
|
|
the CLPARS macro, ZPrsCL() simply made the text area pointers of |
|
|
|
|
Q-register Y point at clpars[] to "load" Q-register Y before doing |
|
|
|
|
the MY$$. Otherwise, if USE_ANSI_CLPARS is false, the CLPARS |
|
|
|
|
macro is executed by (slowly) loading it from *clpars[], line-by-line, |
|
|
|
|
into Q-register Y and then doing the "MY$$". |
|
|
|
|
|
|
|
|
|
The problem was that if USE_ANSI_CLPARS was true, Q-register Y held |
|
|
|
|
statically allocated data which could cause problems when the CLPARS |
|
|
|
|
macro did the "0,0XY" to clean up. "0,0XY" would make ExeX() try to |
|
|
|
|
ZFree() the statically allocated clpars[] string. |
|
|
|
|
|
|
|
|
|
While looking at this problem I noticed that, other than for historical |
|
|
|
|
reasons, there is no reason the CLPARS macro *has* to be executed from |
|
|
|
|
Q-register Y. I changed ZPrsCL() so that if USE_ANSI_CLPRS is true, it |
|
|
|
|
directly executes the CLPARS macro from the clpars[] string without |
|
|
|
|
bothering to load it into Q-register Y first. |
|
|
|
|
|
|
|
|
|
18.Removed TRACE_IMBEDDED_MACRO. |
|
|
|
|
|
|
|
|
|
19.Removed static initialization of QRgstr[] in TECOC.C and moved it |
|
|
|
|
into MemIni() in INIT.C along with the other initializations of |
|
|
|
|
global static arrays (QStack[], etc). [See suggestion (1) below] |
|
|
|
|
|
|
|
|
|
20.Changed ExeEO to return ExeNYI() for "nEO". |
|
|
|
|
|
|
|
|
|
21.Changed DoEI(). DoEI() calls PshMac(), ExeCSt(), and PopMac(). If the |
|
|
|
|
ExeCSt() failed, it would do a return(FAILURE) without doing the PopMac(), |
|
|
|
|
leaving the macro stack off and CBfPtr pointing into the EI buffer. DoEI() |
|
|
|
|
was changed so that it does a PopMac() even if ExeCSt() fails. This same |
|
|
|
|
type of logic was changed in ExeM(). |
|
|
|
|
|
|
|
|
|
This problem didn't appear unless you tried executing a macro from a file |
|
|
|
|
or from a Q-register which failed miserably. |
|
|
|
|
|
|
|
|
|
22.Changed ReadEI() <again>. When ReadEI() finds a line containing double |
|
|
|
|
<ESC>'s, it returns to DoEI(), which then executes everything up to that |
|
|
|
|
point. DoEI() then re-calls ReadEI() to finish reading the EI file. The |
|
|
|
|
problem was that if there were any commands *after* the two <ESC>'s on |
|
|
|
|
the last line read, they would be lost in the shuffle because ReadEI() |
|
|
|
|
would start reading into the beginning of ZBf. The SQU.TEC macro had |
|
|
|
|
a line with commands after a double <ESC>. |
|
|
|
|
|
|
|
|
|
23.Fixed ExeO(). ExeO() wasn't completely comparing the desired tag with |
|
|
|
|
the tag in the command string. So, if the command string had two tag |
|
|
|
|
names which start out the same way, for example: |
|
|
|
|
|
|
|
|
|
!aa! |
|
|
|
|
!a! |
|
|
|
|
|
|
|
|
|
"Oa" would goto !aa!. |
|
|
|
|
|
|
|
|
|
24.Changed the way some of the colon-modified commands work. I ran into a |
|
|
|
|
situation in SQU where "Y<:A;>" was used. If the yank read in the entire |
|
|
|
|
buffer, ExeA() would fail immediately, without clearing the colon-modified |
|
|
|
|
bit in CmdMod, thus "passing" CmdMod to ";" converting it to ":;". "n;" |
|
|
|
|
breaks if n is zero or positive, "n:;" breaks if n is negative. "Passing" |
|
|
|
|
CmdMod to ExeSCl() this way completely altered the sense of the ";" break. |
|
|
|
|
|
|
|
|
|
25.Fixed case flagging in TypBuf() and made it faster by not doing the |
|
|
|
|
Is_Lower() and Is_Upper() checking if EuFlag() is set to EU_NONE. |
|
|
|
|
|
|
|
|
|
26.Rewrote ZCpyBl() in ZMSDOS.C to use memmove() and memcpy(). They |
|
|
|
|
both use 80x86 string instructions and make things much faster. |
|
|
|
|
|
|
|
|
|
27.PopMac() was clearing the contents of the local Q-register table, |
|
|
|
|
but wasn't de-allocating the table itself. |
|
|
|
|
|
|
|
|
|
28.Changed PshMac(), PopMac(), FindQR(), and Init() to use pointers into |
|
|
|
|
the MStack[] and MStack[].QRgstr tables instead of doing redundant array |
|
|
|
|
references. Changed Reduce() in PUSHEX.C to use pointers into EStack[] |
|
|
|
|
for the same reason. Using pointers should be faster? |
|
|
|
|
|
|
|
|
|
29.The digit buffer (DBfBeg) was initialized in TECOC.C as: |
|
|
|
|
|
|
|
|
|
charptr *DBfBeg = " "; |
|
|
|
|
|
|
|
|
|
then digits were poked into this statically allocated string which really |
|
|
|
|
isn't kosher. Changed it so DBfBeg is initialized in MemIni() in INIT.C. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
06-Dec-1989 version 120 |
|
|
|
|
|
|
|
|
|
1. Changed ExeEO() in EXEE.C to make the version number 120. |
|
|
|
|
2. Fixed bug in ZDspBf caused by "length" wrapping when unsigned. |
|
|
|
|
3. various little fixups. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
07-Dec-1989 version 121 |
|
|
|
|
|
|
|
|
|
1. Changed ExeEO() in EXEE.C to make the version number 121. |
|
|
|
|
2. Made EC clear the edit buffer after writing files. Thanks, Phil. |
|
|
|
|
3. Fixed ZFWrite in ZMSDOS.C to handle files > 64k better. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20-Dec-1989 version 122 |
|
|
|
|
|
|
|
|
|
1. Changed ExeEO() in EXEE.C to make the version number 122. |
|
|
|
|
2. Added TVERSION (version number of TECOC-C) to TECOC.C |
|
|
|
|
3. Fixed ZRdLin in ZVMS.C to make EI commands work. |
|
|
|
|
4. Removed the ZInit function. It was being called late (after MemIni), |
|
|
|
|
and turned out to be unused anyway. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
04-Feb-1990 version 123 |
|
|
|
|
|
|
|
|
|
1. Changed ExeEO() in EXEE.C to make the version number 123. |
|
|
|
|
2. Removed funny handling of lines terminated with <ESC><CR><LF> do let |
|
|
|
|
MS-DOS users edit macros without funnyness. |
|
|
|
|
3. Regularized the "debugging level" numbers documented with DbgDMs in |
|
|
|
|
TECOC.C. |
|
|
|
|
4. Fixed looping logic in SrcLop to make "n_text$" commands work. |
|
|
|
|
5. Fixed bug in ClTrEx in ZVMS.C so running from batch works. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20-Feb-1990 version 124 |
|
|
|
|
|
|
|
|
|
1. Changed TVERSION in TECOC.H to 124. |
|
|
|
|
2. Rewrote MakDBf to make it more portable. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2-Mar-1990 version 125 |
|
|
|
|
|
|
|
|
|
1. Changed TVERSION in TECOC.H to 125. |
|
|
|
|
2. Fixed so HP with an empty buffer doesn't cause an error message. |
|
|
|
|
3. Moved the decision about whether to add/remove CR/LF pairs to/from the end |
|
|
|
|
of lines when doing file I/O into the system-dependent functions. This |
|
|
|
|
was needed to make MD-DOS happy, and is really where this stuff should |
|
|
|
|
be anyway. |
|
|
|
|
4. Defined GotCtC as "volatile". |
|
|
|
|
5. Rewrote ZRdLin in ZVMS.C to do what TECO-11 really does with all the |
|
|
|
|
special characters. |
|
|
|
|
6. Put a check for an open output file into ExeEC, so the command HKEFEX |
|
|
|
|
will work even if there's more pages in the input file. |
|
|
|
|
7. Merged WrBufr and ZWrLin into a singl function called ZWrBfr. Deleted |
|
|
|
|
WRBUFR.C and updated the build files. This was needed to provide system |
|
|
|
|
dependent control over output so MS-DOS I/O could be cleaned up. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22-May-1990 version 126 |
|
|
|
|
|
|
|
|
|
1. Changed TVERSION in TECOC.H to 126. |
|
|
|
|
2. Removed code that adds a CR/LF to each record read by ReadEI. |
|
|
|
|
3. Fixed VMS output code in ZWrBfr broken in version 125. |
|
|
|
|
4. Changed TypBuf so it is interruptable by ^C after displaying a line. |
|
|
|
|
5. Defined ChkCtC() so that ^C's work better under MS-DOS. |
|
|
|
|
6. Changed ZSWild & ZPWild to work better under CHANGE.TEC. |
|
|
|
|
7. Folded wildcard filename buffer (WBf) into "normal" filename buffer (FBf) |
|
|
|
|
so G* after ENfilespec$ returns "filespec". |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1-June-1990 version 127 |
|
|
|
|
|
|
|
|
|
1. Changed TVERSION in TECOC.H to 127. |
|
|
|
|
2. Modified ZDoCmd() in ZMSDOS.C so you can EGfilename.BAT$. |
|
|
|
|
3. Added EBfFul to avoid "?MEM memory overflow" messages when reading large |
|
|
|
|
files. Now TECO-C quietly stops reading. |
|
|
|
|
4. Reduced number of times ChkCtC() is called to speed display up. |
|
|
|
|
5. renamed AAAREADME.TXT to AAREADME.TXT, needed by MS-DOS |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8-June-1990 version 128 |
|
|
|
|
|
|
|
|
|
1. Changed TVERSION in TECOC.H to 128. |
|
|
|
|
2. Fixed loops that initialize IsOpnI, IsEofI and IsOpnO in Memini. Thanks |
|
|
|
|
to Chuck Cranor. |
|
|
|
|
3. Added ZExit, ZClnUp and ClenUp and replaced ZAbort with TAbort. This |
|
|
|
|
modularizes exit handling. |
|
|
|
|
4. Applied lots of fixes to zunix.c suggested by Chuck Cranor. These include |
|
|
|
|
terminal initialization and use of termcap for terminal sequences. |
|
|
|
|
5. Added a type cast to FindQR to prevent a compiler warning. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13-June-1990 version 129 |
|
|
|
|
|
|
|
|
|
1. Changed TVERSION in TECOC.H to 129. |
|
|
|
|
2. Made n^T display n modulo 256 instead of generating an error when n |
|
|
|
|
is out-of-range. Now it matches documentation. |
|
|
|
|
3. Worked on file I/O in ZUNIX.C. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20-June-1990 version 130 |
|
|
|
|
|
|
|
|
|
1. Changed TVERSION in TECOC.H to 130. |
|
|
|
|
2. Applied Tom Almy's MS-DOS fixes to prevent conversions of line feeds |
|
|
|
|
written to the terminal to carriage-return/line-feed pairs. |
|
|
|
|
3. Applied Tom Almy's fixes to the search code. Now backwards searches |
|
|
|
|
work better. |
|
|
|
|
4. Applied Tom Almy's fixes so eight-bit characters are better supported. |
|
|
|
|
5. Minor fixes to ExeW. |
|
|
|
|
6. Replaced ZRdLin in ZMSDOS.C with Tom Almy's superior version. |
|
|
|
|
7. EBfFul was a global used only by RdLine, ExeA and RdPage. I made it |
|
|
|
|
an argument. Seemed like the right thing to do. |
|
|
|
|
8. Changed the type of the length argument to InsStr from LONG to ptrdiff_t. |
|
|
|
|
9. Applied Tom Almy's fixes to DoEvEs and ReadCS. |
|
|
|
|
10. Fixed up PG.RNO and created a new PG.MEM. |
|
|
|
|
11. Removed BYTE identifier from ZPORT.H and did related fixups. |
|
|
|
|
12. Started (by no means complete) supporting 8-bit characters throughout |
|
|
|
|
the code. In most cases, this means changing things declared "char" |
|
|
|
|
to be declared "unsigned char". |
|
|
|
|
13. Deleted DSPCHR.C, which wasn't even compiled. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17-July-1990 version 131 (Manfred) |
|
|
|
|
|
|
|
|
|
0. Changed TVERSION in TECOC.H to 131 |
|
|
|
|
1. In TECOC.C, ChrMsk[], changed 128 RCS_DEL entries Pete added to RCS_DEF. |
|
|
|
|
2. In ZMSDOS.C, added #include <fcntl.h> to get O_BINARY #define. In |
|
|
|
|
ZTrmnl(), added "setmode(fileno(stdout),O_BINARY)" per Tom Almy. |
|
|
|
|
3. In MAKEFILE.TC, added -K (default to unsigned char) to TCC so string |
|
|
|
|
literals which are signed char ptr's don't conflict with the unsigned |
|
|
|
|
char ptr's now used all over to get eight-bit chars per Tom Almy. |
|
|
|
|
Also added tabort.obj to TECOC_OBJS macro. Also added -DTCPP100 macro. |
|
|
|
|
4. In ZPORT.H, changed EBFEXP, EBFINIT, IBFEXP, IBFINIT from 64000 |
|
|
|
|
to 64000L to get rid of TC++'s "Constant is long" warnings. |
|
|
|
|
5. In ERR.C, ToErr(), got rid of TC++'s "Conversion may lose significant |
|
|
|
|
digits" in Sbuf[DBfPtr-DBfBeg] line by using SLen to hold DBf length; |
|
|
|
|
changed bogus compare "> '\126'" to "> '\177'"; also, the final ']' |
|
|
|
|
was overwriting last digit in SBuf. |
|
|
|
|
6. In RDLINE.C, changed function return type of expand_ibf from an |
|
|
|
|
"static" to "static void". Also added prototype. |
|
|
|
|
7. In TECOC.H, added prototype for errprt(). |
|
|
|
|
8. In RDLINE.C, expand_ibf(), added #if DEBUGGING lines so DbgFNm is declared. |
|
|
|
|
9. In ZMSDOS.C, ZRdLin(), fixed typo in #if DEBUGGING "FAILURE" section. |
|
|
|
|
10. In ZMSDOS.C, ZRaloc(), added test for TC++ v1.00 since the heap layout |
|
|
|
|
has changed. In TC v2.0? mimic farrealloc(), in TC++ v1.00 call |
|
|
|
|
farrealloc() directly. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18-July-1990 version 132 |
|
|
|
|
|
|
|
|
|
0. Changed TVERSION in TECOC.H to 132 |
|
|
|
|
1. lots more work to resolve type mismatches, so lint and gcc don't |
|
|
|
|
complain so much. |
|
|
|
|
2. fixed the ? immediate-mode command. |
|
|
|
|
3. used GAPMIN in RdLine to fix wasteful memory use. |
|
|
|
|
4. removed superflous parentheses from return statements. |
|
|
|
|
5. to test that identifiers defined in ZPORT.H are minimally consistent, |
|
|
|
|
added some tests in TECOC.C |
|
|
|
|
6. To finish up eightbit handling, added ZSetTT, a function to let TECO set |
|
|
|
|
terminal characteristics. Since it's there, added code so the 1:W and |
|
|
|
|
2:W commands change screen size. Not video yet, but a little closer. |
|
|
|
|
7. Changed ZMkOFN into a macro named ZMKOFN. |
|
|
|
|
8. Fixed ZChIn to handle NoWait correctly. |
|
|
|
|
9. Fixed handling of 0,32et bit. |
|
|
|
|
|
|
|
|
|
(8-August-1990 Manfred) |
|
|
|
|
|
|
|
|
|
10. In TECOC.C, changed "\n" to "\r\n" in debugging displays since stdout |
|
|
|
|
is now in binary mode. |
|
|
|
|
11. In INIT.C, in MemIni(), added Tom Almy's suggestion to temporarily |
|
|
|
|
allocate a small chunk of memory to be used as a small-allocation |
|
|
|
|
memory pool which may help keep memory fragmentation down. |
|
|
|
|
12. In ZPORT.H, removed unused UWORD typedef. |
|
|
|
|
13. In ZMSDOS.C, in ZVrBos(), changed old style function definition. |
|
|
|
|
14. In ZMSDOS.C, propagated MPtrs[] dynamic allocation tracking to ZRaloc(), |
|
|
|
|
added TC++'s new heapcheck() routines to check the heap on every alloc, |
|
|
|
|
realloc, and free. We *are* DEBUGGING and don't care about speed |
|
|
|
|
penalties, right? |
|
|
|
|
15. In ERR.C, the one-line error messages for ERR_PES and ERR_PDO were |
|
|
|
|
switched (Argh!). |
|
|
|
|
16. In ZPORT.H, expanded EXS_SIZE, LPS_SIZE, MCS_SIZE, and QRS_SIZE so |
|
|
|
|
SQU.TEC has some breathing room. Should these expand themselves? |
|
|
|
|
17. Some of the .TEC and .TES files supplied with TECO-C were padded with |
|
|
|
|
NUL's and some lines ending with ESC had an extra CR. |
|
|
|
|
18. In ZMSDOS.C, ZDspCH() called write(). should call fwrite() or we're |
|
|
|
|
mixing calls to write/fwrite on stdout which is bad. also, the code |
|
|
|
|
which directly set stdout->flags'_F_BIN bit after setmode(stdout) in |
|
|
|
|
ZTrmnl() somehow was lost between Pete's version and mine (?) |
|
|
|
|
19. In ZMSDOS.C, in ZRdLin(), iBuf was cast as "char far *", should have |
|
|
|
|
been cast simply as a "char *" otherwise compiling w/small data model |
|
|
|
|
doesn't work. |
|
|
|
|
20. In CHANGE.TES, changed some ^U constructs so it's now SQUishable. |
|
|
|
|
21. In ZMSDOS.C, added ff_path[] to save ENfilespec$ wildcard lookup |
|
|
|
|
filename since we can't be sure FBf will still contain the wildcard |
|
|
|
|
lookup filename between ENfilespec$ and EN$. |
|
|
|
|
22. Changed CLPARS.TES so when you MUNG there's no leftover trash in |
|
|
|
|
q-register 0. (Pete) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19-August-1990 version 133 (Manfred) |
|
|
|
|
|
|
|
|
|
0. Changed TVERSION in TECOC.H to 133 |
|
|
|
|
1. In EXEO.C, added support for computed gotos (nOtag0,tag1...$) |
|
|
|
|
2. In INIT.C, in MemIni(), the digit buffer was being overrun on -1== since |
|
|
|
|
the calculation to allocate the digit buffer either: a) didn't take into |
|
|
|
|
account that 32-bits-per-long/3-bits-per-octal-digit doesn't divide evenly |
|
|
|
|
(loses 2 bits), or b) didn't take into account that ExeEqu() might append |
|
|
|
|
<CR><LF> to the digit buffer for =, ==, or === display purposes. |
|
|
|
|
3. In ZMSDOS.C, fixed MPtrs[] tracking in ZRaloc, didn't work correctly |
|
|
|
|
when farrealloc() eventually returns NULL. |
|
|
|
|
4. In TECOC.C, added Turbo C's heapcheck() routine to check_consistency(). |
|
|
|
|
5. In RDLINE.C, in RdLine(), after expand_ibf(), was calling ZRdLin() even |
|
|
|
|
if EBfFul was set TRUE. I don't think it should, even though we might be |
|
|
|
|
able to read a line less than IBFMIN bytes long. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9-September-1990 version 134 (Pete) |
|
|
|
|
|
|
|
|
|
0. Changed TVERSION in TECOC.H to 134 |
|
|
|
|
1. Changed the way I handle conditional inclusion of debugging code. |
|
|
|
|
Borrowing from the way the ANSI assert macro works, all the debugging |
|
|
|
|
functions are now macros, which don't produce any code if DEBUGGING |
|
|
|
|
is FALSE. |
|
|
|
|
2. Added TECOC.OPT so the VAX linker puts literal text strings into a |
|
|
|
|
non-writeable PSECT. |
|
|
|
|
3. Fixed ExeBSl so it will read a numeric string from the edit buffer even |
|
|
|
|
if it's preceded by a minus-sign or plus-sign, and fixed TSTBSL.TEC |
|
|
|
|
so it tests for these cases. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18-October-1990 version 135 (Pete) |
|
|
|
|
|
|
|
|
|
0. Changed TVERSION in TECOC.H to 135. |
|
|
|
|
1. Updated PG.RNH/PG.MEM again. |
|
|
|
|
2. Fixed define of DBGFEX in TECOC.H so DEBUGGING works again. |
|
|
|
|
3. Fixed FindQR and ExeM to make TECO-C handle :M commands correctly. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21-November-1990 version 136 |
|
|
|
|
|
|
|
|
|
0. Changed TVERSION in TECOC.H to 136. |
|
|
|
|
1. Fixed DBGFEX syntax bug on line 1118 of ZMSDOS.C |
|
|
|
|
2. Removed extra close parenthesis in EXEW.C |
|
|
|
|
3. Fixed BLDSTR.C to allow searching for nulls. Thanks to Tom Almy. |
|
|
|
|
4. Fixed ExeFGt to work correctly. Bug found by Richard Graham. |
|
|
|
|
5. Added missing enblosing braces in InsStr. Thanks to Mark Henderson. |
|
|
|
|
6. Added Mark Henderson's additional code to BldStr to provide ^EQ* (file |
|
|
|
|
spec buffer) and ^EQ_ (search string buffer) support. Then broke BldStr |
|
|
|
|
into functions for readability. |
|
|
|
|
7. Inserted Mark Henderson's time and date code into ZUNIX.C. Testing with |
|
|
|
|
DATE.TEC revealed a slight bug, fixed. |
|
|
|
|
8. Added ZAMIGA.C and some mods to ZPORT.H from Ben Mesander to support |
|
|
|
|
TECO-C under Amiga-DOS. Thanks Ben! |
|
|
|
|
9. Fixed ExeEQ so it preserves the state of FFPage when reading files. |
|
|
|
|
Thanks to Mark Henderson. |
|
|
|
|
10. Added ZBell function to make the bell sound better under MS-DOS. |
|
|
|
|
Thanks to Steve Freyder. |
|
|
|
|
11. Added Mark Henderson's code (he got glob.c from Berkeley stuff) |
|
|
|
|
to do wild-carding of file names. Reorganized it some. Thanks, Mark. |
|
|
|
|
12. Added Mark's code to name backup files sort of like VMS. Not sure I |
|
|
|
|
like this yet, because I haven't tried it. ED bit 4 controls it, like |
|
|
|
|
so (from Mark:) |
|
|
|
|
ED&4 now specifies the mechanism for backup files |
|
|
|
|
if ED&4 is set then we use the foo foo.bak mechanism (as originally) |
|
|
|
|
if ED&4 is clear the first backup file will be named foo;1, the |
|
|
|
|
second foo;2, ...&c. Sort of VMS like, but the most recent |
|
|
|
|
version will be known by the name foo. |
|
|
|
|
13. Mark added TECFILES environment variable. |
|
|
|
|
If for ei commands and TECO.INI the file is not found in the |
|
|
|
|
current directory the directory $(TECFILES) will be searched. |
|
|
|
|
I've been keeping my teco startup files in ~/.teco |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26-December-1990 version 137 |
|
|
|
|
|
|
|
|
|
0. Changed TVERSION in TECOC.H to 137. |
|
|
|
|
1. Minor fixups to get ZUNIX.C to compile. |
|
|
|
|
2. Moved the line that resets FFPage to zero. It was in RdPage, now it's |
|
|
|
|
in RdLine so a 1:a command now correctly resets flag. Thanks to Richard |
|
|
|
|
Graham for reporting this one. |
|
|
|
|
3. Modified ExeCtE so you can now set the flag as well as get its value, |
|
|
|
|
like in TECO-11 and TECO-32. |
|
|
|
|
4. Fixed ExeBSl so it sets RefLen when it converts a digit string in the |
|
|
|
|
edit buffer into a binary value. Thanks to Mark Henderson. |
|
|
|
|
5. Merged in new Amiga support files from Ben Mesander. There's a new |
|
|
|
|
ZAMIGA.C, which now has time and date support. Ben supplied files |
|
|
|
|
MAKEFILE.AMI and TECOC.LNK for building on the Amiga. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29-December-1990 version 138 |
|
|
|
|
|
|
|
|
|
0. Changed TVERSION in TECOC.H to 138. |
|
|
|
|
1. Rewrote the TSTO.TEC macro, which pointed out a bug in TECO-32! |
|
|
|
|
2. Added "smallcode smalldata" to LFLAGS vlue in MAKEFILE.AMI to make TECO-C |
|
|
|
|
smaller (for faster startup) under AmigaDOS. Thanks to Ben Mesander. |
|
|
|
|
3. Moved OpnInp and OpnOut into ExeE because only ExeE functions call them. |
|
|
|
|
4. Changed ZOpInp function in ZVMS to do the right thing with the default |
|
|
|
|
macro library directory. ZAMIGA.C, ZUNIX.C and ZMSDOS.C need to be |
|
|
|
|
changed. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10-January-1991 version 139 |
|
|
|
|
|
|
|
|
|
0. Changed TVERSION in TECOC.H to 139. |
|
|
|
|
1. Fixed ZUNIX.C so it handles default EI file names correctly. Still needs |
|
|
|
|
ZClnEG to be implemented. |
|
|
|
|
2. Applied Mark Henderson's patch to ZChIn to fix Control-C handling. |
|
|
|
|
3. Applied Mark Henderson's patch to ExeEQ to fix EBFEnd pointer screw-up |
|
|
|
|
when reading a large file with EQ. Thanks again, Mark! |
|
|
|
|
4. Applied Ben Masander's patch to ZAMIGA.C to correctly call isatty. |
|
|
|
|
5. Implemented "SYM" part of :EG command for VAX/VMS, so TECO-C can set DCL |
|
|
|
|
symbols like DEC's TECO. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20-January-1991 version 140 |
|
|
|
|
|
|
|
|
|
0. Changed TVERSION in TECOC.H to 140. |
|
|
|
|
1. Reworked ExeEG and ZClnEG to make it work under Unix and to do the |
|
|
|
|
system dependent stuff in the right places. |
|
|
|
|
2. Modified GENCLP to make it create clpars as "unsigned char" instead of |
|
|
|
|
"signed char" to remove a gcc warning. Made GENCLP compile/link/run under |
|
|
|
|
SunOS and modified MAKEFILE.SUN to include processing of GENCLP. |
|
|
|
|
3. Changed GENCLP.C to define clpars as "const" for ANSI compilers. |
|
|
|
|
4. Received another ZAMIGA.C from Ben Mesander. He is now using RCS to |
|
|
|
|
control revisions, so there'll be version numbers for ZAMIGA.C from now |
|
|
|
|
on. This is version 1.4. |
|
|
|
|
5. Implemented Mark Henderson's suggestion to make the size of error |
|
|
|
|
message buffers a #define'd identifier. I named it ERBFSIZ. |
|
|
|
|
6. Merged in Mark Henderson's video support. This involved a LOT of |
|
|
|
|
changes, including: |
|
|
|
|
a. Merged MOVE.C into ZUNIX.C |
|
|
|
|
b. changed VOID to VVOID to avoid clashing with CURSES.H |
|
|
|
|
c. lots of added code with "#if CURSES" control |
|
|
|
|
d. created VIDEO.TXT |
|
|
|
|
e. created an EZ mode control flag for Mark's bits. |
|
|
|
|
f. added exetil.c |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23-February-1991 version 141 |
|
|
|
|
|
|
|
|
|
0. Changed TVERSION in TECOC.H to 141. |
|
|
|
|
1. Some slight changes to make lint happy. |
|
|
|
|
2. From Manfred: added DBGFEN calls to DoCtVW and DoCtE in BldStr, fixed |
|
|
|
|
DbgFNm in ExeF, removed extra "#include <dos.h>" from ZMSDOS.C, added |
|
|
|
|
"fclose(fp)" to init_code_checksums in ZMSDOS.C, and some other minor |
|
|
|
|
fixups in ZMSDOS.C. Changed MAKEFILE.TC to avoid "Abnormal Program |
|
|
|
|
Termination". |
|
|
|
|
3. Added check of terminal width & height to ExeW for 0,1:w error. |
|
|
|
|
4. Added Mark Henderson's fix to let ZUNIX.C compile under SunOS 4.0. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15-March-1991 version 142 |
|
|
|
|
|
|
|
|
|
0. Changed TVERSION in TECOC.H to 142. |
|
|
|
|
1. Added Ben's fixes to slight build problems on AmigaDOS. |
|
|
|
|
2. Fixed makefile.sun to make it handle SunOS 4.1 as well as 4.0. Still |
|
|
|
|
needs hand-editing to the makefile before running it. Defaults to 4.1. |
|
|
|
|
3. Added some fixes to ZUNIX.C to reduce gcc warnings. |
|
|
|
|
4. Repaired makefile.sun, which was broken. |
|
|
|
|
5. Fixed EXEFTIL.C and EXEF.C so they compile when DEBUGGING is defined. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20-April-1991 version 143 |
|
|
|
|
|
|
|
|
|
0. Changed TVERSION in TECOC.H to 143. |
|
|
|
|
1. Changed CLPARS.TEC to parse Unix command lines with "-" for options |
|
|
|
|
instead of "/". |
|
|
|
|
2. Under Unix, changed ZClnEg to implement last-file-edited memory using |
|
|
|
|
files in /tmp instead of gawdawful TECF00.TMP files in the current |
|
|
|
|
directory. |
|
|
|
|
3. Slight include file #ifdef changes to let it compile under SunOS 4.1.1. |
|
|
|
|
4. Changed makefile.sun to not use a library. It's much faster this way. |
|
|
|
|
5. Added case for tilde command to SkpCmd.c. |
|
|
|
|
6. Those C files that directly include curses.h needed to have the |
|
|
|
|
#include moved above zport.h. |
|
|
|
|
7. Fixed ExeW so if we're not compiled with video, it returns nothing |
|
|
|
|
instead of FAILURE, like TECO32. Returning FAILURE causes the current |
|
|
|
|
macro to fail, and the current macro might be CLPARS! |
|
|
|
|
8. Fixed ZUNIX.C so ET_UNIXNL is correctly defined. |
|
|
|
|
9. Added Jerry Leichter's fixes to port to Ultrix, including makefile.ulx. |
|
|
|
|
10. Fixed bug in ZUNIX.C where ZDspCh was being called with a string instead |
|
|
|
|
of a character. Thanks Jerry! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2-June-1991 version 144 |
|
|
|
|
|
|
|
|
|
0. Changed TVERSION in TECOC.H to 144. |
|
|
|
|
1. For the ^P command (for debugging, must compile with DEBUGGING set) |
|
|
|
|
to work, each function that starts with a call to DBGFEN needs to have |
|
|
|
|
a call to DBGFEX before every exit point, or the pretty nesting gets |
|
|
|
|
screwed up. Added some DBGFEX calls to BldStr and ZOClos (in ZUNIX.C) |
|
|
|
|
to fix the display when 4,0 is used. |
|
|
|
|
2. Fixed DoFlag, ExeCtR, ExeCtT, ExeW and ExeBSl so they check the expression |
|
|
|
|
stack correctly. They can now be used in expressions without problems. |
|
|
|
|
Thanks to Mark Henderson and Jerry Leichter for reporting this. |
|
|
|
|
3. Moved the check for "negative argument to comma" from ExeCom to GetAra, |
|
|
|
|
where it belongs. This allows -1,5:w commands to work. Thanks to Jerry |
|
|
|
|
Leichter. |
|
|
|
|
4. Instead of "unterminated command", GetNmA now returns "ill-formed |
|
|
|
|
expression", an new error message, when the stack is bogus. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5-June-1991 version 145 |
|
|
|
|
|
|
|
|
|
0. Changed TVERSION in TECOC.H to 145. |
|
|
|
|
1. Modified PshMac to test set NumArg correctly, so a command like |
|
|
|
|
^UA1$2+MA=$$ will work. |
|
|
|
|
2. The "#else" on line 122 of ZUNIX.C should be a "#endif". |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5-June-1991 to 18-June-1993 version 146 |
|
|
|
|
|
|
|
|
|
0. Changed TVERSION in TECOC.H to 146. |
|
|
|
|
1. Removed the ~ and F~ commands (the EXETIL.C file and the ExeFTi function) |
|
|
|
|
They were temporary commands used by Mark Henderson. |
|
|
|
|
3. Added makefile.cct, fixed various minor nits suggested by CodeCenter. |
|
|
|
|
4. Fixed error in the way the EI command reads files. If the file being |
|
|
|
|
read was too large for the buffer, memory was getting stomped. Thanks |
|
|
|
|
to Mark Henderson for reporting the bug in detail and suggesting a fix. |