msub change log

V1.0 read the Makefile line by line into buffer, merging continuation
lines with no overflow checking. V1.1 reads the entire Makefile into memory
and does continuation merging in place.

V1.0 only deferenced variables in the script which were known to have been
defined or referenced in the Makefile.  V1.1 dereferences all variables in
the script; if a variable wasn't given a value in the Makefile, it's assumed
to have an empty value.

V1.0 allowed no way to define alternate reference indicators in the template.
V1.1 allows that using +R/-R.  This allows better disambiguation of variable
references in shell scripts.

V1.11 Added support for -e and variable=value options on the command line.

V1.12 Adds some type coercion to avoid coredumps on NetBSD systems.

V1.13 WinNT systems apparently do \r\n -> \n mapping for read().  This
causes the number of bytes read not to equal the number of bytes requested
when you try to read in the entire Makefile at once (where the file size
is obtained from the stat() information).  So for WinNT, just check that
the read() returns non-zero if the file size is non-zero.  Not great, but
better than having msub simply quit.

12 Apr 97

- "make test" for testing msub now works in config/extras under
Windows NT.
