2006-02-03  Bruce Korb  <bkorb@gnu.org>

	* autoopts/test/defs.in(LIB): add -lgen if /usr/lib/libgen.so exists
	and -lgen is not already specified.

2006-01-28  Bruce Korb  <bkorb@gnu.org>

	* autoopts/test/defs.in(purge): removing directories can be very
	difficult.  Do everything possible to either remove or move out of
	the way.  This is due to secret NFS "busy" files that cannot be rm-ed.
	* autoopts/text_mmap.c(text_mmap): The failed open return value is
	the official "invalid file descriptor" needed for anonymous map calls
	on some platforms.  OK.  Let's use it as our named and official value.
	* config/confmacs.tpl(emit-results):  Be careful not to strip away a
	"-L" that happens to appear within a file name.

2006-01-28  Bruce Korb  <bkorb@gnu.org>

	* agen5/agShell.c(loadData): guard against server disappearance.
	* agen5/agUtils.c(zMakeGperf): move here from expGperf.c.  Easier to read
	* agen5/expGperf.c(zMakeGperf): remove
	(ag_scm_make_gperf): clean up cleanup and do the cleanup once only.
	* agen5/opts.def(timeout): default value now a configurable
	* agen5/test/gperf.test: trace the server shell text.  Makes it possible
	to debug the thing.
	* agen5/test/shell.test: increase the level of tracing to 'everything'.
	* configure.in(AG_DEFAULT_TIMEOUT): base this on configure time.

2006-01-27  Bruce Korb  <bkorb@gnu.org>

	* autoopts/text_mmap.c(text_mmap): request all the bytes desired.  If
	the last one is past a page boundary, then change the mapping from the
	file to anonymous (unmapped/zero) data.

2006-01-25  Bruce Korb  <bkorb@gnu.org>

	* autoopts/optcode.tpl(lib-externs): collect declarations for
	pointers to the option descriptors for library options and emit
	them after the "optDesc" array has been defined.
	* autoopts/opthead.tpl(library): omit help, version and option saving
	stuff for libraries.  *do* include an external declaration for
	the descriptor pointer that will be defined by client code.
	Also, for libraries, skip over macros that manipulate the main
	option structure.
	* autoopts/options.tpl(library): For libraries, ensure that the first
	option is a documentation option with a "lib-name" attribute.
	Omit the ".c" output for libraries.
	* autoopts/test/Makefile.am: add library.test
	* autoopts/test/library.test: test this stuff
	* doc/autogen-texi.txt: doc this stuff

2006-01-24  Bruce Korb  <bkorb@gnu.org>

	* agen5/autogen.c(inner_main): call new aggregated cleanup function
	(signalSetup): When debugging is enabled, use default handling for
	SIGBUS and SIGSEGV.  We may need the core dump.
	* agen5/*.[ch]: change the name of the template struct field from
	pzFileName to pzTplFile.
	* agen5/bootstrap.dir(-Taginfo): "opts.def" may be in a srcdir
	different from builddir during an actual build.
	* agen5/defLoad.c(readDefines): use a stack local variable.
	* agen5/funcCase.c(mUnload_Select): this is now an unloadable macro.
	It must free any regex allocations.
	* agen5/funcDef.c(mUnload_Define): "define" is also unloadable.
	(mLoad_Define): make new templates consistently.
	* agen5/tpLoad.c(loadMacros): make new templates consistently.
	(loadTemplate): ditto
	(templateFixup): obsolete
	(cleanup): new function.  Ensures all templates are unloaded, be they
	defined macros or template files.
	* agen5/functions.tpl(unload-proc): doc those macros that have unload
	functions defined.
	* agen5/tpParse.c(parseTemplate): when displaying content, remember that
	the "select" macro codes are outside the range of names.
	* agen5/test/error.test: srcdir != builddir problem
	* autoopts/optcode.tpl: declare the library first-option global pointers
	* autoopts/opthead.tpl: If we are building for a library, then be certain
	that there is one "lib-name" defined and use it in the definition of
	the DESC() macro.  Otherwise, do the normal thing.
	* config/bootstrap.local(Makefile.am): do a move-if-changed thing.
	* agen5/defLoad.c(manageAllocatedData): clean up data at shutdown,
	iff DEBUG_ENABLED.

2006-01-20  Bruce Korb  <bkorb@gnu.org>

	* autoopts/opthead.tpl(library): handle the DESC macro specially for
	library type "programs".
	* autoopts/text_mmap.c(text_mmap): mmap flags must always, always, always
	include either MAP_PRIVATE or MAP_SHARED.  I  removed "SHARED" from
	the list, so now I add PRIVATE.
	* config/bootstrap: make sure ${MISSING} is executable and make the
	"out of date" message more understandable.
	* doc/autogen-texi.txt: describe library option handling.
	
2006-01-08  Bruce Korb  <bkorb@gnu.org>

	* agen5/test/Makefile.am(defs): use file built in autoopts/test dir.
	* agen5/test/defs.in: obsolete
	* autoopts/test/defs.in: make certain the AGexe, GDexe and CLexe env
	variables have full paths.  Rework some functions so they work in the
	agen5/test directory also.  Especially "compile".
	* agen5/test/fmemopen.test: use rewritten compile macro
	* agen5/test/license.test: ditto
	* agen5/test/shell.test: ditto
	* agen5/test/string.test: ditto
	* autoopts/test/argument.test: ditto
	* autoopts/test/keyword.test: ditto
	* autoopts/test/rc.test: ditto
	* xml2ag/test/Makefile.am: 'testdir' is always the testing subdirectory.

2006-01-05  Bruce Korb  <bkorb@gnu.org>

	= 5.8.1 Released

	* agen5/test/defs.in: set AGexe/GDexe/CLexe to full paths & export
	* autoopts/options.tpl: display more information on failure

2005-12-12  Bruce Korb  <bkorb@gnu.org>

	* agen5/expExtract.c(buildEmptyText): clean it up.
	* autoopts/options.tpl(version-text): new global used in two places
	* autoopts/optlib.tpl: one of them
	* autoopts/opthead.tpl: the other
	* autoopts/optmain.tpl: fix bug in range-option-code (it must always be)
	* autoopts/putshell.c(optionPutShell): "val" is a uintptr_t, so specify
	"ld" and "lX" in the format strings.  "icc" still doesn't like it.
	* autoopts/version.c(printVersion): if we have no pzFullVersion, then
	pull the first line of the usage title.
	* */opts.def(package): add this with "GNU AutoGen" to all option defs.

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

	* autoopts/text_mmap.c(text_mmap): anonymous pages should not be
	shared.  Some platforms will seg fault on that.
	* agen5/expGuile.c(ag_scm_c_eval_string_from_file_line):
	Guile 1.4.x does not know about scm_open_input_string().
	* autoopts/enumeration.c(optionKeywordName): new.  Map enumeration value
	to the string name.
	(optionEnumerationVal): accommodate this and validate the enum value.
	* autoopts/optlib.tpl(OPT_<optname>_VAL2STR): new macro for invoking
	the new (and private) function above.
	* autoopts/test/keyword.test(keyword_2): new test for this.
	* doc/autogen-texi.txt: doc it.

