Mon Nov  8 12:45:34 1993  Francois Pinard  (pinard@icule)

	* configure.in: Do not copy check files in the build hierarchy.
	* checks/check-them: Identify the m4 version being checked.  For
	finding m4, look in $PATH instead of in the parent directory.
	* Makefile.in (check): Prepend `pwd` to $PATH before checking.
	* checks/Makefile.in (.all-stamp): Always create check files in
	the source hierarchy, not anymore in the build hierarchy.
	(check): cd to the source hierarchy before performing checks.
	Do not copy nor clean COPYING anymore, take it from `..'.
	Reported by Tom McConnell <tmcconne@sedona.intel.com>.

	* Makefile.in (Makefile): Use $(SHELL).
	(config.status): Use $(SHELL).  Use "config.status --recheck"
	instead of "configure --no-create", which is obsolete.
	Reported by Tom McConnell <tmcconne@sedona.intel.com>.

Fri Nov  5 09:49:30 1993  Francois Pinard  (pinard@compy.IRO.UMontreal.CA)

	* m4.c (usage): Use "%s" instead of "m4" in format string.
	Reported by Jim Meyering <meyering@comco.com>.

	* Makefile.in: Distribute mkinstalldirs.
	Reported by Pierre Gaumond <gaumondp@ere.umontreal.ca>.
	Reported by Jim Meyering <meyering@comco.com>.
	Reported by Tom McConnell <tmcconne@sedona.intel.com>.
	Reported by Andreas Gustafsson <gson@joker.cs.hut.fi>.

	* checks/check-them: Renamed from checks/check_them.
	* checks/get-them: Renamed from checks/get_them.
	* checks/.all-stamp: Renamed from checks/.all_stamp.
	* checks/Makefile.in: Changed accordingly.
	Reported by Jim Meyering <meyering@comco.com>.

Thu Nov  4 13:50:52 1993  Francois Pinard  (pinard@lagrande.IRO.UMontreal.CA)

	* lib/Makefile.in (dist): Correct permissions on files.

	* output.c: Declare tmpfile, some systems don't.

Wed Nov  3 09:09:16 1993  Francois Pinard  (pinard@icule)

	* checks/Makefile.in (dist): Correct permissions on files.

	* Makefile.in (dist): Ensure recursive linking for subdirectory
	`examples', also set read/write permissions on all its files.

	* mkinstalldirs: New, from elsewhere.
	* Makefile.in: Use it.

	* debug.c: Synchronize debug messages and regular output when
	the debug file and stdout are redirected to the same file.
	* configure.in: Add (commented) checks for fileno and fstat.
	Reported by Jim Avera <jima@netcom.com>.

	* builtin.c (m4_ifelse): Diagnose excess arguments if 5, 8, 11,
	etc., arguments, then ignore the superfluous one.  m4 used to
	diagnose missing arguments and return the empty string.
	Reported by Nick S. Kanakakorn <skanan@otl.scu.edu>.

Tue Nov  2 00:55:41 1993  Francois Pinard  (pinard@icule)

	* m4.c (main): At end of all input, ensure all undiverted text
	goes to the main output stream.
	Reported by Andreas Gustafsson <gson@niksula.hut.fi>.

	* m4.c (main): exit (0), instead of return 0.

	* m4.c: Implement -P and --prefix-builtins.
	* builtin.c: Delete const specifier on builtin_tab.
	(prefix_all_builtins): New.
	Reported by Noah Friedman <friedman@gnu.ai.mit.edu>.
	Reported by Scott Bartram <deneb!scottb>.

	* c-boxes.el: New, from elsewhere.
	* Makefile.in: Distribute it.

	* m4.h: Do not define bcopy if <string.h> defines it.
	Reported by Stephen Perkins <perkins@cps.msu.edu>.

	* builtin.c (define_macro): Allow a missing second argument, in
	which case it is implied empty.  Affects define and pushdef.
	Reported by Eric Allman <eric@cs.berkeley.edu>.

Mon Nov  1 07:45:24 1993  Francois Pinard  (pinard@icule)

	* m4.h: Add blind_if_no_args in struct builtin, blind_no_args in
	struct symbol adn SYMBOL_BLIND_NO_ARGS macro.
	* builtin.c: Initialize all the blindness fields in builtin_tab.
	(define_builtin): Copy the blindness of a builtin into its symbol.
	* macro.c (expand_token): Avoid processing a blind builtin if the
	next character is not an opening parenthesis.
	Reported by David MacKenzie <djm@eng.umd.edu>.
	Reported by Noah Friedman <friedman@gnu.ai.mit.edu>.

	* configure.in: Ensure an exit status of 0 on completion.
	Reported by Vivek P. Singhal <singhal@cs.utexas.edu>.

	* eval.c (eval_lex): Admit both lower and upper case letters for
	bases greater than 10.  Only lower case letters were accepted.

	* eval.c (eval_lex): Recognize 0bDIGITS and 0rRADIX:DIGITS syntax.
	Reported by Krste Asanovic <krste@icsi.berkeley.edu>.

	* eval.c:  Rename NOT to LNOT.  Add XOR, NOT, LSHIFT and RSHIFT.
	* eval.c (logical_not_term): New name for not_term.
	* eval.c (xor_term): New, between or_term and and_term.
	* eval.c (not_term): New, between and_term and logical_not_term.
	* eval.c (shift_term): New, between cmp_term and add_term.
	Reported by Krste Asanovic <krste@icsi.berkeley.edu>.  (~, ^, <<, >>)
	Reported by Ben A. Mesander <ben@piglet.cr.usgs.gov>.  (** vs ^)

	* m4.c: Delete xmalloc.c, xrealloc.c, xstrdup.c.
	* m4.h: Delete xrealloc.c.
	* lib/xmalloc.c: New, from elsewhere.
	* lib/xstrdup.c: New, from elsewhere.
	* lib/Makefile.in: Distribute and compile them.

	* m4.c: Change progname to program_name.
	* builtin.c, eval.c, m4.c, m4.h: Rename error to m4error.
	* lib/error.c: New, from elsewhere.
	* lib/Makefile.in: Distribute and compile error.c.
	* configure.in: Check AC_VPRINTF and for strerror.
	* m4.c: Delete cmd_error.  Use error instead.
	* m4.c: Change label capitalisation to "ERROR", "Warning", etc.

	* m4.h: Delete #define const, let Autoconf takes care of this.

	* m4.c: Remove all code conditionalized by IMPLEMENT_M4OPTS.
	Merge parse_args into main.  Declare argv to be `char *const *',
	then remove superfluous casts. 

	* m4.c: Rename --no-gnu-extensions to --traditional.
	Reported by Ben A. Mesander <ben@piglet.cr.usgs.gov>.

	* m4.c (usage): Add a status parameter.  Supply one in various
	calls.  Add --help processing.  Remove -V for --version.

	* lib/Makefile.in: Put $(CFLAGS) last in .c.o rule.

	* lib/Makefile.in: Have an AR=ar declaration.
	Reported by Eric Backus <ericb@lsid.hp.com>.
	Reported by Bjorn R. Bjornsson <brb@falcon.is>.
	Reported by Tom Tromey <tromey@cns.caltech.edu>.
	Reported by Kristine Lund <lund@lpnaxp.in2p3.fr>.
	Reported by Marion Hakanson <hakanson@cse.ogi.edu>.

Sat Oct 30 12:51:47 1993  Francois Pinard  (pinard@icule)

	* Makefile.in (m4.info): Use -I$(srcdir) on $(MAKEINFO).
	Reported by Noah Friedman <friedman@gnu.ai.mit.edu>.

Mon Oct 25 14:58:48 1993  Francois Pinard  (pinard@icule)

	* Makefile.in: Remove MDEFINES and cleanup.

Wed Jun  9 14:59:46 1993  Francois Pinard  (pinard@icule)

	* Makefile.in (dist): Replace "echo `pwd`" by a mere "pwd".
	Create a gzip file.

Sat Feb  6 14:59:22 1993  Francois Pinard  (pinard@icule)

	* Makefile.in, lib/Makefile.in, check/Makefile.in: In dist goals,
	ensure 777 mode for directories, so older tar's will restore file
	modes properly.

Sun Jan 17 15:38:05 1993  Francois Pinard  (pinard@icule)

	* Makefile.in, lib/Makefile.in: Put $(CFLAGS) after $(CPPFLAGS),
	so the installer can override automatically configured choices.
	Reported by Karl Berry <karl@cs.umb.edu>.

Fri Jan 15 16:07:00 1993  Francois Pinard  (pinard@icule)

	* lib/vfprintf.c: Stolen from Oleo distribution and adapted.  The
	previous version was not working properly on m68k-hp-bsd4.3.
	Reported by Roland McGrath <roland@gnu.ai.mit.edu>.

	* lib/_doprnt.c: Stolen from Oleo distribution.
	* configure.in: Check for _doprnt.c if vfprintf.c selected.
	* lib/Makefile.in: Distribute _doprnt.c.
	Do not distribute regex.[ch].old anymore.

Fri Jan  1 19:42:23 1993  Francois Pinard  (pinard at icule)

	* Makefile.in, lib/Makefile.in: Reinstate $(CPPFLAGS), use it.
	Richard wants it there.

Sun Dec 27 07:01:54 1992  Francois Pinard  (pinard at icule)

	* Makefile.in: Add DEFS to MDEFINES.
	* lib/Makefile.in (.c.o): Remove $(CPPFLAGS).
	(libm4.a): Remove the library before creating it.
	(distclean): Remove tags and TAGS too.

Wed Dec 23 12:46:55 1992  Francois Pinard  (pinard at icule)

	* Makefile.in (dvi, m4.dvi): New goals.

	* builtin.c, eval.c, format.c, input.c, m4.[ch], m4.texinfo,
	macro.c, output.c, path.c, symtab.c: Change Copyright from
	1989-1992 to the explicit enumeration 1989, 1990, 1991, 1992.

	* examples/divert.m4: Deleted, this bug has been corrected.

	* Makefile.in (texclean, mostlyclean): New goals.

	* Makefile.in (clean): Remove clutter from ansi2knr.
	Reported by Pierre Gaumond <gaumondp@ere.umontreal.ca>.
	Reported by Greg A. Woods <woods@web.apc.org>.

Sun Dec 20 10:40:20 1992  Francois Pinard  (pinard at icule)

	* Makefile.in: Remove $(CPPFLAGS) from the .c.o rule.  The user
	might well use CFLAGS is s/he needs it.

	* Makefile.in: Allow installation of info files from a separate
	build directory.
	Reported by Jason Merrill <jason@jarthur.claremont.edu>.
	Reported by David MacKenzie <djm@eng.umd.edu>.
	Reported by Skip Montanaro <montanaro@crd.ge.com>.
	Reported by Erez Zadok <ezk@cs.columbia.edu>.
	Reported by Assar Westerlund <assar@nada.kth.se>.

Sat Dec 19 08:21:34 1992  Francois Pinard  (pinard at icule)

	* Version 1.0.3 released to <prep.ai.mit.edu>.  This is still a
	beta release for the future GNU m4 version 1.1.

	* lib/alloca.c: New, from elsewhere.
	* lib/Makefile.in: Distribute it.  Define and use $(ALLOCA).

	* m4.h: Do not define index/rindex if already defined.  If
	FALSE/TRUE are already defined, do not redefine them, but merely
	define boolean typedef to int.

	* Makefile.in: Use $(DEFS) while compiling ansi2knr.
	* ansi2knr.c: Rewrite #ifdef HAVE_STRING_H || STDC_HEADERS,
	because some C compilers do not like connectives with #ifdef.
	* m4.h: Define `volatile' only if __GNUC__, instead of once for
	__GNUC__ and once for __STDC__.
	* lib/regex.h: Leave const alone, AC_CONST will take care of it.

	* checks/Makefile.in: Use .all_stamp instead of $(CHECKS) for
	Makefile dependencies.  Without it, make keeps destroying and
	remaking $(CHECKS) in a loop (why?).  Distribute .all_stamp.

	* m4.h, m4.c, builtin.c, output.c: Change all divertion/DIVERTION
	to diversion/DIVERSION, this was a spelling error.

	* m4.c: Declare version[], remove #include "version.h".
	* version.h: Deleted.
	* Makefile.in: Remove references to version.h.

	* output.c (shipout_text): Centralize all `#line NUM ["FILE"]'
	production, by using a simpler and more robust algorithm.  This
	solves the problem of synclines sometimes written in the middle of
	an output line.  Delete sync_line() and output_lines variable.
	* m4.h: Remove sync_line prototype and output_lines declaration.
	* input.c (next_char), output.c (shipout_text): Remove references
	to output_lines.
	* input.c (push_file, pop_file): Merely put the value -1 in
	output_current_line instead of calling sync_line, for delaying a
	single `#line NUM FILE' before next output line.  Do not test
	for sync_output, because this is unnecessary clutter.
	* output.c (make_divertion, insert_divertion): Idem.
	* input.c: Rename must_advance_line to start_of_input_line, for
	consistency.

	* debug.c (trace_header): Select a new debug line format, which
	better complies with GNU standards for formatting error messages.
	With option `-dfl', M-x next-error might be used on the output.
	* m4.c (vmesg): Adjust format of error output to GNU standards.
	* m4.texinfo: Adjust examples for `make check' to work.

	* m4.h, builtin.c, debug.c, input.c, macro.c, path.c: Use upper
	case for enum debug_info constants, which were all lower case.

	* builtin.c (m4_regexp, m4_patsubst): Use re_search instead of
	re_search_2.
	* lib/regex.[ch]: Use new version from textutils 1.3.6, with some
	collected patches.  I tried a few times using newer regex.[ch], it
	mysteriously stopped aborting with this one.  Insecure feeling...
	* lib/Makefile.in: Distribute regex.[ch].old, just in case!

Fri Dec 18 11:08:03 1992  Francois Pinard  (pinard at icule)

	* m4.c: Change `--no-warnings' to `--silent'.
	Reported by David MacKenzie <djm@eng.umd.edu>.

	* m4.c: Put all M4OPTS code upon IMPLEMENT_M4OPTS control, and
	leave it off for now.  See comment in m4.c for justification.
	Reported by David MacKenzie <djm@eng.umd.edu>.

	* configure.in: Replace AC_USG by AC_HAVE_HEADERS(string.h).
	* m4.h, ansi2knr.c, lib/regex.h: Replace USG by HAVE_STRING_H.

	* Makefile.in: Add a new `info' goal.  Use macro MAKEINFO.

	* Makefile.in: Ensure recursive cleaning is done before local
	cleaning for all clean goals.

	* builtin.c (ntoa): Ensure the value is always interpreted as a
	signed quantity, whatever the radix is.

Wed Nov 18 07:57:19 1992  Jim Meyering  (meyering@idefix)

	* builtin.c, format.c, input.c: Split long lines.
	* m4.c: Use typedef macro_definition instead of struct
	macro_definition.
	* symtab.c: Use typedef symbol instead of struct symbol.

Tue Nov 17 01:58:40 1992  Francois Pinard  (pinard at icule)

	* all: Remove all trailing whitespace, in code and comments.

	* configure.in: Find some awk.
	* Makefile.in: Add $(AWK) to MDEFINES.
	* checks/Makefile.in: Transmit $(AWK) to get_them.
	* checks/get_them: Use $AWK instead of gawk.  Add a close in the
	awk script when switching files, because without this, mawk runs
	out of file descriptors.

Mon Nov 16 20:42:56 1992  Francois Pinard  (pinard at icule)

	* Makefile.in (realclean): Delete m4.info*.
	Reported by Jim Meyering <meyering@cs.utexas.edu>.

	* Makefile.in: Adjust and link with checks/Makefile.
	* checks/Makefile.in: New.
	* configure.in: Output checks/Makefile.

	* checks/get_them: Have the dnl header of each test more
	recognizable by next-error, also use a better message.

Mon Nov 16 07:48:52 1992  Jim Meyering  (meyering@idefix)

        * m4.h [__GNUC__]: Use __volatile__ instead of `volatile.'
        And use that only if __GNUC__ since we're using it's GCC-specific
        semantics that tell the compiler the associated function doesn't
        return.

        * builtin.c (substitute): Don't use character as an array index.
        (dumpdef_cmp): Make formal arguments `const void *' to avoid
        warnings with gcc -W -Wall on systems with qsort prototype.
        (m4_errprint): Cast obstack_finish to `char *' to avoid warnings
        from gcc -W -Wall.

        * eval.c (most functions): Add parentheses to assignments used
        as truth values go avoid warnings from gcc -Wall.

	* input.c, m4.c, output.c, path.c, symtab.c: Declare static
	any functions that don't need external scope.

	* builtin.c, debug.c, format.c, m4.c, m4.h, macro.c, symtab.c
	(many functions and arrays): Declare `const'.

Sun Nov 15 09:42:09 1992  Francois Pinard  (pinard at icule)

	* all: Rename nil to NULL, using the declaration from <stdio.h>,
	removing the declaration from m4.h.  Also rename false to FALSE
	and true to TRUE.

	* lib/Makefile.in (Makefile): New goal.

	* Makefile.in, lib/Makefile.in: Add a .c.o rule, so CFLAGS is not
	so heavily loaded.  It gets more easily overridable, calling make.
	Reported by Jim Meyering <meyering@cs.utexas.edu>.

	* Makefile.in (dist): Get .fname from the current directory name,
	instead of from version.h.  I need updating many files manually,
	when the version changes, version.h is just one of them.

Sat Nov 14 11:01:20 1992  Francois Pinard  (pinard at icule)

	* m4.h: Remove the tag `boolean' on the enum introducing typedef
	`boolean'.  This tag conflicts with <sys/types.h> on SVR4.
	Reported by Tom McConnell <tmcconne@sedona.intel.com>.

Fri Nov 13 00:12:50 1992  Francois Pinard  (pinard at icule)

	* m4.texinfo: Correct the examples for 33.divert, 38.divnum,
	39.cleardiv, which were describing missing or spurious newlines.
	Modify examples 52.eval, 53.esyscmd and 54.sysval so the results
	do not depend on machine word size, `/bin/false' implementation,
	or `wc' output format.  `make check' is more dependable, now.

	* checks/check_them: Summarize the failed tests by listing their
	name, at end.  If none, issue `All checks successful'.  Output
	`Checking' instead of `Input file:'.

	* checks/get_them, checks/check_them: Reindented.

	* Makefile.in (dist): chmod a+r before making the tar file.

Thu Nov 12 14:42:57 1992  Francois Pinard  (pinard at icule)

	* builtin.c (m4_dnl): Diagnose any parameter to `dnl'.

	* input.c (next_token): Reinitialize token_buttom just after using
	it as a watermark with obstack_free.  Or else, a future token, big
	enough for triggering reallocation of the obstack chunk, could
	void the initialized value of token_buttom, later causing panic in
	obstack_free.  Rename token_buttom to token_bottom everywhere.

	* m4.h: Before declaring errno, first include <errno.h> and
	ensure that it does not define errno.
	Reported by Richard Stallman <rms@prep.ai.mit.edu>.

Wed Nov 11 17:40:35 1992  Francois Pinard  (pinard at icule)

	* builtin.c: Define and use DECLARE macro for builtins.

	* builtin.c (m4_ifelse): Avoid any diagnostic when exactly one
	argument, this is a common idiom for introducing long comments.

	* builtin.c (m4_ifelse): If 3n + 2 arguments, diagnose missing
	arguments.  The last argument was silently ignored.

	* m4.c (cmd_error): Add a missing semicolon before va_end().

Tue Nov 10 08:57:05 1992  Francois Pinard  (pinard at icule)

	* Makefile.in: Now handle protoized sources.  Define and use U.
	Compile and use ansi2knr with old compilers.  Update DISTFILES.
	Add `aclocal.m4' to `configure' dependencies.
	* ansi2knr.c: New, from Ghostscript distribution.
	* configure.in: Define U through FP_PROTOTYPES for old compilers.
	Add AC_ISC_POSIX, AC_CONST, AC_SIZE_T.
	* aclocal.m4: New, provide FP_PROTOTYPES.
	* m4.h: Conditionnaly protoized through Args, save for varags.
	* builtin.c: Protoized.  Then:
	Include <sys/types.h> if size_t is not defined, before "regex.h".
	(m4_ifelse): Fetch built-in name properly for diagnostic.
	(m4_dumpdef): Remove wrong (char *) cast calling dump_symbol.
	(m4_regexp): Add const to `msg' declaration.
	(m4_patsubst): Add const to `msg' declaration.
	* debug.c: Protoized, save for varargs.
	* eval.c: Protoized.
	* format.c: Protoized.
	* input.c: Protoized.
	* m4.c: Protoized, save for varargs.  Then:
	(xfree): Accept void * instead of char *.
	(xmalloc): Return void * instead of char *.
	(xrealloc): Accept and return void * instead of char *.
	* macro.c: Protoized.
	* output.c: Protoized.
	* path.c: Protoized.  Then cast some (char *) over xmalloc's.
	* symtab.c: Protoized.

Fri Nov  6 02:05:21 1992  Francois Pinard  (pinard at icule)

	* m4.texinfo: Remove directory from diagnostics in 30.include,
	51.eval, 56.errprint and 57.m4exit tests.

	* m4.h: Remove declarations for int or void system functions, they
	cause more conflicting trouble than they make good.

	* configure.in: Avoid configuration header file.  Add some tests.
	* m4.h: Remove #include "config.h".
	* Makefile.in, lib/Makefile.in: Implement Autoconf interface.
	Then, rewritten for better compliance with GNU standards.

Thu Nov  5 12:37:13 1992  Francois Pinard  (pinard at icule)

	* format.c (format): Avoid syntax error if not HAVE_EFGCVT,
	because of a misplaced #endif.

	* Many *.[hc] files: Correct intra-line spacing here and there,
	according to GNU indent 1.6 advice.
	
	* configure.in: New, using Autoconf 1.2.
	* m4.h: Reverse NO_MEMORY_H to NEED_MEMORY_H.
	* Delete old configure.in, configure, etc/configure.in,
	etc/configure, lib/configure.in, lib/configure and config/*.
	Reported by Jason Merrill <jason@jarthur.claremont.edu>.

	* symtab.c (hash): Change (char) NULL to '\0'.
	Reported by Jason Merrill <jason@jarthur.claremont.edu>.

	* Delete .vers, etc/newdist.sh, etc/newvers.sh and
	etc/nextvers.sh.  Version numbers will be edited `by hand'.
	* version.h: De-automatize, force value in.

	* m4.c: Changes in order to use a newer getopt.h.
	Reported by David MacKenzie <djm@eng.umd.edu>.

	* checks/: New name for examples/.
	* checks/get_them: New location for etc/get_examples.
	* checks/check_them: New location for etc/check_examples.
	* Makefile.in, checks/get_them, checks/check_them: Adjust.
	* lib/vfprintf.c: New location for etc/vfprintf.c.
	* Delete empty etc/.
	* examples/: New name for test/.

Tue Mar 10 00:29:46 1992  Francois Pinard  (pinard at icule)

	* Makefile.in (check): Add m4 as dependency.

	* m4.c: Accept --no-warnings instead of --no_warnings, and
	--no-gnu-extensions instead of --no_gnu_extensions.  Make the
	usage message more informative.
	Reported by David Mackenzie <djm@eng.umd.edu>.

Mon Mar  9 14:53:40 1992  Francois Pinard  (pinard at icule)

	* etc/check_examples: New name for check_examples.sh.
	* etc/get_examples: New name for get_examples.sh.
	* Makefile.in, etc/Makefile.in: Use new names.

	* Makefile.in: Transmit $(CC) while making in lib.

	* Many *.[hc] files: GNU indent'ed, with further fine tuning of
	code disposition by hand.

Sun Mar  8 11:01:55 1992  Francois Pinard  (pinard at icule)

	* m4.h: Delete definitions for abort() and exit().
	Reported by Richard Stallman <rms@prep.ai.mit.edu>.

	* config/hmake-unicos, config/s-unicos.h: New files.
	Reported by Hal Peterson <hrp@cray.com>.

	* eval.c (exp_term): Have N^0 return 1.
	Reported by Michael Fetterman <mafetter@ichips.intel.com>.

	* eval.c, input.c, m4.h: Remove last comma in enums.
	Reported by Mike Lijewski <lijewski@theory.tc.cornell.edu>.

	* Transfer of maintenance duties from Rene' to Franc,ois.

Thu Oct 24 15:18:46 1991  Rene' Seindal (seindal at diku.dk)

	* Version 1.0.  Many thanks to those, who provided me with bug
	reports and feedback.

	* Uses GNU configure, taken from the gdb distribution.

	* Uses GNU getopt(), with long option names.

	* The -Q/+quiet option is added, which suppresses warnings about
	missing or superflous arguments to built-in macros.

	* Added default options via the M4OPTS environment variable.

	* The built-in format can now be configured to use sprintf as
	the formatting engine, for systems without [efg]cvt(3).

	* GNU library code is moved to the ./lib subdirectory; other
	utility files are now in ./etc.

	* Several minor bugs have been fixed.

Fri Jul 26 15:28:42 1991  Rene' Seindal (seindal at diku.dk)

	* Fixed various bugs.  Version 0.99, manual 0.09.  Many thanks to
	Francois Pinard <pinard@iro.umontreal.ca> and Roland H. Pesch
	<pesh@cygnus.com> for providing me with reports.

	* The builtins incr and decr are now implemented without use of
	eval.

	* The builtin indir is added, to allow for indirect macro calls
	(allows use of "illegal" macro names).

	* The debugging and tracing facilities has been enhanced
	considerably.  See the manual for details.

	* The -tMACRO option is added, marks MACRO for tracing as soon
	as it is defined.

	* Builtins are traced after renaming iff they were before.

	* Named files can now be undiverted.

	* The -Nnum option can be used to increase the number of
	divertions available.

	* Calling changecom without arguments now disables all comment
	handling.

	* The function m4_patsubst() is now consistently declared
	static.

	* A bug in dnl is fixed.

	* A bug in the multi-character quoting code is fixed.

	* Several typos in the manual has been corrected.  More probably
	persist.

	* The m4.info file is now installed along with the program.

Thu Nov 15 21:51:06 1990  Rene' Seindal (seindal at diku.dk)

	* Updated and enhanced version.  Version 0.75, manual 0.07.

	* Implemented search path for include files (-I option and
	M4PATH envronment variable).

	* Implemented builtin "format" for printf-like formatting.

	* Implemented builtin "regexp" for searching for regular
	expressions.

	* Implemented builtin "patsubst" for substitution with regular
	expressions.

	* Implemented builtin "esyscmd", which expands to a shell
	commands output.

	* Implemented "__file__" and "__line__" for use in error
	messages.

	* Implemented character ranges in "translit".

	* Implemented control over debugging output.

	* Implemented multi-character quotes.

	* Implemented multi-character comment delimiters.

	* Changed predefined macro "gnu" to "__gnu__".

	* Changed predefined macro "unix" to "__unix__", when the -G
	option is not used.  With -G, "unix" is still defined.

	* Changed "shift", "$@" and "$*" to not insert spaces afters
	commas.

	* Added program name to error messages.

	* Fixed two missing null bytes bugs.

Mon Jan 22 21:08:52 1990  Rene' Seindal (seindal at diku.dk)

	* Initial beta release.  Version 0.50, manual 0.05.
