2001-04-15  Bruce Korb  <bkorb@gnu.org>

	* agen5/bootstrap.dir(functions.h): set the DEBUG option when
	appropriate
	* agen5/defLoad.c(zFmt): create the scratch buffer for DEBUG
	* agen5/funcDef.c(mFunc_Debug): print out DEBUG macro args on
	trace
	* agen5/funcFor.c(doForEach): set the proper superior def context

2001-03-26  Bruce Korb  <bkorb@gnu.org>

	* doc/auto_gen.tpl(naming values): new section
	* agen5/*: remove current def pointer from arg lists,
	use a global instead.  Eventually, we use stacked contexts.

2001-03-22  Bruce Korb  <bkorb@gnu.org>

	* doc/auto_gen.tpl(naming values): new section describing the
	syntax for naming AutoGen values in templates.  Needs work.
	* agen5/funcFor.c(mFunc_For): allow for local-only loop vars.
	* agen5/test/define.test: test "recursive" defines.  Tricky.

2001-03-21  Bruce Korb  <bkorb@gnu.org>

	* agen5/defFind.c(canonicalizeName): allow for leading '.'
	(findEntryList): Disallow "nesting" when name starts with '.'
	(findDefEntry): ditto
	
2001-03-21  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* agen5/autogen.c(abendSignal): Do not dereference pCurMacro if
	pCurTemplate is NULL.

2001-03-19  Bruce Korb  <bkorb@gnu.org>

	* agen5/expState.c(entry_length): remove redundant code.
	(count_entries): ditto (duplicates findEntryList())

2001-03-17  Bruce Korb  <bkorb@gnu.org>

	* agen5/loadPseudo.c(skipSuffixSpec): rename to doSuffixSpec and make
	global.  Processing is bypassed if: not in option processing, and
	either not processing main template *OR* there were --select-suffix
	options specified.
	* agen5/opts.def(select-suffix): new option for overriding the
	template suffix specifications.

2001-03-13  Bruce Korb  <bkorb@gnu.org>

	* configure.in(GUILE_INC): new substitution
	* autoopts/test/Makefile.am(TESTS_ENV): add $(LIBS)
	* autoopts/test/guile.test: remove inconsistent last line from output
	* agen5/test/gperf.test: test for gperf program before running test
	* autoopts/Makefile.am: add GUILE_INC to INCLUDES list
	* agen5/Makefile.am: ditto

2001-03-10  Bruce Korb  <bkorb@gnu.org>

	* agen5/funcEval.c(evalExpression): Correct the handling of apply-
	when-not-found expressions
	* autoopts/Makefile.am(libopts_la_LDFLAGS): remove broken -no-undefined
	* agen5/agUtils.c(strlcpy): fix warning
	* agen5/snarf.tpl(init-proc): default to ``scm_init''.
	* agen5/test/get.test: add test for getting non-existent value
	* autoopts/doc.tpl: remove genshellopt historical text, since the
	SIGCHLD bug is now worked around
	* agen5/opts.def: make the doc texi-friendly
	Invoke ``scm_init'' when dl-opening a function library

2001-03-07  Bruce Korb  <bkorb@gnu.org>
	
	* configure.in: check for dynamic library support
	* agen5/Makefile.am: add -export-dynamic to link args, if supported
	* agen5/opts.def(load-functions): add new option, disabled if not
	supported
	* agen5/snarf.tpl: document how to use it + better support for
	symbols and syntax thingies
	* agen5/bootstrap.dir: add newly required global assignment
	* agen5/test/Makefile.am: run new test
	* agen5/test/snarf.test: add new test
	* agen5/autogen.c(main): set the SIGCHLD response to SIG_DFL.
	This will create zombies, but not very many, we hope.
	Avoids bug in GCC 2.95 series and in SCO's compiler.

2001-02-24  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* agen5/expState.c: Use @pxref and @ref in lieu of @xref, as approp.
	* agen5/funcCase.c: ditto
	* agen5/funcEval.c: ditto
	* agen5/funcIf.c: ditto
	* autoopts/doc.tpl: ditto
	* doc/auto_gen.tpl: ditto
	* doc/snprintfv.texi: ditto
	* getdefs/getdefs.c: ditto + remove caps from case insensitve RE.

2001-02-24  Bruce Korb  <bkorb@gnu.org>

	* autoopts/options.tpl: use the no-editing hints with the DNE macro

2000-11-29  Bruce Korb  <bkorb@gnu.org>

	* agen5/agUtils.c( strlcpy ): correct signature
	* configure.in: test for strlcpy
	* agen5/autogen.h( strlcpy ): add declaration when needed

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

	* VERSION: bump the versions
	* autoopts/autoopts.c: change assignment to compare. :)

2000-11-02  Bruce Korb  <bkorb@gnu.org>

	* autoopts/autoopts.[ch]: implement RC file sections, de-implement
	"detail file" handling in "more-help" mode.
	* autoopts/optcode.tpl: omit the detail file pointer
	* autoopts/save.c: slight reformatting.

2000-10-28  Bruce Korb  <bkorb@gnu.org>

	* autoopts/*: much cleaning up
	* autoopts/test/*.test:  rework for slightly altered help output
	* autoopts/autoopts.h: add private procedure
	* autoopts/doc.tpl: document, document, document
	* autoopts/options.h: remove private procedure
	* autoopts/optlib.tpl: use new features correctly

2000-10-27  Bruce Korb  <bkorb@gnu.org>

	* autoopts/options.h: Join the mode, type and procedure names in the
	DEF_PROC_* macros.
	* autoopts/*:  Adjust for this

	* autoopts/autoopts.c: rewrite for improved flexibility.  We need to
	run through the option lists twice.  In one direction looking for
	"immediate action" options, then the other handling the rest.

2000-10-17  Bruce Korb  <bkorb@gnu.org>

	* agen5/expGuile.c: add string->c-name function

2000-10-16  Bruce Korb  <bkorb@gnu.org>

	* autoopts/stdoptions.def:  Provide a set of standard options that
	clients can take advantage of easily.  Add `boolean' and `keyword'
	option argument types.  Handle `numeric' arguments seamlessly.
	* VERSION: this change breaks compatibility  :-(
	* autoopts/boolean.c:  New file for options with boolean args
	* autoopts/enumeration.c:  New file for options with keyword args
	* autoopts/numeric.c:  New file for options with numeric args
	* autoopts/*:  Handle the new arg_type attribute
	* autoopts/Makefile.am:  Add and distribute the new files
	* autoopts/test/argument.test:  Test the new arg_type attribute
	* autoopts/test/stdopts.def:  Test the new arg_type attribute
	* autoopts/usage.c:  Handle the new arg_type attribute

2000-10-15  Bruce Korb  <bkorb@gnu.org>

	* autoopts/opt*.tpl: implemented xxx-value global attributes to allow
	the specification of flag characters for auto-supported options.
	* autoopts/doc.tpl: document it
	* autoopts/test/vers.test: test it

2000-10-12  Bruce Korb  <bkorb@gnu.org>

	* agen5/defFind.c: The canonicalization of value names downcased
	#define names.  That doesn't work.

2000-10-07  Bruce Korb  <bkorb@gnu.org>

	* autoopts/*.tpl:  Made the templates emit K&R C
	* autoopts/*.[ch]:  The sources should now compile with a K&R compiler

2000-09-29  Bruce Korb  <bkorb@gnu.org>

	* agen5/expGperf.c: new.  Implements (make-gperf ...) and
	(gperf ...) scheme functions.
	* autoopts/*.tpl: added 'guile-main' as a global program attribute.
	the main/inner_main functions are produced.
	* autoopts/guileopt.c: routine to export option state to Guile
	* autoopts/Makefile.am: put the above in a separate library
	* autoopts/test/guile.test: validate the options with Guile commands

2000-09-28  Bruce Korb  <bkorb@gnu.org>

	* agen5/*.c: cleaned up the memory usage and ensured that AutoGen
	always exits with a message when allocations fail.
	Also added the string-*! routines.  They will always be there now.

2000-09-26  Bruce Korb  <bkorb@gnu.org>

	* agen5/expGuile.c: add replacements for (string-upcase ...),
	(string-downcase ...) and (string-capitalize ...) - sometimes missing

2000-09-26  Carlos Henrique Bauer  <bauer@atlas.unisinos.br>

	* configure.in: replace ``[...]'' test expression with ``test ...''

2000-09-22  Bruce Korb  <bkorb@gnu.org>

	* */bootstrap*: Clean up syntax for lame shells

2000-09-17  Bruce Korb  <bkorb@gnu.org>

	* agen5/expOutput.c: replace ancient error messages with new macros

2000-09-16  Bruce Korb  <bkorb@gnu.org>

	* agen5/expFormat.c(dne): added second optional argument to indicate
	inserting a DO NOT EDIT editing hint for emacs and vi.
	* agen5/*.tpl: use it

2000-09-15  Bruce Korb  <bkorb@gnu.org>

	* :mkconfig: add agen5/pseudo.x to shar-ed files
	* configure: regenerated
	* agen5/tpLoad.c(loadPseudoMacro,skipSuffixSpec) removed to:
	* agen5/loadPseudo.c: new file
	* agen5/Makefile.am: add new files
	* agen5/fsm.tpl: Finite State Machine generator
	* agen5/pseudo.def: FSM definitions for pseudo macro
	* agen5/bootstrap.dir: cleanup
	* compat/bootstrap.dir: cleanup
	* config/bootstrap: cleanup


2000-09-14  Bruce Korb  <bkorb@gnu.org>

	* */bootstrap*: use one authoritative decision about whether or
	not we have a valid autogen to use for bootstrap.

2000-09-13  Bruce Korb  <bkorb@gnu.org>

	* getdefs/*:  Moved all global vars to getdefs.h.
	Implemented a method for specifying global definitions.
	* getdefs/test/subblock.test: exercized the method

2000-09-10  Bruce Korb  <bkorb@gnu.org>

	* autoopts/autoopts.h(pathfind): duplicates declaration from
	compat/compat.h - removed.
	* config/bootstrap(missing): move it so it can be used in:
	* config/bootstrap.local: exit when autogen is found missing
	* autoopts/autoopts.c(valid_path): corrected invalid mod of static
	data (only used on rare platforms)
	* */bootstrap.dir: suppress "cannot locage" messages during bootstrap
	(some of the scripts are used during the build)

2000-09-05  Jerome Lovy  <Jerome.Lovy@infonie.de>

	* autoopts/test/Makefile.am:  Pass through the
	${top_builddir}/autoopts directory to the "defs" script
	* autoopts/test/defs: use it in the compile

2000-08-30  Bruce Korb  <bkorb@gnu.org>

	* autoopts/doc.tpl(genshellopts): make the compilation more robust
	* config/bootstrap.local(whence): use a shell function based on
	'type' when both "whence" and "which" are not available.

2000-08-28  Bruce Korb  <bkorb@gnu.org>

	* autoopts/autoopts.c(valid_path):  new procedure.  If a path is
	prefixed with "$$", replace it with the path to the executable.
	(doPresets): only call pathfind on the program
	name if it does not contain a directory name.
	* autoopts/optcode.tpl: Change "exerc" to emit an homerc entry "$$"
	instead of the now obsolete flag.
	* autoopts/doc.tpl: document the new behavior

	* autoopts/test/rc.test: new - test the new feature
	* autoopts/test/Makefile.am: activate test
	* autoopts/test/defs: compile test programs with debugging symbols
	* autoopts/test/stdopts.def: correct shell case syntax

2000-08-12  Bruce Korb  <bkorb@gnu.org>

	* agen5/expString.c(ag_scm_join): the lists can arrive as nested lists.
	(ag_scm_stack): did the implementation.
	* agen5/defFind.c(copyDefReference): obsoleted
	(canonicalizeName): replacement procedure - more flexible
	* agen5/agUtils.h: ISNAMECHAR now includes the hyphen
	* agen5/funcEval.c: use ``canonicalizeName'' instead of ``copy...''
	* agen5/functions.c: ditto
	* agen5/test/Makefile.am: add test for Scheme function ``stack''

2000-08-11  Gary V. Vaughan  <gvv@techie.com>

	* configure.in:  Forgot to AC_SUBST the autoopts version macros.

2000-08-10  Bruce Korb  <bkorb@gnu.org>

	* Applied fixes from home.
	* agen5/expFormat.c: clean up the BSD license
	* autogen/agen5/autogen.h: Set maximum size of a suffix in a suffix list,
	defined a structure to contain everything we need to know about
	a mmap-ed file
	* autogen/agen5/bootstrap.dir(proto.h): date stamp the file
	* autogen/agen5/defDirect.c: use suffix list argument for "findFile"
	* autogen/agen5/expFormat.c: license function reads text from a file
	* autogen/agen5/opts.def: use suffix list argument for "findFile"
	* autogen/agen5/tpLoad.c: Export a new function, "loadFile", add
	a suffix list for "findFile", deallocate a once-only memory leak
	* autogen/autoopts/options.h: correct struct version id
	* autogen/configure: regenerate

2000-08-09  Bruce Korb  <bkorb@gnu.org>

	* agen5/bootstrap.dir: do not use "if ! <cmd>".  Fails on OSR5 :-(

2000-08-09  Gary V. Vaughan  <gvv@techie.com>

	* VERSION: Fixed up libopts version numbers.
	* autoopts/options.h:  Fixed to match.
	* autoopts/Makefile.am: Use it.

2000-08-07  Bruce Korb  <bkorb@gnu.org>

	* agen5/defFind.c(findDefEntry): if a compound definition cannot
	be found within a block definition, check a twin also  :-)
	* agen5/expState.c: change references to findDefEntry and replace
	references to "find_any_entry" to this procedure, since it now works
	for that purpose.
	* agen5/funcEval.c: ditto
	* agen5/funcFor.c: ditto
	* autoopts/test/shell.test: Fixed some brokenness in example output!!
	* agen5/test/opts.test: Inverted sense on DEBUG options check

2000-07-31  Bruce Korb  <bkorb@gnu.org>

	* autogen/options.tpl:  Clarified messages about when 'value' option
	attributes are required

2000-07-28  Bruce Korb  <bkorb@gnu.org>

	* config/autogen.spec.in: new file - precursor for autogen.spec
	* configure.in: configure the above file
	* MakeRules.in: obsolete

2000-07-26  Bruce Korb  <bkorb@gnu.org>

	* agen5/expState.c(ag_scm_tpl_line): deleted
	(ag_scm_tpl_file_line): added

2000-06-22  Bruce Korb  <bkorb@gnu.org>

	* agen5/expString.c( makeString ): Place contiguous newline
	representations on a single line
	* AUTHORS: removed reference to sigsend.c
	* configure.in: removed reference to sigsend.c
	* compat/Makefile.am: removed reference to sigsend.c
	* compat/sigsend.c: removed
	* :mkconfig: corrected touch format
	* configure: regenerated with corrected touch format
	* autoopts/test/*.test: some broken shells do not pass args
	to dot-sourced functions  >:-(

2000-06-21  Bruce Korb  <bkorb@gnu.org>

	* agen5/expString.c( ag_scm_prefix ): return the result SCM instead
	of the source SCM  :-}
	* agen5/agShell.c(closeServer): use kill(2) instead of sigsend(3)

2000-05-15  Bruce Korb  <bkorb@gnu.org>

	* agen5/defLex.c(assembleName): use the ISNAMECHAR() macro to
	determine which entries are marked as name characters.

2000-04-17  Bruce Korb  <bkorb@gnu.org>

	* doc/auto_gen.tpl:  Adding '@finalout' will remove ugly blotches
	* autoopts/optlib.tpl:  Quote the sedded value - protect from shell
	* autoopts/makeshell.c(emitUsage):  put the program in the usage
	text for shell option processing
	* autoopts/autoopts-config.in:  snprintfv is incorporated in libopts.
	* agen5/expString.c(ag_scm_shell_str):  do not escape backslashes
	when they appear before '$' and '`'.
	* agen5/expState.c(ag_scm_tpl_line_num):  deleted
	* agen5/expState.c(ag_scm_tpl_file_line): added in its stead

2000-04-09  Bruce Korb  <bkorb@gnu.org>

	* agen5/funcDef.c:  Fixed bug in assembling arg lists
	* agen5/expState.c:  Added ag-function? and tpl-line Scheme functions
	* getdefs/getdefs.c:  Allow underscores in the default pattern
	* agen5/tpParse.c:  allow dotted names in macro names

2000-04-06  Bruce Korb  <bkorb@gnu.org>

	* doc/auto_gen.tpl:  Document the "here string" construct
	* agen5/defDirect.c:  doc cleanup
	* agen5/expState.c:  doc cleanup
	* agen5/funcCase.c:  doc cleanup
	* agen5/funcDef.c:  doc cleanup
	* agen5/opts.def:  doc cleanup
	* autoopts/doc.tpl:  doc cleanup
	* doc/autobuild/autobuild.html:  doc cleanup
	* doc/compatlib/compatlib.html:  doc cleanup
	* getdefs/opts.def:  doc cleanup

2000-04-05  Bruce Korb  <bkorb@gnu.org>

	* agen5/defLex.c:  Implemented a "here string" construct
	* agen5/test/heredef.test:  Tested the construct
	* agen5/test/Makefile.am:  enabled the test

2000-04-05  Gary V. Vaughan  <gvv@techie.com>

	* snprintfv/...: Various fixes

2000-03-28  Bruce Korb  <bkorb@gnu.org>

	* Makefile.am's & bootstrap.dir's throughout:  Use the configured
	value `AGEXE' for the executable name of autogen.  Also,
	finished the implementation of the ``configure'' shar archive
	of AutoGen-ed source files (solves chicken-and-egg problem).
	* everything: changed <autogen@linuxbox.com> to <bkorb@gnu.org>
	* autoopts/stack.c:  We need to completely clear the option
	state when "unstack" empties the argument stack.

2000-03-28  Bruce Korb  <bkorb@gnu.org>

	* agen5/expState.c(ag_scm_match_value_p):  New Guile expr function.
	* agen5/funcCase.c:  add expression processing tracing

2000-03-18  Bruce Korb  <bkorb@gnu.org>

	* autoopts/doc.tpl:  Highlighted and documented the AutoMan and
	AutoInfo capabilities :-)
	* autoopts/agman1.tpl:  minor cleanup
	* autoopts/aginfo.tpl:  ditto

2000-03-18  Bruce Korb  <bkorb@gnu.org>

	* autoopts/optlib.tpl:  add USAGE_LINE.  Omits square brackets
	around option syntax if there are required arguments.
	* autoopts/optcode.tpl:  Make the usage invocation syntax a
	subroutine "USAGE_LINE" in optlib.tpl

2000-03-12  Bruce Korb  <bkorb@gnu.org>

	* *: cleaned up comments so docs are prettier
	* agen5/autogen.h(pfTrace): `stderr' is no longer static
	* agen5/defDirect.c(doDir_elif): added to remove warning
	* agen5/defLex.c(alist_to_autogen_def): auto-load schemedef.scm
	when it is needed.
	* agen5/expFormat.c(bsd):  add an incorrect BSD license
	* agen5/functions.c(include):  strip trailing white space from
	included files.
	* agen5/opts.def(copyright):  "improved" formatting :-)
	(load_scheme): is now "settable".  Used in defLex.c.
	* agen5/test/Makefile.am: activate three tests, one new
	* agen5/test/directives.test: new
	* agen5/test/*.test: many tweaks
	* autoopts/aginfo.tpl:  add license type to info doc.
	* autoopts/agman1.tpl:  add license type to man page.
	* autoopts/autoopts.c:  Arguments after the options may
	now be any of:  prohibited, possible or required.  Test for these.
	Also, since older structs may still have valid interpretations,
	allow for a range of acceptable structure versions.
	* autoopts/autoopts.h:  define the minimum acceptable version
	* autoopts/optcode.tpl: rework the copyright as a structured value
	and add the "ARGS_REQ" flag if the argument value exists and does
	not start with the '[' character.
	* autoopts/options.h: add the OPTPROC_ARGS_REQ flag, bump the version
	* autoopts/optlib.tpl:  new copyright layout and change the
	numeric OPT_VALUE_xxx macro for picky compilers

2000-03-12  Bruce Korb  <bkorb@gnu.org>

	* autoopts/test/*:  Added automated option testing
	* agen5/defLoad.c:  zero out the definition context struct before use
	* agen5/defDirect.c:  ditto
	* agen5/test/reorder.test:  corrected template name

2000-03-09  Bruce Korb  <bkorb@gnu.org>

	* autoopts/optcode.tpl: simplified a minor expression

2000-03-07  Bruce Korb  <bkorb@gnu.org>

	* autoopts/optlib.tpl: Corrected improper l-value reference
	* agen5/proto.h: removed.  It is now generated.
	* VERSION: fixed some referencing holes for when it is not
	invoked in the top level directory.
	* agen5/tpLoad.c: added ``#include <sys/types.h>'' for sys/mmap.h.

2000-03-05  Bruce Korb  <bkorb@gnu.org>

	* agen5/*:  reworked prototyping
	* agen5/proto.h:  is now generated

2000-03-04  Bruce Korb  <bkorb@gnu.org>

	* agen5/funcEval.c: The '?%' macro function failed.
	* agen5/tests/forfrom.test: added.  Tests the above.
	* agen5/tests/Makefile.am: added forfrom to test list

2000-02-29  Bruce Korb  <bkorb@gnu.org>

	* agen5/defFind.c: Added routine to copy a definition reference
	* agen5/functions.c: use the routine
	* agen5/funcEval.c: ditto

2000-02-28  Bruce Korb  <bkorb@gnu.org>

	* agen5/defLex.c: Added comma to list of token characters.
	* agen5/defReduce.c: reworked `addSibMacro' so the logic is
	more comprehensible.  Downside:  I did tricky things with
	a pointer to pointer.
	* agen5/expFormat.c(ag_scm_error):  message now distinguishes
	between errors and warnings.  Also, it is silent if there is
	no warning message to print.
	* agen5/functions.c( mfunc_Error ): obsoleted by Guile function
	* " (insertSubscript):  New - for handling subscripted definition
	references as an AutoGen "function" name.
	* " (mload_Unknown): calls above function when a name
	is immediately followed by a '[' character.
	* agen5/tpProcess.c: commentary changes
	* agen5/test/Makefile.am:  Added error.test and for.test
	* agen5/test/error.test, agen5/test/for.test: new

2000-02-14  Bruce Korb  <bkorb@gnu.org>

	* agen5/defParse.y:  Added syntax to allow for comma separated
	value lists.
	* agen5/defReduce.c:  Implementation
	* agen5/defLex.c:  commas are now a special token
	* autoopts/optlib.tpl:  OSR5 regex cannot grok "^(|:|=)$"  :-(

1999-11-08  Bruce Korb  <bkorb@gnu.org>

	* agen5/funcDef.c:  Template structure needed more space.

1999-11-05  Bruce Korb  <bkorb@gnu.org>

	* agen5/test/*:  recreated a number of tests that were in
	the tests/* directory.

1999-10-31  Bruce Korb  <bkorb@gnu.org>

	* doc/auto_gen.tpl:  Reworked
	* agen5/*:  Documentation rework
	* getdefs/getdefs.c:  allow for empty string definitions
	* getdefs/test/*:  Created a test case for getdefs

1999-10-27  Bruce Korb  <bkorb@gnu.org>

	AutoGen Version 5:
	* agen5/*:  Reworked virtually everything.  See NEWS.
	* */*.tpl: Reworked them to the new template format.
