		MicroEMACS 3.9 Release Notes	July 22, 1987

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

	(C)opyright 1987 by Daniel M. Lawrence
	MicroEMACS 3.9 can be copied and distributed freely for any
	non-commercial purposes. MicroEMACS 3.9 can only be incorporated
	into commercial software with the permission of the current author.

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

	MicroEMACS 3.9 is availible in a couple of different ways. 
First, it is availible via my bulletin board system..... 

	The Programmer's Room
	FIDO 201/2
	(317) 742-5533
	24 hours  300/1200 baud

	Also it should be online on the following BBS's:

	The Starship Trooper	Fido 201/1	(317) 423-2281	2400
	Duncan Communications			(317) 567-2143	2400

	There it is arranged as three MSDOS .ARC files, EMACSDOC.ARC
which contains the documentation and command files, EMACSSRC.ARC which
contains the sources and the UNIX Makefile, and EMACSEXE.EXE which
contains the MSDOS executables.  Also all the various executables are
available individualy.

EMACSDOC.ARC includes the files:

	README		This file
	
	(These four files should be in your path for the standard setup)
	EMACS.RC	Standard startup file
	BOXMAC.CMD	Box drawing macroes
	INDENT.CMD	un/indenting commands
	BLOCK.CMD	rectangular region cut & paste macros

	ME110.RC	HP110 startup file
	ME150.RC	HP150 startup file
	AMIGA.RC	AMIGA ".emacsrc" startup file
	
	EMACS.HLP	Online help file
	EMACS.MSS	MicroSCRIBE format of EMACS.TXT
	EMACS.TXT       NEW EMACS BEGINNER'S/REFERENCE MANUAL

	AZMAP.CMD	Translate .SYM files to .MAP
	BDATA.CMD	BASIS Data statement builder
	FINDCOM.CMD	Find mismatched C comments
	FUNC.CMD	Allow function keys on systems with non (like UNIX)
	MENU.CMD	Sample Menu system
	MENU1		   datafile for menu system
	TRAND.CMD	Generate random numbers and do statistics on them

EMACSSRC.ARC includes the files:

	ANSI.C		ANSI screen driver
	BASIC.C		basic cursor movement
	BIND.C		key binding commands
	BUFFER.C	buffer manipulation commands
	CRYPT.C		encryption functions
	DOLOCK		file locking stub routines
	DG10.C		Data General 10 screen driver
	DISPLAY.C	main display driver
	EBIND.H		binding list
	EDEF.H		global variable declarations
	EFUNC.H		function name list
	EPATH.H		default path settings
	ESTRUCT.H	configuration and structure definitions
	EVAL.C		expression evaluator
	EVAR.H		EMACS macro variable declarations
	EXEC.C		macro execution functions
	FILE.C		user file functions
	FILEIO.C	low level file I/O driver
	HP110.C		HP110 screen driver
	HP150.C		HP150(A or C) screen driver
	IBMPC.C		IBM-PC CGA and MONOCHROME driver
	INPUT.C		low level user input driver
	ISEARCH.C	incremental search functions
	LINE.C		text line manipulation functions
	LOCK.C		file locking functions
	MAIN.C		argument parsing and command loop
	RANDOM.C	other random user functions
	REGION.C	region cut & paste functions
	SEARCH.C	search and replace functions
	SPAWN.C		OS interface driver
	ST520.C		ATARI ST1040 screen driver [not verified]
	TCAP.C		Termcap screen driver
	TERMIO.C	low level I/O driver
	TIPC.C		TI-PC screen driver
	VMSVT.C		VMS screen driver
	VT52.C		VT52 screen driver
	WINDOW.C	window manipulation functions
	WORD.C		word manipulation functions
	Z309.C		Zenith 100 PC series terminal driver

EMACSEXE.ARC includes the files:

	MEIBM.EXE	IBM-PC CGA/MONO/EGA version
	MEANSI.EXE	MSDOS ANSI graphics version
	ME110.EXE	HP110 portable version
	ME150.EXE	HP150 version
	ME309.EXE	Zenith 100 PC series version
	ME520.PRG	Atari 520/1040ST version
	MEAMIGA.	Amiga 1000 version

	At the same time as this release, MicroSPELL 1.0 is being
released.  This program allows you to spell check text files and uses
MicroEMACS to scan the file, doing various corrections.

	MicroSCRIBE, a fairly SCRIBE compatible text formater to go
along with these programs will probably be available for beta testing
early winter 1987.  This program is turning out to be a lot more complex
than I thought it would be, and is taking more time to get out.

	I have in my possesion a port of MicroEMACS 3.8i to the
Macintosh, and I will be incorporating the needed changes for the current
version to support the Macintosh.

	Also, I just recieved the modifications to an earlier EMACS for
the AMIGA made by Commodore.  I will be adding these to the current
version in the near future.

	As before, I will continue to support these programs, and
encourage everyone to spread them around as much as they can.  If you
make what you think are changes that are usefull to many, send me the
updates, and as time permits, I will incorporate the ones I understand,
and agree with into the master sources.  Being overwelmed with mailers,
I have discontinued my mailing offer, but if you have a special problem
getting hold of MicroEMACS, contact me and we can work something out for
you. 

	USmail:	Daniel Lawrence
		617 New York St
		Lafayette, IN 47901

	UUCP:	ihnp4!pur-ee!pur-phy!duncan!lawrence
	or	ihnp4!itivax!duncan!lawrence
	ARPA:	nwd@j.cc.purdue.edu
	FIDO:	The Programmer's Room 201/2
		(317) 742-5533
	ATT:	(317) 742-5153

BTW:	While I am not soliciting them, I will not turn down donations
	of machinery and or funds to help sponsor development on these
	programs.


		New Features since version 3.8i
		===============================

***	New Variables (there are a lot...)

	$status		returns status of last command
	$palette	color palette settings
	$lastkey	returns last keystroke
	$curchar	returns and set the ascii number of the
			character under the point
	$progname	always returns "MicroEMACS"
	$version	always returns the current version ("3.9")
	$discmd		sets display of messages on the command
			line (except via the write-message command)
	$disinp		sets echoing of characters during input on the
			command line
	$wline		returns and sets # lines in current window
	$cwline		returns and set current line within window
	$target		returns/sets target for line moves
	$search		returns/sets default search string
	$replace	returns/sets default replace string
	$match		returns last matched string in magic search
	$cmode		returns/sets encoded mode of current buffer
	$gmode		returns/sets encoded global mode (see appendix E
			in emacs.mss to decode this)
	$tpause		returns/sets the pause for fence matching
			(this is in rather arbitrary units which
			WILL vary from machine to machine)
	$line		return/sets the contents of the current line

***	New computers supported

	Atari 1040ST	all three graphics modes, mouse is bound
			to cursor keys for now.

***	New Compilers supported

	Turbo C v1.0 under MSDOS is now a supported compiler.

**	New directives

	!while <condition>	loops while <cond> is true

		!break		breaks out of the innermost !while

	!endwhile		delimits the end of a !while loop

	All !gotos are legal into and out of a !while loop.

***	Autosave mode

	This mode saves the file out to disk every time 256 have been
inserted. $asave controls the # of characters between saves, $acount
controls the # of chars to the next save.

***	New functions

	&and	<log> <log>	Logical AND
	&or	<log> <log>	Logical OR
	&len	<str>		returns length of <str>
	&lower	<str>		lowercase <str>
	&upper	<str>		uppercase <str>
	&rnd	<int>		generate a random integer between 1 and <int>
	&sindex <str1> <str2>	search for string 2 within string 1
				returning its position, or zero if it fails
	&env	<str>		return value of DOS envirionment
				variable <str>
	&bind	<str>		returns the function name bound to the
				key <str>

***	Advanced word processing commands

	^X^T	trim-line	trim all trailing whitespace
	^X^E	entab-line	change all multiple char runs to tabs
	^X^D	detab-line	change all tabs to multiple spaces

***	Merged EGA driver

	The EGA driver is now part of the IBM-PC driver. This driver now
supports MONO, CGA and EGA cards/modes. (settable by using the $sres
variable)

***	8 bit characters fully supported

	Eight bit characters (including foreign language and line
drawing characters) are now supported on the various micro environments)

***	List Buffers expanded

	Given a numeric argument, ^X^B (list-buffers) will now also list
all the hidden internal buffers.

***	-k switch enhanced

	If you use the -k (encrypted file) switch on the command line
without a key immediatly following it, it will prompt you for the key to
use to decrypt with.

***	word delete enhanced

	with a zero (0) argument, M-D (delete-next-word) deletes the
next word and not any intervening whitespace or special characters.

***	New File read hook

	Whenever MicroEMACS reads a file from disk, right before it is
read, whatever function is bound to M-FNR (which is an illegal
keystroke) will execute. By default this would be (nop), but the
standard emacs.rc binds this to a file that examines the file name and
places the buffer int CMODE if the extension ends in a .c or .h. You can
of course redefine this macro to taste.

***	Search Path modified

	The order in which emacs looks for all .rc (startup) and
.cmd (command macros) is as follows:

	$HOME			(the HOME environment variable if it exists)
	the current directory
	$PATH			(executable PATH)
	default list contained in epath.h

***	Line length limits removed

	Lines of arbitrary length may be read, edited, and written.

***	Out of memory handling improved

	EMACS will announce "OUT OF MEMORY" when it runs out of dynamic
memory while reading files or inserting new text. It should then be safe
to save buffers out IF THE CONTENTS OF THE BUFFER ARE COMPLETE at that
time. As before, still bewary of killing blocks of text after you have
run out of memory.
