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.
|