TEACL is a fork of TECOC created for the purpose of describing diffs in a document being collaboratively edited
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Blake McBride c8868c7fcb Added support for OpenBSD 6.0 5 years ago
..
win Finished Windows port (but no video) 7 years ago
aaout.txt Initial commit of merged but untouched source from 7 years ago
amodem.c Initial commit of merged but untouched source from 7 years ago
baksrc.c Initial commit of merged but untouched source from 7 years ago
bldstr.c Initial commit of merged but untouched source from 7 years ago
changes.txt Initial commit of merged but untouched source from 7 years ago
chmacs.h Initial commit of merged but untouched source from 7 years ago
clenup.c Initial commit of merged but untouched source from 7 years ago
clpars.tec Initial commit of merged but untouched source from 7 years ago
clpars.tes Initial commit of merged but untouched source from 7 years ago
cmatch.c Initial commit of merged but untouched source from 7 years ago
dchars.h Initial commit of merged but untouched source from 7 years ago
deferr.h Initial commit of merged but untouched source from 7 years ago
defext.h Initial commit of merged but untouched source from 7 years ago
docjr.c Initial commit of merged but untouched source from 7 years ago
doeves.c Initial commit of merged but untouched source from 7 years ago
doflag.c Initial commit of merged but untouched source from 7 years ago
dscren.h Initial commit of merged but untouched source from 7 years ago
echoit.c Initial commit of merged but untouched source from 7 years ago
err.c Some small Mac cleanups 7 years ago
exea.c Initial commit of merged but untouched source from 7 years ago
exeats.c Initial commit of merged but untouched source from 7 years ago
exeb.c Initial commit of merged but untouched source from 7 years ago
exebar.c Initial commit of merged but untouched source from 7 years ago
exebsl.c Initial commit of merged but untouched source from 7 years ago
exec.c Initial commit of merged but untouched source from 7 years ago
execcc.c Initial commit of merged but untouched source from 7 years ago
execln.c Initial commit of merged but untouched source from 7 years ago
execom.c Initial commit of merged but untouched source from 7 years ago
execrt.c Initial commit of merged but untouched source from 7 years ago
execst.c Initial commit of merged but untouched source from 7 years ago
execta.c Initial commit of merged but untouched source from 7 years ago
exectc.c Initial commit of merged but untouched source from 7 years ago
exectd.c Initial commit of merged but untouched source from 7 years ago
execte.c Initial commit of merged but untouched source from 7 years ago
execti.c Initial commit of merged but untouched source from 7 years ago
exectl.c Initial commit of merged but untouched source from 7 years ago
exectn.c Initial commit of merged but untouched source from 7 years ago
execto.c Initial commit of merged but untouched source from 7 years ago
exectp.c Initial commit of merged but untouched source from 7 years ago
exectq.c Initial commit of merged but untouched source from 7 years ago
exectr.c Initial commit of merged but untouched source from 7 years ago
exects.c Initial commit of merged but untouched source from 7 years ago
exectt.c Initial commit of merged but untouched source from 7 years ago
exectu.c Initial commit of merged but untouched source from 7 years ago
exectv.c Initial commit of merged but untouched source from 7 years ago
exectw.c Initial commit of merged but untouched source from 7 years ago
exectx.c Initial commit of merged but untouched source from 7 years ago
execty.c Initial commit of merged but untouched source from 7 years ago
exectz.c Initial commit of merged but untouched source from 7 years ago
exed.c Initial commit of merged but untouched source from 7 years ago
exedgt.c Initial commit of merged but untouched source from 7 years ago
exedot.c Initial commit of merged but untouched source from 7 years ago
exedqu.c Initial commit of merged but untouched source from 7 years ago
exee.c Initial commit of merged but untouched source from 7 years ago
exeequ.c Initial commit of merged but untouched source from 7 years ago
exeesc.c Initial commit of merged but untouched source from 7 years ago
exeexc.c Initial commit of merged but untouched source from 7 years ago
exeey.c Initial commit of merged but untouched source from 7 years ago
exef.c Initial commit of merged but untouched source from 7 years ago
exefb.c Initial commit of merged but untouched source from 7 years ago
exeg.c Initial commit of merged but untouched source from 7 years ago
exegtr.c Initial commit of merged but untouched source from 7 years ago
exeh.c Initial commit of merged but untouched source from 7 years ago
exei.c Initial commit of merged but untouched source from 7 years ago
exeill.c Initial commit of merged but untouched source from 7 years ago
exej.c Initial commit of merged but untouched source from 7 years ago
exek.c Initial commit of merged but untouched source from 7 years ago
exel.c Initial commit of merged but untouched source from 7 years ago
exelbr.c Initial commit of merged but untouched source from 7 years ago
exelst.c Initial commit of merged but untouched source from 7 years ago
exem.c Initial commit of merged but untouched source from 7 years ago
exen.c Initial commit of merged but untouched source from 7 years ago
exenul.c Initial commit of merged but untouched source from 7 years ago
exenyi.c Initial commit of merged but untouched source from 7 years ago
exeo.c Initial commit of merged but untouched source from 7 years ago
exeopr.c Initial commit of merged but untouched source from 7 years ago
exep.c Initial commit of merged but untouched source from 7 years ago
exeprc.c Initial commit of merged but untouched source from 7 years ago
exepw.c Initial commit of merged but untouched source from 7 years ago
exeq.c Initial commit of merged but untouched source from 7 years ago
exeqes.c Initial commit of merged but untouched source from 7 years ago
exer.c Initial commit of merged but untouched source from 7 years ago
exerbr.c Initial commit of merged but untouched source from 7 years ago
exertp.c Initial commit of merged but untouched source from 7 years ago
exes.c Initial commit of merged but untouched source from 7 years ago
exescl.c Initial commit of merged but untouched source from 7 years ago
exet.c Initial commit of merged but untouched source from 7 years ago
exeu.c Initial commit of merged but untouched source from 7 years ago
exeund.c Initial commit of merged but untouched source from 7 years ago
exeusc.c Initial commit of merged but untouched source from 7 years ago
exev.c Initial commit of merged but untouched source from 7 years ago
exew.c Initial commit of merged but untouched source from 7 years ago
exex.c Initial commit of merged but untouched source from 7 years ago
exey.c Initial commit of merged but untouched source from 7 years ago
exez.c Initial commit of merged but untouched source from 7 years ago
ff Initial commit of merged but untouched source from 7 years ago
findes.c Initial commit of merged but untouched source from 7 years ago
findqr.c Initial commit of merged but untouched source from 7 years ago
flowec.c Initial commit of merged but untouched source from 7 years ago
flowee.c Initial commit of merged but untouched source from 7 years ago
flowel.c Initial commit of merged but untouched source from 7 years ago
genclp.c Finished Windows port (but no video) 7 years ago
getara.c Initial commit of merged but untouched source from 7 years ago
getnma.c Initial commit of merged but untouched source from 7 years ago
inccbp.c Initial commit of merged but untouched source from 7 years ago
init.c Initial commit of merged but untouched source from 7 years ago
insstr.c Initial commit of merged but untouched source from 7 years ago
isradx.c Initial commit of merged but untouched source from 7 years ago
ln2chr.c Initial commit of merged but untouched source from 7 years ago
makdbf.c Initial commit of merged but untouched source from 7 years ago
makefile.ami Initial commit of merged but untouched source from 7 years ago
makefile.b32 Initial commit of merged but untouched source from 7 years ago
makefile.bsd Added support for OpenBSD 6.0 5 years ago
makefile.cct Initial commit of merged but untouched source from 7 years ago
makefile.dg Initial commit of merged but untouched source from 7 years ago
makefile.linux Restore video mode for Linux & Mac 7 years ago
makefile.osx Some small Mac cleanups 7 years ago
makefile.prj Initial commit of merged but untouched source from 7 years ago
makefile.sun Initial commit of merged but untouched source from 7 years ago
makefile.tc Initial commit of merged but untouched source from 7 years ago
makefile.ulx Initial commit of merged but untouched source from 7 years ago
makefile.win Finished Windows port (but no video) 7 years ago
makrom.c Initial commit of merged but untouched source from 7 years ago
popmac.c Initial commit of merged but untouched source from 7 years ago
problems.txt Initial commit of merged but untouched source from 7 years ago
pshmac.c Initial commit of merged but untouched source from 7 years ago
purge.c Initial commit of merged but untouched source from 7 years ago
pushex.c Initial commit of merged but untouched source from 7 years ago
rdline.c Initial commit of merged but untouched source from 7 years ago
rdpage.c Initial commit of merged but untouched source from 7 years ago
readcs.c Initial commit of merged but untouched source from 7 years ago
readme.1st Initial commit of merged but untouched source from 7 years ago
readme.lnx Initial commit of merged but untouched source from 7 years ago
replac.c Initial commit of merged but untouched source from 7 years ago
search.c Initial commit of merged but untouched source from 7 years ago
singlp.c Initial commit of merged but untouched source from 7 years ago
skpcmd.c Initial commit of merged but untouched source from 7 years ago
srclop.c Initial commit of merged but untouched source from 7 years ago
sserch.c Initial commit of merged but untouched source from 7 years ago
tabort.c Initial commit of merged but untouched source from 7 years ago
tecoc.c Initial commit of merged but untouched source from 7 years ago
tecoc.h Increment tecoc version to 147 7 years ago
test.c Initial commit of merged but untouched source from 7 years ago
tstsrc.tec Initial commit of merged but untouched source from 7 years ago
typbuf.c Initial commit of merged but untouched source from 7 years ago
typest.c Initial commit of merged but untouched source from 7 years ago
uminus.c Initial commit of merged but untouched source from 7 years ago
vrbmsg.h Initial commit of merged but untouched source from 7 years ago
wrpage.c Initial commit of merged but untouched source from 7 years ago
zamiga.c Initial commit of merged but untouched source from 7 years ago
zfirst.c Initial commit of merged but untouched source from 7 years ago
zfrsrc.c Initial commit of merged but untouched source from 7 years ago
zlinux.c Restore video mode for Linux & Mac 7 years ago
zmsdos.c Restore video mode for Linux & Mac 7 years ago
zos2.c Initial commit of merged but untouched source from 7 years ago
zosx.c Some small Mac cleanups 7 years ago
zport.h Finished Windows port (but no video) 7 years ago
zunix.c Restore video mode for Linux & Mac 7 years ago
zunix.c.save Initial commit of merged but untouched source from 7 years ago
zunkn.c Initial commit of merged but untouched source from 7 years ago
zvms.c Initial commit of merged but untouched source from 7 years ago
zwin32.c Finished Windows port (but no video) 7 years ago

readme.lnx

Running TECOC on Linux

Tecoc takes a first argument of mung, teco, or make to control its
operating mode. In this Linux version, the name of the executable is
tested to provide this first argument. Typically soft links are used
to the tecoc executable, however aliases could be used instead. The
mapping is:

Make is tecoc make (note uppercase first letter)
teco is tecoc teco
mung is tecoc mung
inspect is tecoc teco -inspect

The provided TAR file has these four soft links defined. Extract the
TAR file into a directory in your path, typically /usr/local/bin,
after making sure none of the command names already exist for other
applications. Necessary environment variables and files are described below.

Several option switches are allowed on the TECO command line:

-in[spect] -- Read file only, don't create an output file.
-noc[reate] -- If file doesn't exist, don't create it.
-noi[ni] -- Don't execute INI file. (valid for MAKE or MUNG as well)
-nom[emory] -- don't save filename as "last edited file" (valid for
MAKE also)
-nop[age] -- Formfeeds don't stop file reads (valid for MAKE also)
-nor[ename] -- Don't rename files, but copy them to keep references correct
(OS/2 only)
+nnn -- sets NOPAGE and positions dot to line nnn.

The part of the switch name in the square brackets is optional. For
instance "-in" is the same as "-inspect".

MAKE filespec

starts tecoc to create file filespec. Does equivalent of EWfilespec$$

TECO filespec

starts tecoc to edit file filespec. Does equivalent of
EBfilespec$Y$

TECO filespec2=filespec1

starts tecoc to edit filespec1, writing to filespec2. Does
equivalent of ERfilespec1$EWfilespec2$Y$$

TECO

starts tecoc to edit last edited file. Filename is saved in file
named teco*.tmp in the current directory, unless overriden
(described below).

MUNG filespec <args>

starts tecoc to execute filespec. Equivalent to
I<args>$JEIfilespec$$

You can use "TECO @filespec <args>" instead of MUNG.

**************
Key Bindings

The keys mentioned in the teco.doc file are somewhat confusing.
This should help:

<DELIM> The "Esc" key, "Esc" echoes as "$", however the
teco.doc file shows it as '`'.
<BS> Type as Control-h, this isn't the "Backspace" key.
<DELETE> The "Backspace" key. This isn't the "Delete" key.
<CR> The "Enter" key.
<LF> Type as Control-j.

Note that the assignments for <BS> and <DELETE> shown here are
swapped. <BS> can be "Backspace" and <DELETE> can be control-h by
clearing ET&2048, e.g. 2048,0ET


**************

The Initialization File.

Tecoc mungs (executes as teco commands) the file TECO.INI in the
current directory before processing the command line. Initialization
can be done instead by defining a TEC_INIT environment variable. The
value is either the list of teco commands to execute or a "$" followed
by the pathname of the file containing the initialization file. This
allows a single, centrally located initialization file. REMEMBER that
the "$" must be escaped, i.e. "\$"

The initialization file can be used to make initial settings. It can
return a value, but the value setting is somewhat obscure.

Example (csh):
setenv TEC_INIT 1es

Example (bash):
TEC_INIT=1es
export TEC_INIT

will cause successful searches to auto-display in all teco sessions.

**************

Changing the location of the memory file.

Define the environment variable TEC_MEMORY to be "$" followed by the
pathname of the file designated the memory file.

Example (csh):
setenv TEC_MEMORY ~/teco.mem
setenv TEC_MEMORY \$$TEC_MEMORY
Example (bash):
TEC_MEMORY = ~/teco.mem
TEC_MEMORY = \$$TEC_MEMORY
export TEC_MEMORY

will cause the name of the last edit file to be stored in the file
teco.mem in the home directory. By default the file name is tecoN.tmp in
the current directory, where "N" is the process ID of the parent process to
teco.


**************

The Libary directory

Defining the environment variable TEC_LIBRARY to be a directory path
(including the final "/") will allow the EI command to fetch
teco commands from this directory if the file is not found in the
current directory.

Example (csh):
setenv TEC_LIBRARY=\$/usr/local/lib/

will cause the directory /usr/local/lib to be searched for teco command files.


**************

Implemented flags:

ED&1 Allow carat "^" character in string searches
ED&2 Allow yank and _ unconditionally
ED&16 Failed searches preserve dot
ED&64 Move dot by one after each match in multiple occurance searches

ET&1 Type out in image mode
ET&2 Use scope for delete and control-U (default=1)
ET&4 Accept lowercase input (default=1)
ET&8 ^T reads without echo
ET&32 ^T reads with no wait
ET&128 MUNG mode (abort on error) cleared by "*" prompt
ET&2048 Swap backspace and delete
ET&4096 We are using 8 bit characters (default=1)
ET&32768 Trap control-C

EZ&1 Mark Henderson, who did much of the Unix port, likes the way
VAX/VMS keeps versions of files. VMS appends a semicolon followed
by a version number to files, and has the PURGE command to clean
out old versions of files. If this bit is off, TECO-C will handle
file version numbers, appending the appropriate version number to
file names. Mark supplied a "purge" program (distributed with TECO-C)
for users of this feature. Setting this flag turns off the feature,
to make TECO-C function as expected by the average Unix user. This
flag is set by default.
EZ&128 Don't stop read on formfeeds
EZ&256 If set, don't do newline translation on file read/write -- binary mode.
TECO is based on separate carriage return (CR) and line feed (LF)
line termination. Normally on file input newline (line feed)
characters are converted to CRLF pairs unless preceded
by a CR -- this allows reading DOS format files. On output CRLF pairs
are converted back to new line characters. Set this bit before starting
to edit a binary file, or when editing a DOS file for which no format
conversion is desired (ie file is saved back in DOS format).
EZ&8192 This bit is set by default, but has no significance in this release.
EZ&16384 Normally the backup file name is created by replacing the file extension
with "bak" -- foo.c becomes foo.bak, however if this bit is set then
the backup file name is created by simply adding ".bak" to the name -- foo.c
becomes foo.c.bak. This choice is overridden by EZ&1 = 0.