V8/usr/src/cmd/eqn/NEW

Most of these changes owe thanks to Mary Carter,
whose efforts during the summer of 1984 provided
some code and the impetus to start thinking about
eqn again.


1.  Fixed long-standing bug involving nested
from-to constructs.

2.  Output guaranteed to preserve font that was
in effect upon entry (if there are no font changes
within quoted strings).

3.  The right delimiter is no longer significant
within display equations.

4.  Macros with arguments, as in grap and pic.
Parentheses are treated somewhat differently:
If an embedded left paren is found in a token,
then the characters to its left are checked to
see if they are a macro name.  If they are, the
paren is assumed to mark the beginning of the 
argument list.  Otherwise, the token is treated
just like any other.

5.  File inclusion:  include (or copy) "filename"
is replaced by contents of file.  .EQ and .EN are
ignored within inclusions.  Filename "-" is a synonym for
standard input on the command line.

6.  Font names can be given as strings, as in
	font CW { ... } or gfont CW

7.  Checks environment variable TYPESETTER;  default
is still 202.

8.  An optional separation distance can be specified
for a pile or col:  lcol 33 {... above ...} adds 33/100 em
of separation between the elements instead of the default;
negative values permitted.
pile, etc., have become synonyms for col, etc.

9.  Eqn attempts to print appropriately for current size,
obviating the need for most uses of size {...} and gsize.
It won't always be right, but it will be close for documents
printed in the usual range of sizes.

10. A fair amount of fiddling has been done to details of
positioning;  the output seems to be better looking.

11. ifdef whatever / is replaced by this if defined /
The proper TYPESETTER name is defined already.

12. Error messages are somewhat better as well.  Errors
passed on to troff will be identified by source file and
line number in the eqn input.