[comp.binaries.ibm.pc.d] Elvis - I wrote it

kirkenda@eecs.cs.pdx.edu (Steve Kirkendall) (11/16/90)

Hello!  I'm the guy who wrote Elvis.  I'd like to clear up a few things...

COPYRIGHT:
	Elvis is copyrighted by me, but (for the current versions, at least)
	I am allowing it to be redistibuted by anybody, for any purpose, with
	no restrictions.

	Elvis 1.2 is being distributed with Minix.  Elvis 1.4 is part of
	the newest version of Coherent, and it will probably be part of
	Amoeba.  Some version of Elvis will probably be distributed with
	GNU, too.

MOTIVATION:
	I've always wanted my own version of vi, so I could change a few
	things.  I did a lot of designing a few years ago, but I didn't
	actually start writing code until the day that "Stevie" crashed,
	costing me over an hour of work.

	I wrote Elvis because I wanted a good reliable RECOVERABLE editor
	that could run under Minix.  Obviously I'm a vi addict, so my
	definition of "good" is severely bent.

	And now that it's done (sort of), I want Elvis to be distributed as
	widely as possible, in order to bring fame and glory to the name of
	Steve Kirkendall.

	So I'm glad that it was posted to c.b.i.p, and if you want to archive
	it or share it with friends... Thank you!

HISTORY:
	The source to Elvis 1.0 was posted in early January 1990, to the
	comp.os.minix newsgroup.  Many bug reports and bug fixes followed,
	so version 1.1 was posted in (I think) late January or early February.

	I continued to fix bugs as they were reported.  In late February,
	Andy Tanenbaum asked if he could include Elvis with the next version
	of Minix.  I said "yes", and mailed him the most up-to-date version
	available.  I called it 1.2.  It wasn't really a good stopping point,
	but deadlines were approaching and he needed it NOW.

	After I sent Dr.T version 1.2, Guntram Blohm and Martin Patzel sent
	me the patches needed to make Elvis work under DOS.  After a few weeks
	of give-and-take, we had a single set of source that could compile
	under both DOS and Minix/UNIX.  This was version 1.3.  In late March,
	I submitted it to the moderator of comp.sources.unix -- the Minix
	newsgroup no longer seemed appropriate.

	Version 1.3 never appeared on c.s.unix.  I kept asking the moderator
	"When?" and he kept saying "Soon!" but in September I gave up and
	posted 1.3 to alt.sources myself.  I had to.  Version 1.4 was nearly
	done, and all I needed was a zillion or so bug reports to make 1.4
	perfect.

	I got the bug reports, all right.  One of them -- the rename bug under
	MS-DOS -- was important enough that I posted a fix immediately.  The
	other bug fixes went into 1.4.  Version 1.4 has also been ported to
	a few more OS's.

	About a month ago I finished 1.4, and submitted it to comp.sources.unix
	again.  I know, I know.  But the moderator promised me he'd post it
	within five days, so I thought I'd give him another chance.  That was
	a month ago.  Still waiting.

	I'm working on 1.5 now.

DOCUMENTATION:
	Documentation is available.  I'm surprised it wasn't distributed with
	the binaries.

	In version 1.4, I include a formatted 50-page manual, plus "man" pages
	for each program.  The "man" pages must be processed by nroff or troff.

IBM PC COMMENTS:
	Elvis runs faster if you use a good ANSI console driver.  NANSI.SYS and
	FANSI.SYS have been reported to work well.  To make Elvis use the
	console driver, you should "set TERM=ansi" for ANSI.SYS (which sucks)
	or "set TERM=nansi" for any other ANSI console driver.

	Version 1.5 will probably have a "color" command, but for 1.3 and 1.4,
	you can only change the BIOS colors by editing the attr[] table
	in the "pc.c" file.  If you use an ANSI console driver, though, then
	*I THINK* the colors are determined solely by the driver, not by Elvis.
	(I can't say that with a whole lot of confidence, though, because I
	don't personally use MS-DOS.)

	By default, temp files are stored in the directory "C:\tmp".  This
	directory must exist before you can run Elvis.

	Since ".exrc" is not a valid filename under DOS, the initialization
	commands are stored in "elvis.rc" instead.  The version posted to
	c.b.i.p. only checks in the current directory.  If you have the
	sources, though, you can configure it to also check in your HOME
	directory or in a standard system-wide file.

	You should probably add "set sync" to your elvis.rc file.  This causes
	Elvis to flush disk I/O after every change.  Without this, you have
	*NO* chance of recovering you changes after a system crash or power
	failure.

- Share and Enjoy -
-------------------------------------------------------------------------------
Steve Kirkendall     kirkenda@cs.pdx.edu      Grad student at Portland State U.