1999-03-26  Bruce Korb <autogen@autogen.freeservers.com>

	* src/agTempl.c(parseTemplate): We need to count lines *before* 
	we strip the trailing white space :)

1999-03-23  Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>

	* doc/Makefile.am (MAKEINFO): pass --no-split to makeinfo so that
	we can guarantee that the only file name we need to add to
	EXTRA_DIST is autogen.info.

1999-03-18  Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>

	* src/Makefile.am (autogen_SOURCES): moved opts.def from here
	into EXTRA_DIST.  automake generates a bad OBJECTS list otherwise.
	* getdefs/Makefile.am (getdefs_SOURCES): ditto.
	* columns/Makefile.am (columns_SOURCES): ditto.

	* config/bootstrap: Remove the config.cache file.
	Add some transitory dummy files to quieten automake if necessary.

	* autoopts/optcode.tpl: GNU tr chokes on '\\-', so reverted
	Bruce's change back to '-'.  (`-' isn't a meta-character anyway
	and shouldn't need quoting!).

	* src/Makefile.am: Use GNU inspired `stamp-foo' files as time
	stamp markers for make.
	(stamp-opts): new timestamp file to manage rebuilding of opts.c
	and opts.h.

	* Makefile.am (EXTRA_DIST): Don't forget to distribute
	MakeRules.in.

1999-03-16  Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>

	* MakeRules.in (SUFFIXES): automake uses a variable to name
	suffixes.
	(PACKAGE, VERSION, TEXI2HTML, YACC): removed.  These are
	automatically defined by automake-1.4.
	* Makefile.am: Use automake-1.4 include directive to avoid
	breakage with `make distclean'.
	* autoopts/Makefile.am: ditto.
	* configure.in (AC_OUTPUT): MakeRules.in is now expanded after
	being inlined by automake-1.4, rather than in a separate pass.
	(AG_PROG_MAKE_INCLUDE): No longer required.
	* config/make.m4: removed.

1999-03-15  Gary V. Vaughan  <gvaughan@pranda.demon.co.uk>

	* configure.in: Use fixed autoconf-2.13 id_t type relplacement.
	Removed conditional macros which break under automake-1.4:
	unfortunately AutoGen now *requires* automake-1.4 and autoconf-2.13.
	* src/proto.h (strdup):  Bogus prototype removed.  A harmless warning
	about mismatched types will be seen on machines which don't
	prototype strdup in strings.h, but trying to second guess how strdup
	is prototyped in the system headers was bound to fail on some targets.
	* compat/sigsend.c (id_t): configury will typedef this for us if
	it is missing from the system headers.

1999-01-26  Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>

	* config/fopenbinary: removed.
	* config/openmode.m4: new file with macros from fopenbinary
	and equivalent functions for text mode opening.
	* configure.in: use the AG_FUNC_FOPEN_TEXT macro.
	* config/acconfig.h: add USE_FOPEN_TEXT define.
	* compat/compat.h (FOPEN_TEXT): define this to "t" or
	"" depending on USE_FOPEN_TEXT value.
	* autoopts/autoopts.h:  ditto.
	* getdefs/getdefs.c: ditto.

	* config/bootstrap: tidied up somewhat.

	* configure.in: removed duplicate AC_PROG_INSTALL.

	* VERSION: calculate libtool soname correctly.

	* tests/evalstr.test: a bug in bash 2.02(1) prevents
	\177 from being quoted properly =(O|

1998-12-01  Bruce Korb  <korb@datadesign.com>

	* src/agGetDef.c (findDefEntry): split the routine
	and enabled qualified definition names.

	* columns/opts.def: Disambiguated two flags

	* getdefs/opts.def: Removed the group membership option.
	This is now done as a qualification to the type name

	* getdefs/getdefs.c: Removed references to the above.
	Instead, if the type name (the text following the "/*=")
	is qualified as in "type.group", then "member = group;"
	is added to the output definition.
	Also improved line number reporting.

1998-11-24  Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>

	* config/fopenbinary.m4: New file.
	Define macros AG_FUNC_FOPEN_BINARY, and AG_FUNC_OPEN_BINARY
	(the latter is not used {yet}).
	* configure.in: use the AG_FUNC_FOPEN_BINARY macro.
	* config/acconfig.h: add USE_FOPEN_BINARY define.
	* compat/compat.h (FOPEN_BINARY_FLAG): define this to "b" or
	"" depending on USE_FOPEN_BINARY value.
	* autoopts/autoopts.h:  ditto.
	* getdefs/getdefs.c: ditto.
	* src/agTempl.c (loadTemplText, openOutFile): fopen with
	FOPEN_BINARY_FLAG.
	* src/agShell.c (openServerFP): ditto.
	* src/agGetDef.c (readDefines): ditto.
	* src/agFunOut.c (mFunc_Output): ditto.
	* src/agDirect.c (doDir_include): ditto.
	* getdefs/getdefs.c (main, startAutogen, loadFile): ditto.
	* columns/opts.def (flag): ditto.
	* autoopts/save.c (optionSave): ditto.
	* autoopts/pgusage.c (doPagedUsage): ditto.
	* autoopts/makeshell.c (textToVariable, loadTrailer): ditto.
	* autoopts/autoopts.c (filePreset): ditto.
	
	* autoopts/Makefile.am (EXTRA_DIST): Added autoopts-config.in.
	
1998-11-22 Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>

	* tests/optgen.test, tests/opthelp.test: reenabled these tests.
	In order for them to work as expected, we must be careful to
	rebuild the src/opts.[ch] files before making the autogen
	executable!!

1998-11-17  Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>

	* configure.in (AG_CHECK_LIB_REGEX): Use the new macro in place of
	inlined code.
	* config/libregex.m4: Move the configure checks for libregex
	options out of configure.in into this new file.

	* autoopts/autoopts.texi: Typo, descrbes->describe.

1998-11-16  Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>

	* VERSION: $1 references arguments to the script which
	sources (as opposed to executes) VERSION (configure in this case).
	Changed to $srcdir.
	* configure.in:  Removed attempt to pass positional parameters to
	a sourced script.
	
	* config/bootstrap: changed >&- redirections to >/dev/null for
	compatibility with ash (/bin/sh on debian and cygwin).
	
	* autoopts/Makefile.am: install autoopts-config.
	* autoopts/autoopts-config.in: new file.  A shell script
	which configure substitutes so that when installed it can
	be used to reveal compile and link details to another
	program which wants to use autoopts.
	* config/Makefile.am: install auptoopts.m4.
	* config/autoopts.m4: new file.  Can be included into
	another project's aclocal.m4 file to extract the necessary
	configury from a matching installed autoopts-config.
	Removed redefinition of datadir (which automake sets anyway).

1998-11-15  Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>

	* autoopts/opt*.tpl: Make sure all instances of `prog_name'
	seen by the C compiler have had invalid identifier characters
	replaced by `_'.
	* autoopts/autoopts.texi (program attributes): Change docs to
	reflect that illegal C identifiers for `prog_name' will be
	massaged.

1998-10-30  Bruce Korb <korbb@datadesign.com>

	* MakeRules.in
	`test x$i(srcdir)' *had* to be a mistype of `test x$(srcdir)'!!
	* autoopts/pgusage.c
	`doPagedUsage' can now be called in any of three states.
	* autoopts/autoopts.h
	Support for the tri-state `doPagedUsage()'
	* autoopts/makeshell.c, autoopts/genshell.def
	The putShellParse routine now has its own program options
	and a special usage routine (prints its own usage, PLUS
	the usage for the script it generates!!)
	* autoopts/optcode.tpl
	Corrected some unusual syntax and added support for putShellParse
	help (needs a global pointer to the subject option descriptor).
	* autoopts/autoopts.texi
	Added better docs for this.
	* autoopts/Makefile.am
	genshell.def, genshell.c, and genshell.h need distributing.

1998-10-26  Bruce Korb <korbb@datadesign.com>
	* autoopts/optcode.tpl
	* autoopts/autoopts.texi
	* columns/opts.def
	* columns/columns.tpl
	* doc/auto_gen.tpl
	* getdefs/getdefs.c
	* getdefs/opts.def
	* getdefs/getdefs.tpl
	* src/opts.def
	* src/autogen.c
	* src/agFunCase.c
	* src/agFunEval.c
	* src/agFunFor.c
	* src/agFunIf.c
	* src/agFunOut.c
	* src/agFunc.c
	* src/agfunc.tpl
	* src/autogen.tpl
	Documentation cleanups.

	* columns/columns.c
	Fixed problem with specifying column count

1998-10-21  Bruce Korb <korbb@datadesign.com>
	* Installed all the Gary stuff below
	* columns/* I now actually have it working completely.
	* src/agGetDef.c if reading definitions from stdin,
	the file must be left open so server shells work correctly
	
1998-10-15  Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>

	* MakeRules.in (.def.c, .def.h):  When a built source is
	defaulted to the bootstrapping version in a VPATH build,
	copy to the build directory.

	* src/VERSION: reset the library version numbers to reflect the
	binary incompatibility since 4.4.3.

	* src/Makefile.am: remove the bogus rule for opts.c anda opts.h
	regeneration.  The dependencies still stand, but now the working
	rule in MakeRules is used.

	* tests/optcli.test, tests/optgen.test, tests/opthelp.test:
	New files which split the three tests previously in opts.test
	(below) into their own files.

	* tests/opts.test: Removed.

1998-10-13  Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>
	* doc/LSM.tpl: use a small awk script in place of a ksh-ism, an
	expr and wc!

1998-10-08  Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>

	* doc/Makefile.am (EXTRA_DIST): added the new depend diagrams.

	* src/agfunc.def (eval): Changed the table name to evalexpr, to
	work with the new getdef generated agexpr.def.

	* doc/auto_gen.tpl (dependencies): Added some texinfo code to
	include the epsf diagram in the printed manual.
	([=/agfunc_func=]):  Changed to macfunc, to work with the new
	getdef generated agfunc.def.
	([=/agexpr_func=]): Changed to evalexpr.

	* doc/depend.fig: New file.  xfig source for the diagram below.

	* doc/depend.eps: New file.  Encapsulated postscript dependency
	diagram for the printed manual.

1998-10-08  Bruce Korb <korbb@datadesign.com>
	* autoopts/makeshell.c
	Developed a special "TEST_MAIN" procedure putShellParse
	which emits a portable shell script that will parse the
	arguments from the definition file.  There is some
	functionality that it cannot do, however :(

1998-10-02  Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>

	* config/vsnprintf.m4: New file.  Autoconf macros to determine
	if the system provides {v,}snprintf, and if so whether they
	correctly return number of bytes written, and whether they parse
	%n$ positional parameters correctly.

	* config/acconfig.h: Added HAVE_SNPRINTF and HAVE_VSNPRINTF
	macros.

1998-09-28  Bruce Korb <korbb@datadesign.com>
	* columns/*
	New program to columnize a list of text.
	* autoopts/opthead.tpl
	The OPT_VALUE_* macro must be cast to an int, not t_word.
	* doc/auto_gen.tpl
	recoded to look for files named */*.menu and include those
	entries in an add-on chapter.
	* getdefs/getdefs.texi
	Renamed it to getdefs.tpl and now generate both getdefs.texi
	and getdefs.menu.  The latter file contains solely a section
	menu entry.
	* getdefs/opts.def
	Added documentation strings for each option.
	* src/agShell
	Added some code to make clearer what may have failed,
	should the shell command go away or abend.
	
1998-09-23  Bruce Korb <korbb@datadesign.com>
	* autoopts/Makefile.am
	* autoopts/opthead.tpl
	* autoopts/autoopts.texi
	* autoopts/options.tpl
	* doc/Makefile.am
	* doc/auto_gen.tpl
	* getdefs/getdefs.c
	* getdefs/opts.def
	* src/agGetDef.c
	* src/agShell.c
	* src/opts.def
	* src/Makefile.am
	Did a *whole* bunch of stuff to eliminate distribution of
	doc/autogen.def.  The entire documentation is now extracted
 	directly from source files, instead of relying on intermediates.
	More work that it was worth.

	* src/agGetDef.c
	Fixed stdin file allocation bug.

	* src/agShell.c
	* src/opts.def
	Added debug option 'show-shell' to display the commands to stderr.
	I still cannot figure out why the shell sometimes dies when
	autogen reads its definitions from stdin.  :(

	* src/agExpr.c
	Fixed the name of the definitions file for the _DNE function.

	* src/Makefile.am
	Hacked the creation of opts.[ch] such that -DDEBUG is set
	whenever 'DDEBUG' is found in the $(CPPFLAGS).

	* autoopts/Makefile.am
	* autoopts/autoopts.texi
	* doc/Makefile.am
	* src/agGetDef.c
	* src/agShell.c
	* tests/Makefile.am
	* tests/opts.test
	Fixed distribution problems (schitzophrenic directories)

1998-09-17  Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>

	* getdefs/Makefile.am (getdefs_LDFLAGS): new macro to ensure that
	getdefs is statically linked against libopts.la, and can be safely
	run from the build directory without libopts being installed.

1998-09-16  Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>

	* Makefile.am (SUBDIRS): reordered so that the getdefs utility
	gets built in time for when it is needed for the src directory.

	* doc/LSM.tpl (Primary-site): use wc instead of fileinfo to
	calculate the size in a portable way.

	This is a tricky one because we need to calculate the size of the
	tarball to finish making this file... but we need to have the file
	to roll the tarball... hmmm.  Just gotta roll the tarball twice,
	removing the bogus LSM before the second run.  I guess this needs
	to be automated by the release script.

	* configure.in (AC_FUNC_ALLOCA): a start to the alloca action
	in the TODO list.

	* AUTHORS: Attributed snprintf.c

	* compat/snprintf.c: new file.

	* TODO: Removed the write a general definition extraction tool (a
	la src/makedefs.sh) entry... getdefs/* is the start of this.
	Added an snprintf.c action.  Added an excerpt from the autoconf
	docs to the alloca.c action.

	* src/autogen.c, src/agReduce.c, src/autogen.h (PTRUP, PTRDN):
	Removed [slightly] bogus preprocessor magic for __to{up|low}er
	performance hack.  Now we trust the system headers to do the right
	thing when we use the exported to{up|low}er entry points.  Also
	moved all the macros to a shared header file so we don't keep two
	implementations in the source.

	If you find a braindamaged system, the following is functionally
	equivalent to the old way of calling __toupper:

	CPPFLAGS='-Dtoupper=__toupper -Dtolower=__tolower' ./configure --foo

	* configure.in (AC_CHECK_HEADERS): Added stdlib.h, cygwin32 seems
	to fail the AC_HEADER_STDC checks, but needs to define
	HAVE_STDLIB_H to tell the code that it does [at least] have a
	stdlib.h header.

1998-09-15  Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>

	* src/agFunc.c (mLoad_Context): Wrap the function body in #ifdef
	DEBUG, as apzFuncNames is a valid symbol only when DEBUG is
	defined by the preprocessor!

	* src/autogen.c: #include signal.h to get a definition for struct
	sigaction [as used in main()].

1998-09-14  Bruce Korb <korbb@datadesign.com>
	* */*
	Corrected most of the problems engendered by below :-}

1998-08-24  Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>

	* tests/opts.test (RUN): disabled the broken test w/
	TEST_AUTOGEN_OPTS, so that the release script will work.

	It always fails for me with opts.hlp2 (the link line in the test
	complains of no main function):
	
	./opts.test: ./autogen: No such file or directory

	
	* doc/auto_gen.tpl (Installation): updated the documentation of
	this node to reflect the way I have been running tests.

	* VERSION: Bumped patchlevel to .6

1998-08-21  Bruce Korb <korbb@datadesign.com>
	* src/*
	Reworked most everything to separate the  template parsing from
	the text emission.  A massive data structure now points to all
	the pieces.  This data structure should be fairly easy to
	beguile.  It was why I did it :).
	* autoopts/usage.c
	A couple of innocuous changes to try to avoid the shared library
	problem with formatting output to stderr.

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

	* 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/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.

1998-07-20  Gary V. Vaughan  <gvaughan@oranda.demon.co.uk>

	* configure.in (AC_CHECK_SIZEOF): add cross-compilation defaults
	to eliminate autoconf warnings.

	* VERSION: Added new vars to track libtool library versioning for
	libopts.  The release procedure is described in the comments.

	* configure.in: Substitute new libtool vars into configure
	generated files. 

	* autoopts/Makefile.am (libopts_la_LDFLAGS): use the new
	versioning variables with the libtool link command.

	* TODO: removed libtool versioning item implemented above.
	Removed xmalloc item (ag_malloc is used now).
