Mon Jan 30 xx:xx:xx 2001 Dorai Sitaram <ds26@gte.com>

        * packaged for CTAN

Sat Nov 11 20:00:00 2000 Dorai Sitaram <ds26@gte.com>

        * Version 2.8.1

        * \leftdisplays was not allowing pagebreaks
        inside \eqalignno.  Bug reported by Ludger Hentschel 
        <hentschel@simon.rochester.edu>.  Fixed by 
        Donald Arsenau <ASND@erich.triumf.ca>.

        * doc/btxdoc.bib included alongside doc/btxdoc.tex

Sat Sep 2 13:20:00 2000 Dorai Sitaram <ds26@gte.com>

        * Version 2.8 

Sun May 7 09:40:00 2000 Dorai Sitaram <ds26@gte.com>

        * Fixed problem where Eplain's redefinition of \iterate
        was causing nameclash of \next in a TeXdraw macro.
        Suggested by TeXdraw author Peter Kabal
        <kabal@ece.mcgill.ca>.        

Sat Apr 9 00:17:00 2000 Adam Lewenberg <adam@macrotex.net>

        * xeplain.tex: Fixed problem introduced when double column uneven 
	bug was `fixed'. 

Sun Apr 25 22:30:00 1999 Adam Lewenberg <ahl@uakron.edu>

        * doc/progdef.texi: Added a section on user-defined environments
	to progdef.texi and fixed a few typos in documentation. Suggested
	by Paul Abrahams.  
	
Thu May 14 11:30:00 1998  Adam Lewenberg <ahl@uakron.edu>

        * xeplain.tex: Changed \columnfill after suggestion of 
        Helmut Jarausch <jarausch@IGPM.Rwth-Aachen.DE>. 
       
Wed Dec 5 09:10:00 1997  Adam Lewenberg <adam@math.uiuc.edu>

        * Version 2.7.

        * xeplain.tex: Added the control sequence \gutterbox as a hook
        to add arbitrary vertical material between columns in
        multi-column mode. 
       
Wed Mar 26 07:17:00 1997  Adam Lewenberg <adam@math.uiuc.edu>

        * xeplain.tex: Moved an \obeywhitespace to the end of the
        definition of \verbatim to remove spurious space.
        Suggested by Dorai Sitaram. 

Wed Jan 28 08:00:00 1997  Adam Lewenberg <adam@math.uiuc.edu>

        * xeplain.tex: Added \def\@emptymarkA{\@emptymarkB} so that
        \ifempty\undefined is false. Suggested by Stanislav Brabec. 

Sat Oct 5 18:11:00 1996  Adam Lewenberg <adam@math.uiuc.edu>

        * xeplain.tex: Changed a line in the definition of \@fineqdefn
        to remove a \noexpand which seemed to be causing a problem
        with \eqdef. 

Tue Sep 24 10:25:00 1996  Adam Lewenberg <adam@math.uiuc.edu>

        * xeplain.tex: Added some code to multiple columns so that
        when switching from multi- to single-columns the last line or
        so does not get lost. Let's hope it works; added a \newif. 

Wed Apr 1 10:11:00 1996  Adam Lewenberg <adam@math.uiuc.edu>

        * arrow.tex: changed \smash to \smash@@ (a synonym for plain's 
        smash) so that arrow.tex works with amstex.
	
        * xeplain.tex: Put a test at the start so that eplain.tex is loaded
        only once.
	
	* xeplain.tex: changed -1in to -1truein in margin macros; 
	Macros affected:
  	    \@finishtopmargin
	    \@finishleftmargin
	    \@computebottommargin
	    \@computerightmargin
	    \indexsetmargins.
	Also, initialize \paperheight to 11truein and \paperwidth to
        8.5truein when \mag is not 1000.

        These changes forced a redefinition of \magnification in the event
        that \magnification is called AFTER eplain.tex is \input (in
        particular, when \magnification is used with an eplain .fmt). 

        * xeplain.tex: changed {toc} to {#1} in the definition of 
	\readcontentsfile to allow more general use. 

        * merge: the merge script improperly replaced "xeplain" by "eplain"
        in too many places.
	
Mon Nov 13 14:14:28 1995  Karl Berry  <karl@cs.umb.edu>

        * btxmac.tex: Update for Oren's new 0.99k.

Tue Mar 14 11:36:55 1995  Karl Berry  <karl@cs.umb.edu>

        * xeplain.tex: Doc fix.

Sat Apr 30 05:58:31 1994  Karl Berry  (karl@cs.umb.edu)

        * Version 2.6.

        * xeplain.tex (toc commands): Rewrite to allow general toc's.

        * xeplain.tex: Include indexing commands.

Sun Apr 24 14:59:59 1994  Kathy Hargreaves  (karl@cs.umb.edu)

        * xeplain.tex (\eqalignno): put \hfil back in (from plain) front of
        first \@align, so lhs will be right justified.

Fri Apr 15 17:46:39 1994  Karl Berry  (karl@ra.cs.umb.edu)

        * merge: Split arrow into pre- and post-catcode changes.
        * xeplain.tex: Read both parts.

Wed Mar 30 14:34:52 1994  Karl Berry  (karl@ra.cs.umb.edu)

	* xeplain.tex: Globally replace \dimen0 with \dimen@, why not.

Wed Mar 30 13:19:59 1994  Karl Berry  (karl@cs.umb.edu)

        * Version 2.5.

        * xeplain.tex (\@makeverbatimdoubleescape): New macro from
        dorai@cs.rice.edu.
        (\verbatimescapechar): Call it.

Mon Mar 28 11:09:03 1994  Karl Berry  (karl@cs.umb.edu)

        * xeplain.tex (\@maybewarnref): Call \ref at the end.

Tue Mar 22 10:48:01 1994  Karl Berry  (karl@cs.umb.edu)

        * Version 2.4.

Tue Mar 15 12:01:57 1994  Karl Berry  (karl@cs.umb.edu)

        * xeplain.tex (\@maybewarnref): New macro.
        (\ref): Define to that initially.
        (\eplainref): Name the real definition this.

Sat Mar 12 15:32:32 1994  Karl Berry  (karl@cs.umb.edu)

        * xeplain.tex (\@columnsplit): Omit doing the looping; it causes
        strange column splits on my index tests.

Tue Mar  8 10:59:31 1994  Karl Berry  (karl@cs.umb.edu)

        * xeplain.tex (\@columns): Correct for one too many gutters.

Sat Mar  5 15:16:47 1994  Karl Berry  (karl@cs.umb.edu)

        * xeplain.tex (\@numcolumns): Remove \newcount in favor of a \chardef.
        (\columnfill): New macro.

Thu Mar  3 14:31:16 1994  Karl Berry  (karl@cs.umb.edu)

	* xeplain.tex (\@oldandcode, \@plainnew{if,dimen}): New control
	sequences, so we can read arrow.tex conditionally a la bibtex.

	* xeplain.tex (\@oldatcatcode): Rename to \@eplainoldatcode, so
	btxmac and arrow's redefinitions don't affect us.

Sat May 22 11:24:31 1993  Karl Berry  (karl@cs.umb.edu)

	* Makefile.in (dist): Run gzip -9.

Sun Apr 11 15:19:18 1993  Karl Berry  (karl@cs.umb.edu)

	* xeplain.tex (\@eqdefn): \@definelabel after the \definexref.

	* xeplain.tex (\xrlabel): Append an `x' after the _.

Mon Mar 15 08:42:49 1993  Karl Berry  (karl@cs.umb.edu)

	* btxmac.tex (\@readbblfile): Let our default \end be \@gobble.

	* btxmac.tex (\@readbblfile): Don't define \begin and \end if
	\begin is already defined.

	* btxmac.tex (\@onecitation): Call \@printcitelabel.
        (\@printcitelabel): New macro.

Mon Mar  1 06:26:46 1993  Karl Berry  (karl@cs.umb.edu)

	* Version 2.3.

Tue Feb 23 16:52:49 1993  Karl Berry  (karl@cs.umb.edu)

	* Makefile.in (dist): Copy info files to my local info directory.

Sun Feb 21 11:07:38 1993  Karl Berry  (karl@cs.umb.edu)

	* xeplain.tex (\definexref, \ref, etc.): New macros.
        (\@eqdefn, \writeitemxref, \xrdef): Use \definexref.

	* xeplain.tex (\{set,get}property): New macros from generic.

	* xeplain.tex (\tokstostring): This is no longer defined.

Sat Feb 20 08:07:12 1993  Karl Berry  (karl@cs.umb.edu)

	* xeplain.tex (\hook{append,prepend,action,actiononce,run}): New
	macros.

	* xeplain.tex (\expandifdefined): Remove.

	* Makefile (default): Change default to `eplain.tex'.

	* xeplain.tex (\toks@ii): New definition.

Fri Feb  5 08:07:21 1993  Karl Berry  (karl@cs.umb.edu)

	* Makefile (dist, eplain.tex): Pass version explicitly.

Sun Jan 17 14:08:14 1993  Karl Berry  (karl@cs.umb.edu)

	* Makefile (dist): Copy add-version.

Sun Dec 27 17:00:59 1992  Karl Berry  (karl@cs.umb.edu)

	* xeplain.tex (\csn, \ece): New macros.

Fri Dec 18 10:11:33 1992  Karl Berry  (karl@cs.umb.edu)

	* xeplain.tex (\expandifdefined): New macro.

Sun Nov 22 12:03:13 1992  Karl Berry  (karl@cs.umb.edu)

	* xeplain.tex (\ifempty, \@@ifempty): Restore from an old btxmac,
	as some people were using them.

Wed Nov 18 11:15:16 1992  Karl Berry  (karl@cs.umb.edu)

	* xeplain.tex: Doc fix.

Thu Nov 12 17:52:24 1992  Karl Berry  (karl@cs.umb.edu)

	* xeplain.tex (\if@leftdisplays): New conditional.
        (\{left,centered}displays): Set it and test it appropriately.

	* xeplain.tex (\displaysetup): Rename to \leftdisplaysetup.

	* xeplain.tex (\centereddisplays): Don't set \displaysetup to
	\relax, just go back to the \previouseverydisplay.

Wed Nov 11 07:08:18 1992  Karl Berry  (karl@cs.umb.edu)

	* Version 2.2.

Mon Nov  9 09:50:43 1992  Karl Berry  (karl@cs.umb.edu)

	* xeplain.tex (\{,end}orderedlist): Synonyms for \{,end}numberedlist.

Fri Nov  6 15:19:03 1992  Karl Berry  (karl@cs.umb.edu)

	* xeplain.tex (\@removebox): Don't use \lastbox unless we're in
	horizontal mode.
        ( ): \let to `\ ', instead of \def.

Mon Oct 19 09:10:56 1992  Karl Berry  (karl@cs.umb.edu)

	* xeplain.tex (\boxit): Define to be \long.

Fri Oct  9 10:19:05 1992  Karl Berry  (karl@cs.umb.edu)

	* xeplain.tex (\everylist): New toks register.
        (\beginlist): Expand it.

Thu Oct  8 17:42:33 1992  Karl Berry  (karl@cs.umb.edu)

	* Makefile (topfiles): Add `NEWS'.

	* xeplain.tex (\footnoterulewidth): Define as 2in, not 2true in.
	Why did Knuth do this?

Fri Oct  2 11:48:26 1992  Karl Berry  (karl@cs.umb.edu)

	* xeplain.tex: doc fix.

Sat Sep 19 17:32:44 1992  Karl Berry  (karl@hayley)

        * xeplain.tex (\xrlabel): set the catcode of _ to 8 before the
          definition, to protect ourselves.  (From adam@symcom.math.uiuc.edu)

Tue Aug 25 12:06:50 1992  Karl Berry  (karl@hayley)

        * xeplain.tex: save and restore the catcode of @ as we do with
          btxmac.tex.

Tue Aug 11 07:54:52 1992  Karl Berry  (karl@hayley)

        * xeplain.tex (\fmtversion): use `23 April 1964' style instead of
          Unix-y timestamp style.

Sat Aug  8 12:04:29 1992  Karl Berry  (karl@hayley)

        * Makefile (eplain.tex): depend on Makefile.

Fri Aug  7 14:43:22 1992  Karl Berry  (karl@Prometheus)

        * xeplain.tex (\displayhook): remove this \newtoks.
        (\leftdisplays): don't insert it into \everydisplay.

Fri Jul 31 17:00:23 1992  Karl Berry  (karl@hayley)

        * Makefile (topfiles): use *.sty, not just texnames.sty.

Sat Jul 25 17:23:10 1992  Karl Berry  (karl@hayley)

        * path.sty: new version (with Phil's blessing).  Changes recorded
          in the file itself.

Fri Jun 19 09:17:04 1992  Karl Berry  (karl@hayley)

        * xeplain.tex (\@lefteqalignnonoalign): use \parindent=0pt instead
          of \noindent to lose the indentation.

Thu Jun 11 09:13:14 1992  Karl Berry  (karl@hayley)

        * arrow.tex: new version from Steven, changes only the license.

Fri May 29 08:46:35 1992  Karl Berry  (karl@hayley)

        * Makefile (dist): include add-date.

        * merge: include path.sty.
        * xeplain.tex: leave marker.
        * Makefile (eplain.tex): depend on path.sty.

Mon May 25 11:16:15 1992  Karl Berry  (karl@hayley)

        * xeplain.tex (\writenumberedtocentry): only expand the ``number''
          once, via \expandafter and \the\toks.

Thu May 21 09:11:05 1992  Karl Berry  (karl@hayley)

        * xeplain.tex (\verbatim, \endverbatim): do not begin and end with
          \par.

Sat May 16 11:26:19 1992  Karl Berry  (karl@hayley)

        * xeplain.tex (\makeblankbox): assign to \errhelp before the
          \errmessage. 

Sat May  9 06:42:57 1992  Karl Berry  (karl@hayley)

        * xeplain.tex (\writenumberedtocentry): \edef the extra number, so
          \the<register> gets expanded.

Wed May  6 15:46:52 1992  Karl Berry  (karl@hayley)

        * Makefile (realclean): separate from distclean, and remove INSTALL.

Tue May  5 11:25:44 1992  Karl Berry  (karl@hayley)

        * Makefile (install): install eplain.tex.

Tue Apr 28 08:28:29 1992  Karl Berry  (karl@hayley)

        * Makefile (distclean): new target.

Sun Apr 19 08:18:22 1992  Karl Berry  (karl@hayley)

        * xeplain.tex (\expandonce): new macro from generic.

        * xeplain.tex (\@setuplisting): set \parskip = 0pt.

        * xeplain.tex (\@setuplisting): use `\listingfont' instead of \tt.
        (\listingfont): new macro.

Thu Apr  9 09:27:25 1992  Karl Berry  (karl@hayley)

        * Makefile: use $(MAKE) to do submakes.

Tue Mar 31 14:10:45 1992  Karl Berry  (karl at hayley)

        * xeplain.tex (\boxit): use \ehrule and \evrule.

Wed Mar 25 09:27:51 1992  Karl Berry  (karl at hayley)

        * Version 2.1.

        * xeplain.tex (^^I): don't do \tt while defining this, as we might
          not have any fonts yet.

Sun Mar 15 06:58:33 1992  Karl Berry  (karl at hayley)

        * Makefile: general cleanup.

        * btxmac.tex: version 0.99j, from Oren.

Thu Mar  5 13:53:06 1992  Karl Berry  (karl at claude.cs.umb.edu)

        * Version 2.0.

        * New btxmac.tex from Oren.
        
        * doc/eplain.texinfo: replace GPL.

Mon Feb 17 14:19:27 1992  Karl Berry  (karl at hayley)

        * btxmac.tex (\newcommand): use \@getoptionalarg.
        (\@continuenewcommand): rewrite accordingly.
        (\@newcommandwithargs): delete.
        (\bibitem, \@bibitem): likewise.

        * btxmac.tex (\biblabelprint): use \p{re,ost}biblabelcontents
          instead of hardwiring the \hss.
        (\@readbblfile): in \@alphabibitem and \@numberedbibitem, define
          the appropriate one to \hss to do the justification.

        * btxmac.tex (\@readauxfile): improve comments.

        * btxmac.tex (\biblabelprint): \kern\biblabelextrahang, instead of
          \enspace.
        (\@readbblfile): change comment at \biblabelextrahang.

Fri Feb  7 08:11:07 1992  Karl Berry  (karl at hayley)

        * eplain.texinfo (Cross-references): bring the list of valid chars
          in references up-to-date.

Wed Feb  5 12:05:09 1992  Karl Berry  (karl at hayley)

        * xeplain.tex: remove spurious spaces from ends of definitions.

        * xeplain.tex: marker for arrow.tex.
        * merge: include arrow.tex in eplain.tex.
        * arrow.tex: new file.

Mon Jan 27 06:22:43 1992  Karl Berry  (karl at hayley)

        * xeplain.tex (*printmarker): use \listmarkerspace instead of
          \enspace.
        * eplain.texinfo (List formatting): document this.

        * xeplain.tex (\linenumberedlisting, \printlistinglineno): new
          macros, from FABROADI@CUGSBVM.BITNET.
        * eplain.texinfo (Verbatim listing): document them.

        * eplain.texinfo (Verbatim listing): document it.
        * xeplain.tex (\verbatim): new macro, mostly from
          beebe@math.utah.edu, to do inline verbatim mode.

        * eplain.texinfo (Footnotes): say that the space above the rule
          and below the text is \skip\footins.

        * xeplain.tex (\center, \flush{left,right}): define with \gdef;
          remove the \globaldefs = 1.

        * eplain.texinfo (Logos): add some more.
        * xeplain.tex: include texnames.sty.

Thu Jan 23 08:35:43 1992  Karl Berry  (karl at hayley)

        * xeplain.tex (\writenumberedtocentry): \sanitize the section
          number (arg#3), in case it happens to have weird control
          sequences in it (e.g., if it's an author's name instead of a
          number).

Wed Jan 15 10:52:32 1992  Karl Berry  (karl at hayley)

        * eplain.texinfo (Citations): document \bblfilebasename.

        * eplain.texinfo (Contents): document this.
        * xeplain.tex (\readtocfile, \opentocfile): use \tocfilebasename.
        (\tocfilebasename): defaults to \jobname.

Fri Dec 27 11:07:41 1991  Karl Berry  (karl at Prometheus)

        * btxmac.tex (\@getoptionalarg): set \@optionalnext to \relax
          before using it as the arg to \@futurenonspacelet.

Sat Dec  7 07:23:14 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\eqnofontfam): remove this.  What was I thinking of?

Fri Dec  6 12:57:16 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\eqnofontfam): change from \mit to \rm.
        (\eqprint): enclose the font change in a group.

        * xeplain.tex (\displaysetup): subtract \leftskip from
          \displaywidth (on the umpteenth alternation here); also, don't
          \hskip by \displaywidth after advancing by the extra parameters.
          Instead, use a temporary.  (Otherwise, we would \hskip by too much.)

Mon Nov 18 06:57:33 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\eqprint): call \eqnofontfam first.
        (\eqnofontfam): define to be \mit.

        * xeplain.tex (\leftdisplays): decrease \hsize, so \noalign in
          \eqalignno doesn't produce an overfull box.
        (\eqalignno in \redefinealignmentdisplays): set \noalign to a new
          definition.
        (\@primitivenoalign): new synonym.
        (\@lefteqalignnonoalign): new macro.

        * btxmac.tex (\bibliography): do \nobreak before reading the bbl file.

Mon Oct 28 10:01:39 1991  Karl Berry  (karl at hayley)

        * btxmac.tex (\@readbblfile): correct test for \@itemnum being
          defined.

        * xeplain.tex (\@eateol): if there's text on the line with the
          justify command, do the right thing.
        * eplain.texinfo (Justification): document these changes.

        * xeplain.tex (\@finjustifyreturn): new macro to test for two
          ^^M's in justified environments.  If we find this, insert
          \blanklineskipamount glue.
        (\beforejustify): set up ^^M to call this; set up \@eateol.
        (\flushleft, \flushright, \center): define \@eolaction instead of
          defining ^^M directly; ditto for \@eateol.

Sun Oct  6 12:02:46 1991  Karl Berry  (karl at hayley)

        * btxmac.tex (\@readbblfile): don't define \@itemnum if it's
          already defined.

Fri Oct  4 14:34:58 1991  Karl Berry  (karl at hayley)

        * btxmac.tex (\bblfilebasename): new macro, defaults to \jobname.
        (\bibliography, \@readbblfile): use it.

Sat Sep 28 11:46:10 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\unorderedprintmarker): new macro.
        (\unorderedlist): set \printmarker to it.
        (\writeitemxref): new macro, the xref-defining part from \@finli.

        * xeplain.tex (\leftdisplays): don't save and restore \eqalign,
          since we don't change it in \@redefinealignmentdisplays.

Fri Sep 27 09:45:17 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\displaysetup): no, take \leftskip into account
          after all.  What's going on?

Tue Sep 24 07:10:23 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\displaysetup): don't advance \displayindent by
          \leftskip, since TeX already does.

        * btxmac.tex (\nexttoken): rename to \@nexttoken.

Fri Sep 20 10:45:23 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\displaysetup): don't subtract \leftskip when computing
          \displaywidth; TeX already does that.

        * xeplain.tex (\@finli): don't call \xrlabel on the arg to
          \definexref; advance \itemromannumeral.

Thu Sep 19 16:12:14 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\xrefn): remove spurious braces from warning.

        * eplain.texinfo (Lists): document this.
        * xeplain.tex (\{print,}itemromannumeral): new macros.
        (\numberedmarker): use roman numerals for depth 3.

Tue Sep 17 06:30:25 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\xrefn): remove calls to \tokstostring; \csname
          works just as well.
        * btxmac.tex (\@readauxfile): don't call \@setletters; only reset @.
        (\@tokstostring): remove.
        (\@cite...): remove calls to \@tokstostring

        * xeplain.tex (\@finli): define the item cross-reference label, as
          well as write it out; no, don't, the value might be a page number.

        * xeplain.tex (\xrlabel): remove assignments, so it becomes
          expandable.  (This means control sequences are no longer allowed
          in labels.)  Change callers.

Mon Sep 16 15:17:09 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\eqdefn): don't call \eqconstruct if we're given an
          optional argument.

Sun Sep 15 17:19:33 1991  Karl Berry  (karl at hayley)

        * eplain.texinfo (Lists): document this.
        * xeplain.tex (\beginlist): set \itemnumber=1; remove from \...list.
        (\li): remove from the \...list macros and only
          define once; allow an optional arg as a cross-reference label.
        (\item{number,letter}out): rename to \print...; change caller.
        (\printmarker): new macro to output the actual item marker.

Sat Sep 14 15:55:39 1991  Karl Berry  (karl at hayley)

        * btxmac.tex (\@getoptionalarg): use \@futurenonspacelet.
        (\@futurenonspacelet): move from xeplain.tex.
        * eplain.texinfo (Macro arguments): document this.

Mon Sep  9 10:25:51 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\@redefinealignmentdisplays): add another \hfil
          outside math mode to the template for \displaylines.

Sun Sep  8 06:31:50 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\eqdef): call \eqconstruct here.
        (\eq@eqdefn): not here.

        * eplain.texinfo: document all this.

        * xeplain.tex (\beginlist): do the \abovelistskip first.

        * xeplain.tex (\{v,h}penalty): new macros.

        * xeplain.tex (\{above,below}listskipamount,
          \interitemskipamount): rename from ...skip.
        (\{above,below}listpenalty, \interitempenalty): new count
          registers.
        (\{above,below}listskip, \interitemskip): macros which skip by the
          register and include the \...penalty.

Sat Sep  7 07:29:12 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\gtracingoff, \gloggingall): new macros.
        * eplain.texinfo (Diagnostics): document them.

Fri Sep  6 13:40:11 1991  Karl Berry  (karl at hayley)

        * eplain.texinfo (Diagnostics): new command \tracingoff.
        * xeplain.tex (\tracingoff): define it.

Thu Sep  5 10:19:49 1991  Karl Berry  (karl at hayley)

        * eplain.texinfo (Tables): replace reference to INRSTeX, which
          seems not to exist, with one to ruled.tex, available on ymir.

Sun Sep  1 14:53:38 1991  Karl Berry  (karl at hayley)

        * xeplain.tex: change header comment.

Thu Aug 29 16:01:43 1991  Karl Berry  (karl at hayley)

        * eplain.texinfo (Formatting equation references): document
          \eqconstruct.
        * eplain.texinfo (Macro arguments): document \identity.

        * xeplain.tex (\identity): new definition.
        (\eqconstruct): new macro \let = \identity.
        (\@eqdefn): call \eqconstruct to produce the final cross-reference
         text.

        * eplain.texinfo (Index): rename to `Concept index'.

        * eplain.texinfo (Top): include version number.

Sat Aug 24 07:09:23 1991  Karl Berry  (karl at hayley)

        * Makefile (dist): make a doc subdirectory in the distribution.
        (dos): don't distribute all the test files.

        * Makefile (install): install the info files.
        (infodir): new variable.

Fri Aug 23 11:48:40 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\eqsubdefn): expand \@currenteqlabel before
          defining it.

        * xeplain.tex (\xrlabel): use 95 instead of `\_, so \edef doesn't
          break quite so badly.

Thu Aug 22 14:42:45 1991  Karl Berry  (karl at ra.cs.umb.edu)

        * xeplain.tex (\@eqdef): new command for both \eqdef and \eqsubdef
          to call.
        (\eqrefn): new command to do what \eqref does, except omits the
         call to \eqprint.
        (\eqref): call \eqrefn.
        (\eqdefn): allow an optional argument to specify the text of the
         label, instead of always using numbers.
        (\@currenteqlabel): defined by \eqdefn to be the last defined
         label.
        (\eqsubdefn): use \eqrefn of \@currenteqlabel to define the text
         for the subequation label.
        (\@eqdef): use \eqref to generate the printed material, instead of
         writing the numbers.

        * xeplain.tex (\xrlabel): remove grouping; use \count@ to save
          \escapechar instead.  Also, use \temp instead of \tts.
        (\xrdef, \@eqdefn): remove grouping.

        * btxmac.tex (\cite): do \printcitestart before \@nocite.

        * merge: don't use /bin/date.

Fri Aug 16 08:06:26 1991  Karl Berry  (karl at hayley)

        * eplain.texinfo: fix node pointers.

Wed Aug 14 14:53:10 1991  Karl Berry  (karl at hayley)

        * Makefile (etex.fmt): rm -f etex.aux before creating it.
        (merge): assume fix-checksum is in PATH.

Mon Aug 12 19:42:07 1991  Karl Berry  (karl at hayley)

        * eplain.texinfo (Formatting displays): remove the stuff about
          \generaldisplay, since that's gone.

        * xeplain.tex (\eqsubdefn): new macro to define subequations.
        (\eqsubdef): its companion.
        (\eqsubreftext): macro to produce the text of such a reference.
        (\@eqdefn): new subroutine for \eqsubdefn and \eqdefn.
        (\subeqnumber): new count register.
        * eplain.texinfo (Subequation references): new subsection to
          describe all this.

Mon Aug  5 07:08:55 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\eattoken): use a private control sequence for
          eating, to avoid conflicts.
        (\@eattoken): \let = \relax.

Sat Jul 20 06:39:48 1991  Karl Berry  (karl at hayley)

        * eplain.texinfo (Copying): replace with version 2 of the GPL.

        * eplain.texinfo (Local variables): remove this, since it's
          standard now.

Mon Jul  8 05:46:57 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\leftdisplays): new implementation.

        * xeplain.tex (\eattoken): new macro.
        * eplain.texinfo (Macro arguments): document it.

Sun Jun 23 11:13:42 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\ifundefined): new macro.

        * xeplain.tex (\blackbox): add \relax at the end.

        * xeplain.tex (\BibTeX): use \TeX.
        (\MF): use \rm instead of \tenrm.

        * merge: automatically figure out the date, and version, and loop
          on the checksum.
        * xeplain.tex (\fmtversion): don't include real version numbers,
          dates, or the checksum.

        * xeplain.tex (\environment): define \@groupname with \edef
          instead of \def.

Sat Jun 22 08:23:05 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\@isolatedendenvironmenthelp): improve this message.

Fri May 31 06:19:40 1991  Karl Berry  (karl at hayley)

        * eplain.texinfo: do @finalout, to prevent overfull boxes.

Sun May 19 07:01:12 1991  Karl Berry  (karl at hayley)

        * citecust.tex: define the \scriptfont for \ttfam, so that
          undefined references work properly  (found by
          jxp@ccadfa.cc.adfa.oz.au).

Wed May 15 06:52:20 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\writetocentry): pass in an empty arg to
          \writenumberedtocentry, not \empty, so the \ifx works right
          (found by Paul).

Wed May  8 17:04:32 1991  Karl Berry  (karl at hayley)

        * Makefile (dos): put texinfo.tex in the DOS distribution.

Tue May  7 12:19:24 1991  Karl Berry  (karl at ra.cs.umb.edu)

        * xeplain.tex (\xrefwarningfalse): forgot a \ in front of the \let
          (found by Paul).

Mon May  6 11:01:07 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\AMS): new macro from \AMSTeX.
        (\AMSTeX): use it.
        (\AMSLaTeX): new macro.
        * eplain.texinfo (logos): document \AMSLaTeX.

        * xeplain.tex (\today): new macro.
        * eplain.texinfo (Time of day): document it.

Fri Apr 26 08:29:08 1991  Karl Berry  (karl at hayley)

        * Makefile (dos): rename INSTALL, remove ORIG.

        * Version 1.9.

        * Makefile (clean): remove the .??O files that texi2dvi creates.
        (eplain.dvi): use texi2dvi.
        
        * Makefile (dist): create the file `INSTALL' after making the info
          files.

        * eplain.texinfo (Installation): bring up to date.
        * README: likewise.

        * btxmac.tex: final (for now) version.

Mon Apr 22 09:53:53 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\@writeeqdef, \@writexrdef): we don't need a
          \percentchar at the end of the lines we write anymore, since
          btxmac.tex does \endlinechar = -1 before reading the aux file.

        * allref.tex: new test file to test all kinds of reference
          simultaneously.

Mon Apr 15 09:15:51 1991  Karl Berry  (karl at hayley)

        * eplain.texinfo (Installation): describe \noauxfile.

        * xeplain.tex (\singlecolumn): document (somewhat) better.

        * btxmac.tex: new version from Oren.

Sun Apr  7 14:54:05 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\boxit, \boxitspace): new macros from the TeXbook.
        * eplain.texinfo (Boxes): document it.

        * xeplain.tex (\hidevrule): remove a spurious space.

        * xeplain.tex (\lbracechar, \rbracechar): new definitions.
        * eplain.texinfo (Category codes): document them.

Fri Mar 29 17:13:46 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\makecolumns): set the \hsize inside each entry.
        (\currentcolumn): new register.

        * xeplain.tex (\hidehrule, \hidevrule): comment these; remove a
          group from \hidevrule.

Tue Mar 26 12:20:35 1991  Karl Berry  (karl at ra.cs.umb.edu)

        * xeplain.tex (\linenumber): \let = \@linenumber.

Mon Mar 25 05:52:27 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\writenumberedtocentry): don't test #3 with an
          \ifx; define it in a control sequence first.

Mon Mar 11 08:56:43 1991  Karl Berry  (karl at hayley)

        * Version 1.8.

        * xeplain.tex (\environment, \endenvironment): don't ignore spaces
          at the end.

        * xeplain.tex (\@undefinedmessage): don't define it if it's
          already defined.

        * xeplain.tex (\everyjob): expand the old \everyjob.

Fri Mar  8 08:03:50 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\writenumberedtocentry): \ignorespaces after the
          \fi, not before (found by abrahams@mts.cc.wayne.edu).

Tue Mar  5 08:33:16 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\makeblankbox): give an error message if \box0 is
          void.
        (\@makeblankboxhelp): new control sequence with help for the error
          message.

Mon Mar  4 07:10:10 1991  Karl Berry  (karl at hayley)

        * btxmac.tex (\linenumber): define this, and use it in the
          undefined citation message.
        * xeplain.tex: use \linenumber in the undefined messages.

        * xeplain.tex: change all \undefined's to \@undefined's.

Sun Mar  3 07:43:11 1991  Karl Berry  (karl at hayley)

        * xeplain.tex: put the BibTeX definitions in a token register;
          expand it if \nobibtex is undefined.

Fri Mar  1 16:00:38 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\@redefinealignmentdisplays): Make \displaylines
          redefine \eqprint, so the equation number still comes out on the
          right.

        * Makefile (etex.fmt): cp /dev/null onto etex.aux, don't just
          touch it.

        * xeplain.tex (\if@nobibtex): remove this; just test
          \ifx\nobibtex\@undefined instead.

        * btxmac.tex (\@innernewdimen): define this.
        (\if@notfirstcitation, \biblabelwidth, \biblabelextrahang,
         \@numparams): define using \@inner..., since we include all of
         btxmac.tex in an \if ... \fi construction in eplain.tex now.

Wed Feb 27 08:02:24 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\@ddisplaytest): this time really remove the
          trailing spaces; I didn't test it properly before.

        * eplain.texinfo (Justification): remark that setting the
          linespacing values inside \center et al. is useless.

Sat Feb 23 08:42:12 1991  Karl Berry  (karl at hayley)

        * xeplain.toc (\opentocfile): make the \@tocfileopenedtrue be
          \global (from Paul).

        * xeplain.tex (\fullmonthname): new macro.
        * eplain.texinfo (Time of day): document it.

Fri Feb 22 15:11:14 1991  Karl Berry  (karl at hayley)

        * eqref.tex: say that the output of the \displaylines test should
          look bad.

        * xeplain.tex (\@displaytest, \@ldisplaytest): use \noexpand on
          the argument, to prevent obscure errors (that might never
          actually occur, I'm not sure).

        * xeplain.tex (\@ddisplaytest): remove trailing spaces and/or
          surrounding braces from the argument to \eqdef (from
          jxp@ccadfa.cc.adfa.oz.au).
        (\@removetrailingspaces): new macro.

Sat Feb  2 09:25:30 1991  Karl Berry  (karl at hayley)

        * fileexist.tex: new file to test the various possibilities.

        * btxmac.tex (\@testfileexistence): allow an optional argument
          specifying the root name of the file.
        (\@finishtestfileexistence): new macro.

        * merge: merge all of btxmac into eplain.tex.
        * xeplain.tex: rearrange slightly to accommodate this.

Fri Jan 25 11:34:09 1991  Karl Berry  (karl at hayley)

        * Version 1.7 (released for ASI only).

        * Makefile (dist): automatically include btxdoc.tex and
          texinfo.tex in the distribution.

        * Makefile (etex.fmt): don't print all the stupid \font... lines.

        * contents.tex: make a subsection include \cos, to test the
          non-expansion.
        * xeplain.tex (\sanitize, \gobblemeaning): new macros from a
          TUGboat article by Ron Whitney.
        (\writenumberedtocentry, \writetocentry): do not expand the text
          of the heading.
        * eplain.texinfo (Contents): say that the title text is not
          expanded.

Thu Jan  3 09:07:05 1991  Karl Berry  (karl at hayley)

        * xeplain.tex (\beginlist): don't set \parskip = 0pt, in case
          \parindent is zero.
        (\printitem): do \vskip-\parskip, so we don't get extra space if
          \parskip is nonzero.

        * list.tex: test a multiple-paragraph list item with \parindent=0
          and \parskip nonzero.

Mon Dec 17 12:57:41 1990  Karl Berry  (karl at hayley)

        * xeplain.tex (` ' in \obeywhitespace): define to be `\ ' using
          \def instead of \let, to allow redefinition.

Wed Dec 12 14:34:28 1990  Karl Berry  (karl at aten)

        * Version 1.6.

        * eplain.texinfo (Formatting bibliographies): \biblabelextrahang
          and \parskip must be set inside \bblhook.

        * Makefile (etex.fmt): make sure etex.aux exists.

Mon Dec 10 16:09:30 1990  Karl Berry  (karl at aten)

        * eplain.texinfo (Formatting bibliographies): describe
          \biblabelextrahang and \bblsc.

        * xref.tex: don't unconditionally input eplain.tex.

        * xeplain.tex: don't set \@citewarningtrue after all; that makes
          it so we always warn about labels.
        * btxmac.tex (\@readauxfile): set \@citewarningtrue if there was
          an aux file, so that we get warned about undefined references
          when we make a format file.

        * xeplain.tex: remove misplaced comment.

Sun Dec  9 07:52:52 1990  Karl Berry  (karl at hayley)

        * xeplain.tex (\blanklineskipamount, \@finishobeyedreturn): new
          definitions to generalize the handling of blank lines in
          \obeywhitespace.
        * eplain.texinfo (Obeying spaces): document this.

        * xeplain.tex (\obeywhitespace): use `\ ' instead of
          `\alwaysspace', and remove the latter.
        * eplain.texinfo (Obeying spaces): remove reference to \alwaysspace.

        * xeplain.tex: set \@citewarningtrue after reading the stuff from
          btxmac, so that we get undefined label messages when we use a
          format file.

Sat Dec  1 07:44:52 1990  Karl Berry  (karl at hayley)

        * eplain.texinfo (Installation): refer to `\fmtversion', not
          `\eplainversion'.

        * btxmac.tex (\@getoptionalarg): new macro.
        * xeplain.tex (\getoptionalarg): \let = to above.
        * eplain.texinfo (Macro arguments): document it.

        * xeplain.tex (\futurenonspacelet): new macro from the TeXbook.
        * eplain.texinfo: document it.

        * btxmac.tex (\@setletters): only check characters with codes
          below 128 if we are the old TeX.

        * xeplain.tex (\@ddisplaytest): omit extra braces around the call
          to \eqdef.
        (\eqdef, \eqdefn): ignore following spaces.

        * xeplain.tex (\@undefinedmessage): change wording slightly.

Fri Nov 30 10:51:02 1990  Karl Berry  (karl at hayley)

        * eplain.texinfo (Installation): describe \eplain.

        * eplain.texinfo (Citations): use @file instead of @t, and make
          editorial changes.

Wed Nov 28 06:57:24 1990  Karl Berry  (karl at hayley)

        * eplain.texinfo (Cross-references): escapes are catcode 0, not 1.
          Also, don't put a \ in the invalid example.

        * eplain.texinfo (Allocation macros): use `proclaim' in the
          example, not `innerproclaim'.

        * xeplain.tex (\alwaysspace): use \font instead of \the\font.

        * xeplain.tex (^^I): use \fontdimen2\font, instead of \tt, since
          \tt might not be a font selector. 

        * Makefile (etex.fmt): remove etex.aux.

        * xeplain.tex (\displayhook): new token register expanded at
          \everydisplay time.
        * eplain.texinfo (displays): document this.

Tue Nov 27 08:24:41 1990  Karl Berry  (karl at hayley)

        * xeplain.tex (\eqdef): make \eqno = \relax if we are inner.
        * eplain.texinfo (Equation references): \eqdefn doesn't produce
          anything. 

        * eqref.tex: test \eqdef inside \displaylines.

        * xeplain.tex (\eplain): define to be `t'.

Sun Nov 25 09:30:46 1990  Karl Berry  (karl at hayley)

        * xeplain.tex (\eqref, \xrefn): no, that's not enough.  Use
          \if@citewarning here, so the \if's and \fi's match properly.
        * eplain.texinfo (Citations): document \xrefwarningtrue.
        (Cross-references): ditto.

        * xeplain.tex (\ifxrefwarning): define to be \if@citewarning, so
          changes to the latter are reflected in the former.

Sat Nov 24 08:21:35 1990  Karl Berry  (karl at hayley)

        * xeplain.tex: say that we have two version numbers now in the
          header comment.

Thu Nov 22 10:48:35 1990  Karl Berry  (karl at hayley)

        * eplain.texinfo (Equation references): \eqdef can be used in an
          \eqalignno now, so \eqdefn is useful in even fewer sitations.

Thu Nov 15 10:28:13 1990  Karl Berry  (karl at hayley)

        * Version 1.5.

        * merge: remove comments from xeplain.tex as well as btxmac.tex,
          and fix the checksum and filename in the final eplain.tex.

        * xeplain.tex (\if@fileexists, ...): \let = \relax, in case the
          file is being read twice.

        * Makefile (etex.fmt): new rule.

Wed Nov 14 19:02:28 1990  Karl Berry  (karl at aten)

        * eplain.texinfo (Iterations): fix syntax error in example (from
          bsuggs@hac2arpa.hac.com).

Mon Nov 12 10:34:37 1990  Karl Berry  (karl at hayley)

        * etex.tex: mention that plain should be loaded.
        * eplain.texinfo (Installation): mention etex.tex.

        * xeplain.tex (\ifnobibtex): set to true if \nobibtex is defined.
        * eplain.texinfo (Installation): describe this.

        * btxmac.tex: new version incorporating my changes from Oren.
          \@citewarning has to be defined in the non-bibtex specific part.

Sat Nov 10 08:49:07 1990  Karl Berry  (karl at hayley)

        * xeplain.tex (\xrlabel): explain how _ works.

Wed Oct 31 06:24:56 1990  Karl Berry  (karl at hayley)

        * merge: make eplain.tex readonly after creating it.

Tue Oct 30 07:52:07 1990  Karl Berry  (karl at hayley)

        * eplain.texinfo: `eplain' changed to `Eplain' throughout; a few
          other typos corrected.

        * btxmac.tex (\@innerdef): new macro to give an inner definition
          to an outer control sequence.
          (\@innernewcount, \@innernewdimen, \@innernewif,
           \@innernewwrite): use it to define these macros.
        * xeplain.tex: make \innernewcount et al. synonyms for the above,
          and also make inner versions of all the other plain TeX macros.
        * eplain.texinfo (Allocation macros): new section to document this.

        * xeplain.tex: rename \@xrlabel to \xrlabel.
        * eplain.texinfo (Converting to characters): document \xrlabel.

Sun Oct 28 08:35:20 1990  Karl Berry  (karl at hayley)

        * eplain.texinfo (Cross-references): explain which characters are
          valid.

        * btxmac.tex (\@setletters): change all characters with category
          code 12 into category code 11, instead of writing a list.
          (Also change _.)
        (@setmoreletters): remove.

        * btxmac.tex (\@resetnumerals): also change the category codes of
          ', `, and ".

Sat Oct 27 09:46:54 1990  Karl Berry  (karl at hayley)

        * eplain.tex becomes xeplain.tex; a shell script `merge' puts
          definitions from btxmac.tex that are used in the rest of eplain
          into xeplain, creating eplain.tex.  Also, a new conditional,
          \ifnobibtex, determines whether we read btxmac.tex or not.
          (Being able to not read btxmac suggested by Paul.)

Sun Oct 21 14:03:31 1990  Karl Berry  (karl at hayley)

        * eplain.texinfo (Cross-references): users should use
          \@setmoreletters, not redefine \@setletters.

Wed Oct 17 07:14:26 1990  Karl Berry  (karl at hayley)

        * eplain.tex (\eqdef): don't do \eqno if we're inner.

Sat Oct 13 07:28:11 1990  Karl Berry  (karl at hayley)

        * eplain.tex (\leftdisplayindent): new \dimen parameter
          (suggested by wiawkph@dutrun.tudelft.nl).
        (\leftdisplays): use it.
        * eplain.texinfo (Displays): document it.

        * eplain.tex (\@ddisplaytest): new macro to find an \eqdef in a
          display.
        (displaysetup): call it.

Fri Oct 12 06:27:52 1990  Karl Berry  (karl at hayley)

        * eplain.texinfo: describe @menu entries.

        * eplain.tex (\topmargin, et al.): new macros.
        * eplain.texinfo (Margins): new section to document them.

Thu Oct 11 06:30:54 1990  Karl Berry  (karl at hayley)

        * xref.tex: forgot \xref in front of {label2}.

Tue Oct  9 06:48:08 1990  Karl Berry  (karl at hayley)

        * eplain.tex (\xrdef): use \@xrlabel, not \xrlabel.

Tue Sep 25 17:55:32 1990  Karl Berry  (karl at hayley)

        * eplain.tex (\TeX): new macro, adds \null to plain's definition.

Fri Sep 14 13:54:01 1990  Karl Berry  (karl at hayley)

        * eplain.tex (\writenumberedtocentry): expand the third parameter
        now, instead of at the time of the \write.
        * eplain.texinfo (Contents): document this.

Thu Sep 13 08:09:25 1990  Karl Berry  (karl at hayley)

        * eplain.texinfo (Citations, Formatting citations, Formatting
        bibliographies): emendations from Oren Patashnik
        <opbibtex@neon.stanford.edu>.

        * eplain.tex (\footnoterule): new macro from plain TeX,
        generalized to arbitrary dimensions.
        (\vfootnote): advance \splittopskip by \interfootnoteskip, so that
        split footnotes have the right amount of space at the top.
        * footnote.tex: test the new dimension parameters.
        * eplain.texinfo (Footnotes): document all this.

Fri Sep  7 06:38:49 1990  Karl Berry  (karl at hayley)

        * Version 1.4.