997 lines
45 KiB
Plaintext
997 lines
45 KiB
Plaintext
|
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.
|