This introduction was written by Kenneth Almquist (ka@hrojr.hr.att.com)


		      *** Package Overview ***

This package contains an updated version of the tty subsystem for use
with Linux kernel release 0.99.pl5 or 0.99.pl6.  Its main features are
greater POSIX compatibility, an EMACS-like line editing mode, and
improved documentation.  The file "contents" contains a list of all
files included in this release.


		     *** Development Status ***

This is an ALPHA release.  The POSIX compatibility work is basicly
done.  The EMACS-like line editing mode is based on fairly well tested
code that was ported to Linux, but it will be modified significantly
in the next release.  Currently, it strips characters to seven bits,
and does not use termcap so it will not necessarily work properly on
terminals other than the Linux console.  The documentation is
primitive.



			*** Installation ***

You can install this package on an 0.99 kernel with patch level 5 or
6.  I have done attempted to ensure that it can be installed on later
patch levels as well.

These instructions assume that this distribution has been read into
the directory $d and that the linux kernel source resides in $l.  You
can typically set these up by saying
	d=`pwd`
	l=/usr/src/linux

Step 1)  Save some files so that they won't be overwritten by step 2.
	cd $l
	mv include/linux/tty.h include/linux/SAVEtty.h
	mv kernel/chr_drv/serial.c kernel/chr_drv/SAVEserial.c

Step 2)  Load the source.
	cd $l
	tar xvof $d/kernel.tar

Step 3)  Apply patches.  These improve the handling of software
interrupts and add the new files to kernel/chr_drv/Makefile.
	cd $l
	patch -p1 < $d/patches

Step 4)  Update the dependency files
	cd $l
	make dep

Step 5)  Rebuild the kernel
	make
	/etc/lilo/install	# or other appropriate command



			*** Trying It Out ***

First, switch to line discipline 8, which provides all the new
functionality.
	stty line 8
Then do a stty -a command to be sure that it worked.  If you are using
bash you may wish to type "set +o emacs" to get the terminal into
cooked mode.  (You can also run a program like bc which doesn't do its
own input line editing.)  You also want to set the iexten flag and
probably request CRT line editing as well:
	stty iexten echoe echok
At this point, erase and kill should erase characters (including tabs)
from the screen for you, and word erase should work.  Just for fun you
can try word erase (^W) and literal next (^V).

All this is great, but you are an individual with high standards, and
you want more.  Cd to the distribution directory and run ttyedit
	cd $d
	./ttyedit emacs.bindc
Now you can use emacs-like editing commands to edit your input.  (If
you can't, be sure the iexten flag is set.)  If you don't like the
particular choice of key bindings, edit emacs.bind to your liking (see
kbind.1 for explanations), run "kbind emacs.bind" to recreate
emacs.bindc, and run ttyedit again.  Being a highly perceptive and
sensitive human being, you notice some deficiencies, such as the fact
that it doesn't use termcap and therefore doesn't work on non-ansi
terminals.  But you are uncompromising in your quest for excellence,
and you resolve to send your suggestions to ka@hrojr.hr.att.com and
immediately test the next release when it becomes available.


By the way, if you have trouble using ^V in emacs, that is because
emacs doesn't disable the literal next character.  Somebody should
track down this bug (which is almost certainly in the port to Linux
rather than in the FSF code), but for now I just do "stty lnext undef".
