1998-08-17  Bruce Korb <bkorb@gnu.org>
	* Makefile.am
	configure needs to depend on the VERSION

	* autoopts/Makefile.am
	Added new file to distribute:  autoopts/libhead.tpl.

	* autoopts/libhead.tpl.
	New template for producing an interface file for libraries
	that require options in the client program command line.

	* autoopts/options.h
	Added an option type, "DOCUMENT" for adding commentary
	to the usage text.

	* autoopts/autoopts.c
	When searching for an option, ignore any entries marked, "DOCUMENT".

	* autoopts/usage.c
	* autoopts/save.c
	Added special handling of DOCUMENT type options.

	* autoopts/putshell.c
	Fixed format for broken printf.


	* autoopts/opt*.tpl
	Special handling for DOCUMENT type options.

	* doc/auto_gen.tpl
	Documented DOCUMENT options.

	* src/opts.def
	Took advantage of the new feature to add comments to the usage.
	Also added "no_preset" attribute to several options.

	* src/agFun*.c
	Added some cross referencing to the document.

	* tests/opts.test
	Added some verbose output.
	Corrected comparison output based on printf bug.

1998-07-30  Bruce Korb <bkorb@gnu.org>

	* autoopts/Makefile.am
	Distribute the TODO file, too.

	* autoopts/autoopts.c
	Since all disable-able (negatable) options now have a special
	prefix assigned, "yes", "no", "true", "false" "-" and "+"
	values no longer need have special meanings.  A bunch of code
	was removed.  The RC/INI files no longer need the +/- prefix
	to the option name, either.

	* autoopts/optcode.tpl
	Moved in the declarations of the callout procedures.
	They do not need to be exported to the world.  They should be
	called via the pointers only.

	Removed the initialization of the filler field.  It has
	been rendered useless now.

	Simplified the formation of the initialization by
	#defining variable names to (const char*)NULL when not present
	Added pzDisablePfx, used as a special value for environment
	variable presetting.  Not used anywhere else.

	* autoopts/opthead.tpl
	Removed the declarations of the callout procedures.
	Cleaned up the commentary and documentation.  Greatly.

	* autoopts/options.h
	Changed "NEGATABLE" to "DISABLEOK".
	Added "INITENABLED".  Removed the "AODFT_*" defines.
	Fixed the CLEAR_OPT() macro accordingly.
	Added pzDisablePfx, used as a special value for environment
	variable presetting.  Not used anywhere else.

	Removed a useless fill field.  Bumped the revision field.

	* autoopts/options.tpl
	Expanded commentary on the valid use of arguments in "flag_code".

	Reformatted the descriptions of the macros to make them
	more human readable.  Used 'sed' to convert the text back
	to something texinfo can use.

	* autoopts/save.c
	Removed the '+' prefix for disabled options.
	We use the prefixed long option name now.

	* autoopts/usage.c
	A couple of innocuous changes to try to avoid the shared library
	problem with formatting output to stderr.

	Print the disablement long option name, when applicable.

	* doc/Makefile.am
	Added autoopts/opthead.tpl to the dependency list for
	autogen.texi.  The opts.h header documentation is now intertwined
	with the code to emit the file.

	* doc/auto_gen.tpl
	Added documentation of the opts.h macro usage (extracting
	the body of it from definitions gotten from autoopts/opthead.tpl).

	Documented the options that autoopts maintains automatically.

	* doc/autogen.def
	Added shell code for extracting definitions from autoopts/opthead.tpl).

	* many files
	Cleaned up documentation a bit.

	* src/agShell.c
	Added code to print the failing command when the shell is
	interrupted by a signal.

	* src/autogen.c
	Removed unneeded white space

	* src/escapech.c
	The advance count should be zero when escaped new-lines are
	encountered, too.  (a la "C" code)

	* src/opts.[ch]sav
	I am retaining these because this mutual dependency is more
	problematical than the ag*.def ones.

	* src/opts.def
	Simplified the syntax of the definition for `explain'.

	* src/tokenize.c
	When advance count is zero, it really refers to the destination,
	whereas it otherwise indicates advancing the scan pointer
	by that amount.

1998-07-02  Bruce Korb <bkorb@gnu.org>
	* AUTHORS
	regex.* are no longer distributed with autogen.
	I futzed with bootstrap, too :)

	* autoopts/options.h
	Added version marker to the option structure..

	* autoopts/*.tpl
	Changed macro markers due to conflicts with texi.

	* autoopts/optcode.tpl
	Added the text string for testing for disabled options.
	Inserted the structure version known at the time of
	compilation.

	* autoopts/autoopts.c
	Verifies that the structure version in the option descriptor
	matches the one known by optionProcess().
	Also now compares a long name with a disabled name,
	when there is a disabled name.

	* autoopts/usage.c
	Put the disablement option name into the usage output

	* autoopts/options.tpl
	Reformatted and expanded the descriptions of the definitions
	used inside the template.  This section is now suitable for
	insertion into a .texi document.

	* doc/auto_gen.tpl
	expanded substantially the autoopts chapter.
	The option definition descriptions are extracted from
	$(top_srcdir)/autoopts/options.tpl

	* doc/Makefile.am
	added $(top_srcdir)/autoopts/options.tpl to the list of
	dependencies for autogen.texi.

1998-07-02  Gary V. Vaughan  <gvv@techie.com>
	* VERSION: removed a spurious hyphen, and bumped patchlevel
	to 4.3.3

	* autoopts/stack.c: removed compat/regex.h reference again.

	* config/bootstrap: reinstated the search code... we need this
	to find the directory that has the configure.in in it, so that
	libtool/automake/autoconf run from there rather than in the config
	directory (which simply doesn't work!).  The wd isn't strictly
	necessary, but it obfuscates the code if we overload srcdir.

	* doc/Makefile.am: removed some duplicated lines introduced by a
	misapplied patch.  Added autogen.texi to the list of files to be
	removed on a maintainer-clean, now that BUILT_SOURCES is not set.

1998-06-30  Gary V. Vaughan  <gvv@techie.com>

	* src/makedef.sh: replace a lot of hairy shell script with a
	little hairy awk script... this also removes the dependency on
	blocksort because we do a (suboptimal) insertion sort on the key
	field before emitting the blocks.
	(_EOF_): added a missing heredoc end marker to the header.

1998-06-23  Gary V. Vaughan  <gvv@techie.com>

	* config/release: extra code to make sure we always release with
	an up to date set of generated opts files.
	Also, we now do a source tree build from the distribution before
	the VPATH build in make distcheck.

	* configure.in (AG_FUNC_REGCOMP): removed.
	* config/regcomp.m4: ditto.
	
	* src/agFunCase.c: removed compat/regex.h reference.
	* src/agEval.c: ditto.
	* autoopts/stack.c: ditto.

1998-06-17  Gary V. Vaughan  <gvv@techie.com>

	* configure.in (with_regex_lib): accept and use configure options
	to determine a suitable regular expression library.

	* README: added a note to point out the requirement for a POSIX
	regular expression library.

	* compat/regex.c, compat/regex.h: removed.

	* doc/auto_gen.tpl (Top): added the last updated date to the info
	mode Top node.

	* doc/auto_gen.tpl (Autoopts): New chapter to draw attention to
	the autoopts code until some more in depth deocumentation is written,

	* doc/autogen.def: replaced the version variable definition with
	an include directive for (at least) two reasons: the prog_name
	variable was not defined, and was preventing the info file from
	having a basename (we were getting a file called .info); identical
	code was already present in the opts.def file so now it need be
	maintained only once.

	* MakeRules (.def.*): the -L search path was wrong, and prevented
	any of the autoregeneration with the newly built autogen binary
	from working.

1998-06-17  Bruce Korb <bkorb@gnu.org>
	* Most files listed below:
	Began the implementation of enable/disable by changing references
	from "invert" to "disable"

	* autoopts/autoopts.c
	Replaced "'\0'" with "NUL".
	Deleted stuff dealing with "NEGATIONS", since it is unused
	and is to become obsolete.

	* autoopts/optcode.tpl
	"negatable" no longer is used.  If a "disable" prefix is
	specified, then "negatable" is presumed.  Probably should
	find a reasonable synonym for "disableable" :)
	Options are now initialized as "disabled", unless "enabled"
	is specified in the definition.
	Initialize the pz_DisabledName pointer to (const char*)NULL.
	Cleaned up the usage text construction.
	The global "invertedopts" is no longer used.  Any usage
	of "disable" in an option definition is used instead.

	* autoopts/options.h
	Rename invert to disable and redefine the "UNUSED_OPT" to
	check the option set type bits (SET, PRESET and DEFINED).
	Added the pz_DisableName pointer to the option descriptor.

	* autoopts/options.tpl
	Added commentary describing what I have done.

	* autoopts/save.c
	* autoopts/stack.c
	* autoopts/usage.c
	Changes to #define names

	* autoopts/opthead.tpl
	Created a #define so that the CLEAR_OPT() macro can work.
	Set the "OPTST_DISABLED" as needed in the CLEAR_OPT() macro.
	Change references from "invert" to "disable".

	* doc/autogen.def
	I had forgotten that I changed the syntax to ignore
	duplicate "autogen definition xxx;" statements for the
	very purpose of directly including definition files...

	* src/opts.def
	Reduce the length of some of the descriptions so they fit on a line.

	* src/agLex.c
	Numbers are now kept as strings and converted later.

	* src/agParse.y
	xlateName is no longer needed.
	findPlace() now uses a pointer to a string instead of the
	converted number as an argument.

	* src/agReduce.c
	xlateName has been removed.
	findPlace() now uses a pointer to a string instead of the
	converted number as an argument.
	
1998-06-05  Gary V Vaughan  <garyv@aethos.co.uk>

	* MakeRules.in (.def.texi): fixed a dumb bug which prevented
	autogen.texi generation from VPATH builds.

	* Makefile.am, config/Makefile.am (EXTRA_DIST):
	Changed to accomodate the movement of bootstrap and release (see
	below).

	* bootstrap, release: Relegated to the config directory to reduce
	clutter.   Now we type config/bootstrap and config/release! =)O|
	
	* MakeRules.in (.def.*): When the local autogen binary is not
	yet available, don't mess about with sav files, just warn that the
	old file will be used.

	* */Makefile.am (EXTRA_DIST, <prog>_SOURCES, BUILT_SOURCES):
	"Corrected" the values of these variables throughout.
	Historically, the contents of these make variables have been
	generated empirically.  No more!  My interpretation of the
	automake manual is that <prog>_SOURCES should hold the filenames
	of all distributed files *required* to build <prog>.  Similarly,
	EXTRA_DIST should hold the filenames of all of those files which
	are neither in <prog>_SOURCES or automake's magic list of
	autodistributed files.  BUILT_SOURCES can then be a simple subset
	of <prog>_SOURCES, where there are make rules to regenerate the
	files listed somehow.

	* tests/opts.test (FAILURE test): do the failure comparison
	against the generated opts files to prevent failure every time the
	version number is bumped.

1998-06-05  Bruce Korb <bkorb@gnu.org>
	* autoopts/opthead.tpl
	Sanity check flag values when long options are disallowed

1998-06-03  Gary V Vaughan  <garyv@aethos.co.uk>

	* tests/casenest.test:  new test... based on some old old email
	about a bug with CASE inside a FOR loop... I suspect this test
	does not trigger the bug as it works right back to release 4.1 (at
	least): MORE INVESTIGATION REQUIRED.

	* doc/autogen.def: include the opts.def file directly to make sure
	the version info is defined for the info file.

	* MakeRules.in (.def.texi): use the location of the included
	opts.def file as the template search directory so that the new
	#include directive (above) will work.

1998-05-31  Gary V. Vaughan  <gvv@techie.com>

	* mkupdate.sh: Convert to bourne shell (not sure about the
	basetime calculation tho'...)

	* TODO: added a couple of new items.

	* AUTHORS: updated to attribute new files.

	* src/Makefile.am (CLEANFILES): added *.unordered to the
	cleanfiles list.

	* src/makedef.sh: modified to fallback on the unordered file if
	all else fails, rather than cause make to stop... print a warning
	when this happens.
	Tidied header generation.

	* src/agPrint.c (safePrintf): cse for repeated sigaction block
	in each preprocessor branch.

1998-05-28  Bruce Korb <bkorb@gnu.org>
	* src/agEval.c:  New rules for typing expression tokens:
	
	  IF the first char is alpha or a space, it is a string
	  IF it is a digit, it is a number
	  IF it is a '#', the following chars are a string
	  IF it is a '_', it introduces a function name
	  IF it is '+' or '-' and then a digit, then it is a number
	  IF it is a single punctuation character or one followed by
	        another, then it is an operator of some sort.
	  ELSE is is a string

	* src/agFunCase.c agFunFor.c agFunIf.c agFunOut.c agFunc.c agPrint.c:
	Remove old bogus file names

	* src/opts.def:
	Upgrade minor version due to new expression token typing

1998-05-26  Bruce Korb <bkorb@gnu.org>
	* NOTES
	Added sprintf discussion

	* MakeRules.in, Makefile.am, configure.in, release,
	  autoopts/Makefile.am, compat/Makefile.am,
	  compat/compat.h, compat/pathfind.c, compat/xmalloc.h,
	  config/Makefile.am, config/acconfig.h, config/ctime.m4,
	  config/make.m4, config/regcomp.m4, config/VERSION.tpl,
	  doc/auto_gen.tpl, doc/autogen.def, doc/Makefile.am
	Use CVS Macros

	* mkupdate.sh
	Use CVS information for creating update patch

	* src/agFunCase.c
	Eval single case argument when it is a function

	* src/agPrint.c
	indentation fixes
	
1998-05-08  Gary V. Vaughan  <gvv@techie.com>

	* tests/reorder.test: New test to hilight the (now fixed)
	block macro reordering bug.

1998-04-11  Bruce Korb <bkorb@gnu.org>

	* src/agFunCase.c:  Substantially rewritten to properly
	handle nesting with other block functions as well as itself.

	* tests/case.test:  Exercise the new feature

1998-04-09  Gary V Vaughan  <gvv@techie.com>

	* configure.in: Changed to use AC_CONFIG_AUX_DIR.

	* bootstrap:  New script to do all the autoconfig stuff when
	freshly checked out of CVS.

	* release: New script to run checks and build a safe release
	tarball.

	* tests/evalstr.test: fixed to work with the above.

	* tests/opts.test: changed to use same format as other tests.

	* config: New directory.
	* config/Makefile.am: New file to control dist rules.
	* config/VERSION.tpl: moved here from toplevel.
	* config/acconfig.h: same.
	* config/ctime.m4: same (originally part of acinclude.m4)
	* config/make.m4: same (originally part of acinclude.m4)
	* config/regcomp.m4: same (originally part of acinclude.m4)

	* acinclude.m4: deleted.

	* VERSION: New file.  Renamed from VERSION.sh and removed its
	execute bit to be more like other GNU packages.

	* Makefile.am (VERSION): rewrote the VERSION variable
	explicitly, as automake is confised by a target of the same name.
	Foxed up the VERSION target to work from AC_CONFIG_AUX_DIR too.

	* MakeRules.in (ACLOCAL, ACHEADER): added directory flags
	to work with AC_CONFIG_AUX_DIR.

	* tests/Makefile.am (TEST_ENVIRONMENT): added top_srcdir to
	make opts.test work (see previous change).

	* tests/opts.test: calculate top_srcdir earlier and differently
	so that the test will run from the src tree and from VPATH.

1998-04-08  Gary V Vaughan  <gvaughan@rothmans.aethos.co.uk>

	* Makefile.in, */Makefile.in: Regenerated with automake-1.3.

	* Makefile.am (updates): substitute for TM_VERSION instead of
	hardcoding the version number.

	* configure.in (AC_SUBST): Calculate the glob match for
	agFun*.c in the src directory here (see below) and substitute
	with AGFUN_SOURCES.

	* src/Makefile.am (agfunc.def): Removed agFun*.c dependency,
	as it is not valid (and breaks ground up maint-rebuild).
	Substitute for AGFUN_SOURCES instead.  I left the rule itself
	using a glob expression so that maintainer additions will
	be picked up in the rule even though the dependency won't notice.

1998-04-07  Gary V. Vaughan  <gvv@techie.com>

	* tests/defs: replaced non-portable code (vis. "x || { y; z }",
	and "${x:-y}" and fixed a bug where testsubdir was used before
	its existence was confirmed.

	* tests/evalstrs.test: Corrected non-portability bugs similar
	to the above and fixed a bug where a shell script with no
	execute bit was executed.

	* tests/opts.test: Fixed some references to allow this test to
	run for "make distcheck" and VPATH builds.

1998-04-07  Bruce Korb <bkorb@gnu.org>

	* src/*.c autoopts/*.c compat/*.c
	Macro-ized all memory allocation/deallocations

	* src/autogen.c
	Added debugging code for when MEMDEBUG is defined.
	It tags each allocation, links it into a chain and
	puts markers after the end of the normal allocation.

	* tests/*.test tests/defs
	Altered the routines to save the output when the test
	fails.  Sent recommendation to Tromey for altering
	automake to add a pseudo target "recheck-TESTS" that
	only runs the tests that failed.

1998-04-02  Gary V. Vaughan  <gvv@techie.com>

	* src/agExpr.c (evalExpr_IN): HILIM->IN typo in error messages.

1998-03-31  Gary V. Vaughan  <gvv@techie.com>

	* tests/*.test: New test-suite files!

	* Makefile.am: Changed to reflect and use new test-suite.

1998-03-18  Gary V Vaughan  <gvv@techie.com>

	  * AUTHORS: Resynchronised with recent file removals/additions.

	  * ChangeLog: Removed entries pertaining to patches which were
	  ultimately rejected.

	  * acinclude.m4: New file.
	  * configure.in: Tidied up in light of acinclude.m4.

	  * {autoopts,src}/Makefile.am, configure.in:
	  Small fixes to get VPATH build (and hence make distcheck)
	  working again.

	  * compat.h: Much removed.  Parts reordered.

	  * libgen.h, compat.h: Broken K&R support code deleted.

	  * various:  Rationalised use of boolean type.  ag_bool, AG_FALSE
	  and AG_TRUE are used everywhere except regex.c now, and are
	  word size integers for maximum cpu register efficiency.

	  * agParse.c, agParse.y:  Regenerated with Berserkly Yacc (to
	  remove reliance on alloca).

1998-03-04  Gary V Vaughan  <garyv@aethos.co.uk>

	  * autoopts/usage.c:
	  Removed lines which included sys/param.h inside a #ifdef which
	  was always false.

	  * autoopts/autoopts.c:
	  Removed lines which included libgen.h inside a #ifdef which
	  was always false.

	  * MakeRules.in: Stripped a whole bunch of stuff duplicated by
	  automake generated Makefile.in's.

	  * compat/maxpath.h:
	  Removed a couple of lines which look for limits.h; this is done
	  already by compat.h.

1998-03-02  Gary V Vaughan  <garyv@aethos.co.uk>

	* src/agPrint.c (safePrintf):
	Removed call to vsprintf which relied on an argv-like
	implementation of stdarg/varargs.  Used some previously #defed out
	code to make multiple sprintf calls instead.  This is required for
	compilation on HPUX and any other non-argv style variadic function
	implementation.

	* compat/Makefile.am (strsignal.h):
	Removed the dependency on ../src/autogen which loses when the file
	timestamps trigger the rule before autogen is built.
	(dummydir): New fake installation directory to get shared objects
	built in the compat dir,
	(libcompat_la_LIBADD): Now a _shared_ object list.
	(strsignal.*o): New dependency to ensure existence of strsignal.h
	before strsignal objects are built.

	* configure.in (AC_PROG_RANLIB):
	Removed.  libtool builds _all_ package objects now.
	(AC_CHECK_LIB): Tidyed up inclusion of -lgen vs pathfind.lo.
	(AC_MSG_CHECKING):  Make --enable-debug work like autoconf builtin
	switches, and display status.
	(LTLIBOBJS): Generate and substitute for LTLIBOBJS.

1998-03-02	Bruce Korb <bkorb@gnu.org>
	* compat/Makefile.am (strsignal.h):
	In the build rule for strsignal.h, made the running of autogen
	conditional upon the existence of the executable.
	If it is not there, then whatever is lying around is used.

	* autoopts/optcode.tpl
	Removed documentation for macro function "DATE".
	Documented _first and _last expression functions.
	Documented '#error', '#shell' and '#endshell' definition
	directives.

1998-03-02  Gary V Vaughan  <garyv@aethos.co.uk>
	* src/Makefile.am (autogen_LDADD):
	No need to link libcompat anymore -- objects are all in libopts.

	* autoopts/Makefile.am (libopts_la_LIBADD):
	Suck the compat directory library objects into libopts.

	* compat/Makefile.am (strsignal.h):
	(dummydir): New fake installation directory to get shared objects
	built in the compat dir,
	(libcompat_la_LIBADD): Now a _shared_ object list.
	(strsignal.*o): New dependency to ensure existence of strsignal.h
	before strsignal objects are built.

	* configure.in (AC_PROG_RANLIB):
	Removed.  libtool builds _all_ package objects now.
	(AC_CHECK_LIB): Tidyed up inclusion of -lgen vs pathfind.lo.
	(AC_MSG_CHECKING):  Make --enable-debug work like autoconf builtin
	switches, and display status.
	(LTLIBOBJS): Generate and substitute for LTLIBOBJS.

1998-02-27	Bruce Korb <bkorb@gnu.org>
	* src/autogen.h
	* src/agexpr.h
	* src/agExpr.c
	* src/agFunFor.c
	Added code and vars for the _first and _last expression functions

	* src/proto.h
	* src/agPrint.c
	Changed declaration for safePrintf.  Needs to return length.

	* src/agEmit.c
	Initialize the forLoopDepth at the beginning of the template scan

1998-02-26	Bruce Korb <bkorb@gnu.org>
	* autoopts/Makefile.am
	* autoopts/autoopts.h
	* autoopts/optcode.tpl
	Removed references to HAVE_* macros from the template and added
	to autoopts.h.  The intention is to generate an autoopts.h that
	gets installed.  It will not contain HAVE_* references, either.

	* compat/Makefile.am
	* compat/STRSIG.def
	* compat/STRSIG.dft
	* compat/STRSIG.tpl
	Added these files to generate strsignal.h in a more
	system independent fashion.

	* compat/compat.h
	Added id_t if not HAVE_SIGSEND
	added definition for STATIC to avoid requiring 'success.h'.

	* compat/libgen.h
	Changed argument declarations, per Gary's needs

	* compat/maxpath.h
	respelled HAVE_SYS_PARAM as HAVE_SYS_PARAM_H

	* compat/sigsend.c
	Implemented P_PGID and P_ALL send types, per Gary's needs

	* doc/autogen.tpl
	Documented '#error', '#shell' and '#endshell' directives

	* src/Makefile.am
	* src/agDirect.c
	* src/agShell.c
	Implemented '#error', '#shell' and '#endshell' directives

	* src/agEmit.c
	Got rid of non-functional assignment

	* src/autogen.h
	Moved file pair types into here so they could have been used
	outside of agShell.c.  Wound up not using it, tho.  Still better.

	* src/opts.def
	* src/opts.csav
	* src/opts.hsav
	Added '-t (timeout)' option

	* src/proto.h
	Added 'loadData()' for when I thought I would use it outside agShell.c

	* tests/Makefile.am
	* tests/STRSIG.sh
	* tests/STRSIG.tgz
	Added this as a '#shell' directive test

	* tests/opts.sh
	* tests/yyy.sh
	Cleanup

1998-02-19	Bruce Korb <bkorb@gnu.org>

	* compat/maxpath.h
	Respelled 'HAVE_SYS_PARAM' as 'HAVE_SYS_PARAM_H'

	* autoopts/options.h:
	Conditionally include several header files and, if these are
	not available, then create my own EXIT_SUCCESS, etc. defines.

	* reworked and applied many of the changes called out below
	by Gary.

1998-02-12	Bruce Korb <bkorb@gnu.org>
	* Bumped the revision to 4.1
	* Added src/agParse.y to the distribution sources
	* changed src/tokenize.c so the '...' quoting rules match
	those in the definition file processing.

1998-01-30  Gary V Vaughan  <gvv@techie.com>

	* configure.in, MakeRules.in, */Makefile.am:
	Utilise the DEFS variable correctly (and consequently shuffle
	the contents and presence of CPPFLAGS and INCLUDES) in the build
	sequence so that the user can safely `make CPPFLAGS=-DGARBAGE'.
	The required -I preprocessor directives used to get trashed.

	* */Makefile.am:
	Fixed up some more targets to make certain `make distcheck`
	works.

	* aclocal, configure, */Makefile.in:
	Regenerated with the above changes using `automake -a -i'; this
	is required to put the correct texinfo.tex in the distribution
	(-a) and to include the dependency information so that the
	user can install without gcc (-i).

1998-01-29	Bruce Korb <bkorb@gnu.org>
	* Added a new expression function "SHSTR" to produce a string
	that the shell will pass on to a program.

	* compat/strsignal.c:
	Fixed a conditional compilation expression from "A || B"
	to "! A || ! B".

1998-01-29  Gary V Vaughan  <gvv@techie.com>

	* compat/compat.h (STATIC):
	Added a the #define STATIC block so that modules in compat work
	without success.h (which is no longer in the distribution).

	* compat/pathfind.h:
	Removed a bogus reference to success.h.

	* compat/libgen.h:
	Removed all ansi argument prototypes from these declarations to
	prevent a clash with system header declarations (which may or may
	not declare const arguments).  Unfortunately we can't take them
	away entirely, otherwise the return types are implicitly int and
	will cause type mismatch warnings.

	* src/opts.c, src/opts.h:
	Regenerated with the above change.

1997-10-29	Bruce Korb <bkorb@gnu.org>
	* Invented global defines for the executable file and invocation

	* Created a weirdo target that works for finding updates since
	making dist.  I am sure a better method is available, but this
	works for me for now.

	* Removed unneeded inclusion of sys/types from opthead.tpl.
	Working to reduce dependencies.

	* Corrected location of "=\0" characters in environment variable def.

	* In some cases it would be nice to disallow looking up group macros.
	However, in other cases it is necessary and I cannot tell when to
	allow and when not inside of "findDefEntry".  Removed restriction.

1997-10-16	Bruce Korb <bkorb@gnu.org>
	* Removed "success.h" from the entire source.  Its contents were
	not used in the autoopts directory and was was used in the src
	directory was added to "autogen.h".

	* Removed dependencies on bash.

	* Properly installed the libtool stuff

	* Clarified what is "public" and what not in autoopts/autoopts.h

	* Fixed bug in src/agDirect.c where a directive that immediately
	followed a failing conditional was not seen.

1997-10-16  Gary V Vaughan  <gvv@techie.com>

	* autoopts/Makefile.am (lib_LTLIBRARIES):
	Changed lib_LIBRARIES to lib_LTLIBRARIES to build a libtool lib.

	* src/Makefile.am (autogen_LDADD):
	Changed libopts to refer to libtool lib file.

	* doc/autogen.tpl:
	Added @dircategory and @direcntry so that install-info works

1997-10-15  Bruce Korb <bkorb@gnu.org>
	* Incorporated the changes noted below by Gary (as needed)
	Differences:  "success.h" was moved to autoopts/ dir and
	is installed (required by "autoopts.h").  This caused changes
	to MakeRules.in and (src|autoopts)/Makefile.am.

1997-10-15  Gary V Vaughan  <gvv@techie.com>

	* autoopts/Makefile.am (datadir):
	Need this to `activate' the data_DATA rules and installation.

	BRUCE:	I'm following the lead of automake and libtool here --
		you might want to install these elsewhere??

	* src/agShell.c:
	Removed duplicate definition of sigsend() stub.

	* MakeRules.in (CPPFLAGS):
	Changed -I$(top_srcdir)/autoutil to -I$(top_srcdir)/src to pick up
	current headers now that they have moved.

	* configure.in (AC_OUTPUT):
	Removed generation of (non-existant) autoutil/Makefile.

	* compat/compat.h:
	Added declaration of id_t, when sigsend() is not in libc.

	* configure.in (idtype_t):
	Removed idtype_t check -- already handled from compat.h

1997-10-15  Gary V Vaughan  <gvv@techie.com>

	* src/agShell.c:
	Removed duplicate definition of sigsend() stub.

	* MakeRules.in (CPPFLAGS):
	Changed -I$(top_srcdir)/autoutil to -I$(top_srcdir)/src to pick up
	current headers now that they have moved.

	* configure.in (AC_OUTPUT):
	Removed generation of (non-existant) autoutil/Makefile.

	* compat/compat.h:
	Added declaration of id_t, when sigsend() is not in libc.

	* configure.in (idtype_t):
	Removed idtype_t check -- already handled from compat.h

Tue Oct  7 11:41:33 PDT 1997

	Extracted from SCCS comments:
	* Add closeOutput to proto.h
	* Allow C++ style comments in definitions.
	* Disallow backquotes and single quotes in names
	* Allow for empty macros without blowing up!!
	* Allow negative numbers for indexes (hyphen prefix to numbers)
	* Change end character (last entry index indicator) to a '$'
	* Cleanup closing permissions on "pushed" output files
	* Completely unbuffer shell output
	* Fixed an empty macro bug
	* Fixed skip suffix logic
	* Fixups from Gary
	* Move streqv to autoopts lib
	* Implemented subscripts for definitions
	* Insert escape sequences into the output string correctly
	* Let 'findDefEntry()' go hassle with subscripts
	* Linebuffer the stdout
	* Lowercase the option names.  Use stdlib instead of compat.h
	* Need to keep subscript cleaned off for ENDIF search
	* Need to reset output file name buffer on each loop
	* SCCSID
	* When expanding the "_str"ingified text,
	   start a quoted new line IFF there are more data after a '\n'
	* Use va_list for the vararg of safePrintf
	* In the lexical scan, utilize doEscapeChar() routine from utilities
	* In proto.h, add purge argument
	* boolean, not bool_t :-(
	* do not need dirname
	* findDefEntry now needs to return an indexing indicator
	* simplify some expression analysis a tad
	* warning cleanups (All over)

Mon Sep  8 11:05:31 1997  Gary V Vaughan  <gvaughan@tewkux93>

	* src/agShell.c (defArgs):
	Removed -p from /bin/sh server default arguments.  Not supported
	by vanilla bourne shell (e.g. AXP).
	(serverSetup): Use the signal number for the server trap command,
	most bourne shells do not accept signal names.

	* tests/yyy.sh:
	* tests/opts.sh:
	Removed -p from /bin/sh arguments.

	* configure.in (AC_CHECK_FUNCS):
	Move sigsend check out of AC_REPLACE_FUNCS, back into
	AC_CHECK_FUNCS.  Add sigsend.o to LIBOBJS manually, if necessary.
	Rationale - need to define idtype_t in compat.h based on value of
	preprocessor macro HAVE_SIGSEND, hence AC_CHECK_FUNCS; but also
	need to build a sigsend workalike if none is provided by libc.
	(AC_CHECK_TYPE): idtype_t check removed.

Mon Sep  8 09:39:42 1997  Gary V Vaughan  <gvv@techie.com>

	* configure.in (AM_MAINTAINER_MODE):
	This is deprecated from automake-1.2 onwards, in favour of the
	`missing' script (which we were using anyway)!

Sun Sep  7 09:24:45 1997  Gary V Vaughan  <gvv@techie.com>

	* configure.in (idtype_t):
	Define type if we didn't find it yet.
	(sigsend): Moves check from CHECK_FUNCS to REPLACE_FUNCS.

	* src/agShell.c (closeServer):
	Moved sigsend out of this file.

	* compat/sigsend.c:
	New file. A sigsend implementation using kill(2).

	* compat/compat.h:
	Define the idtype_t args if necessary.

	* compat/strsignal.sh:
	Changed magic number to #!/bin/sh.

	* compat/Makefile.am (strsignal.h):
	Swap ksh for sh.

	* src/agPrint.c (safePrintf):
	Removed assumption of type of va_list.
	(getSection): New helper function for safePrintf.

	* src/agExpr.c:
	Removed unconditional preprocessor which is handled by compat.h
	(via #include "autogen.h").

Thu Sep  4 15:39:41 1997  Gary V Vaughan  <gvaughan@tewkux93>

	* src/agLex.c (assembleName):
	Fixed paramater 2 type mismatch, where int != YYSTYPE (e.g. AXP).
	All callers changed.

Fri Sep  5 08:46:21 PDT 1997  Bruce Korb
	* src/agPrint.c, src/proto.h, src/autogen.h
	Changed the safePrintf var arg from char** to va_list.
	* src/agShell.c
	converted `in situ' to work with a less rich signal handler library.
	* various
	Applied Gary's patches noted below.

Thu Sep  4 15:39:41 1997  Gary V Vaughan  <gvaughan@tewkux93>

	* src/agLex.c (assembleName):
	Fixed paramater 2 type mismatch, where int != YYSTYPE (e.g. AXP).
	All callers changed.

Thu Sep  4 14:31:54 1997  Gary V Vaughan  <gvv@techie.com>

	* MakeRules.in (.texi.info):
	Removed rule overridden in doc dir Makefile to prevent warnings.

	* tests/opts.sh (top_srcdir, top_builddir):
	* tests/Makefile.am (TEST_ENVIRONMENT):
	Fixed bug in VPATH build.

Wed Sep  3 15:12:13 1997  Gary V Vaughan  <gvv@techie.com>

	* src/Makefile.am (@MAKEINCLUDE@):
	* src/Makefile.am (autogen_LDADD):
	* tests/Makefile.am (@MAKEINCLUDE@):
	* Makefile.am (@MAKEINCLUDE@):
	Fixed bug in VPATH build.

Tue Sep  2 15:59:39 1997  Gary V Vaughan  <gvv@techie.com>

	* src/agFunOut.c (S_IAMB):
	Dummy macro definition.  Hopefully I read the context correctly?

	* configure.in (AC_CHECK_HEADERS):
	Extra config to detect the presence of ucontext.h header.
	(AC_CHECK_FUNCS):
	More config to find a sigsend definition.

	* src/agShell.c (sigHandler, sigsend):
	#ifdef'ed ucontext.h for boxes without it (eg. linux).
	#defined a dummy SA_SIGINFO; conditionally use the appropriate
	sighandler_t prototype for sigHandler(); wrote a sigsend() stub
	barely adequate to the needs of closeServer().
	!! This code ought to be beefed up and dropped into ucontext.h !!
	!! and sigsend.c compatability files in $(top_srcdir)/compat/  !!
	!! or else converted `in situ' to work with a less rich signal !!
	!! handler library.                                            !!

	* tests/opts.sh:
	Usually, there is no /usr/bin/sh: changed to #! /bin/sh

Wed Sep  3 15:12:13 1997  Gary V Vaughan  <gvv@techie.com>

	* src/Makefile.am (@MAKEINCLUDE@):
	* src/Makefile.am (autogen_LDADD):
	* tests/Makefile.am (@MAKEINCLUDE@):
	* Makefile.am (@MAKEINCLUDE@):
	Fixed bug in VPATH build.

Tue Sep  2 15:59:39 1997  Gary V Vaughan  <gvv@techie.com>

	* src/agFunOut.c (S_IAMB):
	Dummy macro definition.  Hopefully I read the context correctly?

	* configure.in (AC_CHECK_HEADERS):
	Extra config to detect the presence of ucontext.h header.
	(AC_CHECK_FUNCS):
	More config to find a sigsend definition.

	* src/agShell.c (sigHandler, sigsend):
	#ifdef'ed ucontext.h for boxes without it (eg. linux).
	#defined a dummy SA_SIGINFO; conditionally use the appropriate
	sighandler_t prototype for sigHandler(); wrote a sigsend() stub
	barely adequate to the needs of closeServer().
	!! This code ought to be beefed up and dropped into ucontext.h !!
	!! and sigsend.c compatability files in $*top_srcdir)/compat/  !!
	!! or else converted `in situ' to work with a less rich signal !!
	!! handler library.                                            !!

	* tests/opts.sh:
	Usually, there is no /usr/bin/sh: changed to #! /bin/sh

Fri Aug  8 10:55:51 PDT 1997 Bruce Korb
	* Completely rewrote the macro definition/declaration processing.
	It required data structure changes that rippled into the text
	emission code as well.  Renamed the autogen sources and upped
	the version number to '4.0'.

Tue Jul 22 07:37:45 1997 PST Bruce Korb
	* README:
	Wrote a real one

	* src/autogen.README:
	Deleted the descriptions that are now in the documentation.

Tue Jul 22 09:47:45 1997 GMT Gary V Vaughan  <gvv@techie.com>

	* */Makefile.am:
	Oops. That should be `include $top_builddir/MakeRules'.  `make
	distcheck' no longer dies a horrible death.

	* src/Makefile.am (autogen_LDADD):
	Oops. That should be $(top_builddir)/.....libfoo.a.

	* VERSION (top_srcdir):
	Extract the relative toplevel directory for VPATH builds.

	* doc/Makefile.am (EXTRA_DIST):
	Make the html docs part of the distribution.
	(html): generate html docs with `make html'.
	(ps): generate postcript docs with 'make ps'.

	* doc/texinfo.tex:
	New file.  Incase the user has an old (or new) texinfo.tex
	incompatible with autogen.texi.

	* tests/opts.sh (top_builddir, top_srcdir):
	Fixed relative paths to work with VPATH.  `make check' now works
	with VPATH build.
	(#!/bin/sh):
	(REALLY) Changed magic number to #!/bin/sh incase we don't have
	/usr/bin/sh (and who does?). ;-)

	* doc/Makefile.am (autogen.tpl, autogen.texi):
	Split autogen.info rule to take advantage of Automake-1.2 default
	rules and to create more GNU-like filenames (hope this is ok
	=)O|).
	(gendir, optdir):
	Fixed these locations to work with VPATH.

	* autoopts/options.tpl:
	Correct a spelling mistake in the DO NOT EDIT warning (THID=>THIS).

	* MakeRules.in (.SUFFIXES):
	Add suffixes for documentation build.
	(.texi.html):
	New default suffix rule to generate html docs from texi source.

	* configure.in (AC_CHECK_PROG):
	Define TEXI2HTML to texi2html and substitute, iff it is on the
	user's PATH.

Mon Jul 21 16:54:26 1997  Gary V Vaughan  <gvv@techie.com>

	* tests/opts.sh:
	Changed magic number to #!/bin/sh incase we don't have ksh.

	* src/Makefile.am (autogen_LDADD):
	Removed explicit link of libgen (incase we don't have it on the
	target machine).

	* configure.in (AC_CHECK_LIB):
	Conditionally add -lgen to the final link libraries.

	* configure.in (AC_CHECK_SIZEOF):
	Removed size check of void* (not portable - use char* instead),
	and long (not used by code).

Mon Jul 21 Bruce Korb

	* Added a test:  the src/opts.X definitions should generate
	  outputs that are only very slightly different than the
	  src/opts.[ch]sav.  This test verifies that.

	*Applied Gary's changes to my sources

	*Installed updates to

	* I was convinced to rename the thing to "autogen", since it
	is somewhat similar in concept to automake.
	The main difference is that it will produce any kind of
	output instead of just makefiles.  This change rippled through
	nearly all the code.

	* src/tmTempl.c and src/tmFunc.c
	I enhanced the "INCLUDE" macro function to do a full macro
	expansion of the template file thus included.

	* src/tmEval.c src/autogen.h
	Added the '%' operator (modulus)

	* autogen.tpl
	This is a template file that uses autoopts.tpl declarations
	and src/opts.X definitions to generate an autogen.texi that
	can then be processed into autogen.info.  The rule to make
	autogen.texi was added to doc/Makefile.am:

	# Extract the option declarations into a template file
	#
	sed -n -e '/generate .c/d' -e '/generate .h/s/.h/.texi/' \
		-e '/^[ 	]*#/d' \
		-e '/^===/,/^===/p' < ../autoopts/options.tpl > autogen.tpl

	#  Append the document
	#
	cat autogen.doc >> autogen.tpl

	# Generate the texi file
	#
	../src/autogen -b autogen -T autogen ../src/opts.X

Wed Jul 16 11:35:48 1997  Gary V Vaughan  <gvaughan@tewkux73>

	* options/options.tpl (${x#=}):
	AXP has no bash, and vanilla sh doesn't support pattern
	substitution; use sed to strip the '=' sign.

	* src/tmLex.c (YYSTYPE):
	* src/tmParse.y (YYSTYPE):
	Replace yylval casts from to int with YYSTYPE in various places.

	* src/tmacro.h (YYSTYPE):
	Set a type for YYSTYPE to override yacc's default, so that it is
	wide enough to hold a pointer on AXP.

	* src/tmPrint.c (safePrintf):
	Rewrote to parse argv, without assumptions about internal
	libc format for vsprintf..

	* src/tmMain.c (__tolower, __toupper):
	Changed fallback macros to work with AXP.

	* options/options.tpl (OPT_VALUE_LOOP_LIMIT):
	* src/tmFunCase.c (CASE_Func):
	* src/tmFunFor.c (genCount):
	* src/tmFunIf.c (evalExpr):
	* src/tmFunc.c (STRING_Func, EVAL_Func, ERROR_Func):
	* options/save.c (printEntry):
	Equalized word sizes for pointer/number casting.

	* compat/compat.h (t_word):
	Declare a new type which is wide enough to be cast to/from a
	pointer but which holds a number.

#       MISSING:
#
#	* compat/strsignal.c:
#	New file -- provide a strsignal call (& friends) to machines which
#	lack it.

	* configure.in (AC_CHECK_SIZEOF):
	Changed void* to char* for non-ansi compilers.
	(AC_REPLACE_FUNCS): Added strsignal.

	* options/stack.c:
	* options/usage.c:
	* src/tmEval.c:
	* src/tmFunCase.c:
	* src/tmacro.h:
	* tokenize/tokenize.c:
	Removed duplicate `#include's already added by compat.h.  Moved
	sys/param.h above compat.h to fix redefinition warning on AXP.

Wed Jul 16 10:15:45 1997  Gary V Vaughan  <gvv@techie.com>

	* options/save.c (optionSave):
	Changed ctime_r to ctime.

	* options/options.tpl:
	* options/options.c:
	* options/save.c:
	* options/usage.c:
	* src/tmacro.h:
	Removed preprocessor wrappers around libgen.h, and duplicate
	`#include's already added by compat.h.

	* configure.in:
	Removed check for libgen.h (see below) and pthread.h.  Added a
	check for sys/param.h (for maxpath.h).

	* compat/libgen.h:
	New file -- fake libgen.h in case we don't have a real one.

	* options/Makefile.am (EXTRA_DIST):
	Added options.tpl to the distribution (oops!).

	* src/Makefile.am (EXTRA_DIST):
	Added opts.X to the distribution (oops!).

Tue Jul 15 09:54:03 1997  Gary V Vaughan  <gvv@techie.com>

	* options/options.tpl:
	Changed reference to ksh into sh.

	* options/Makefile.am (liboptions_a_SOURCES):
	Added version.c to the library source list.

	* options/options.h:
	Included config.h, which defines boolean if necessary based on
	compilation environment, incase include order hits options.h
	before config.h.

	* src/tmEval.c:
	* src/tmFunCase.c:
	Forgot to include unistd.h to get _POSIX_SOURCE defined.

	* src/Makefile.am (.X.c, .X.h):
	* MakeRules.in (.X.c, .X.h):
	Tidied default rules in src/Makefile.am, and moved them into
	MakeRules.in in favour of duplicates therein.

	* configure.in:
	Added a check for pthreads.h as the condition for posix threadsafe
	function declarations.

Sun Jul 13 Bruce Korb

	* I was convinced to rename the thing to "autogen", since it
	is somewhat similar in concept to automake.
	The main difference is that it will produce any kind of
	output instead of just makefiles.  This change rippled through
	nearly all the code.

	* src/tmTempl.c and src/tmFunc.c
	I enhanced the "INCLUDE" macro function to do a full macro
	expansion of the template file thus included.

	* autogen.tpl
	This is a template file that uses autoopts.tpl declarations
	and src/opts.X definitions to generate an autogen.texi that
	can then be processed into autogen.info.  The rule to make
	autogen.texi was added to Makefile.am:

		src/autogen -b autogen -T autogen.tpl src/opts.X

Thu Jul 10 09:30:05 1997  Gary V Vaughan  <gvv@techie.com>

	* src/tmTempl.c (startTemplate):
	K&R prototype dirname function explicitly, as it is rarely
	prototyped in the standard system header; K&R only since the
	definition may or may not have a const char * parameter.  Not sure
	whether to free the result of dirname call... leaks memory on my
	box if I don't, but may be an error to free it on other machines.

	* src/tmMain.c (main):
	Similarly for basename.  Result is not freed (nor should it be in
	implementations I am aware of).

	* configure.in:
	* compat/basename.c (basename):
	New file.  A simple basename implementation for libc's which lack
	it, and config to use it when required.

Wed Jul  9 17:46:59 1997  Gary V Vaughan  <gvv@techie.com>

	* configure.in:
	* compat/dirname.c (dirname):
	New file.  A simple dirname implementation for libc's which lack
	it (like mine!), and config to use it when required.

	* configure.in:
	* options.tpl:
	* src/tmacro.h:
	* options/options.c:
	* options/save.c:
	* options/usage.c:
	Wrapped libgen.h include in ifdef wrapper, for those machines that
	don't have it.  Perhaps it can be removed altogether?

Tue Jul  1 13:02:54 1997  Gary V Vaughan  <gvv@techie.com>

	* src/tmFunCase.c (CASE_Func):
	Use POSIX entrypoints to regex if available.

	* src/tmEval.c (limEval):
	Changed printf format to "%ld" for long int parameter.
	Use POSIX entrypoints to regex if available.

	* src/tmTempl.c (startTemplate):
	2 patches from Bruce <bkorb@gnu.org> and another from me to
	prevent NULL pointer dereferences when a template file is not
	found along the search path.

	* src/tmPrint.c (safePrintf):
	Added (K&R style) declaration for strsignal, to stop compiler
	error for int-to-pointer conversion.

	* src/tmMain.c (PTRUP, PTRDN):
	Changed _to\(up\|low\)er to __to\(up\|low\)er.  Not sure about the
	implications of this.  __to...er is more portable, but there may
	be modern machines which still use only _to...er variety.

	* src/tmacro.h:
	Fixed up and POSIXized #include headers.

	* options/save.c (optionSave):
	Use POSIX definition for ctime_r for POSIX compilers.

	* options/stack.c:
	Use POSIX entrypoints to regex if available.

	* options/pgusage.c (doPagedUsage):
	Sprintf formats for pid_t parameters changed from %lu to %u.

	* options/options.h (pathfind):
	Added a declaration for the pathfind function, incase none is
	provided by the target host.
	(B_FALSE): provide default values for boolean true and false
	macros, incase none is provided by the target host.

	* configure.in:
	Replace SVR4 type declarations with POSIX/BSD types, and add
	checks to configure.in to provide definitions where compiler has
	none; ushort_t -> u_short; uint_t->u_int; ulong_t->u_long.
	(boolean): provide a portable noolean type.
	Sources updated to reflect these changes.
