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

	* autoopts/usage.c: Fix warning for a dumb compiler
	* autoopts/autoopts.h: Fix warning for dumb environment (Windows)
	* agen5/autogen.h: Fix warnings from new Guile deprecations

2006-08-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* doc/autogen-texi.txt: Fix some typos.

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

	* agen5/agUtils.c(mkstempPat): new function
	* agen5/agCgi.c(loadCgi): use it
	* agen5/expOutput.c(ag_scm_out_push_new): use it
	* config/libopts.def(AC_CHECK_TYPES): check for uint_t, too

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

	* agen5/loadPseudo(doSuffixSpec): allow suffix format to be constructed
	with a scheme expression.
	* agen5/test/pseudo.test(new): test schemy suffix spec
	* agen5/test/Makefile.am(pseudo.test): add test
	* agen5/autogen.h(SCM_STRING_LENGTH): newly obsolescent for Guile 1.8
	* autoopts/optmain.tpl(ifdef): ifdef-ed/ifndef-ed callback procedures
	must be individually declared.
	* autoopts/streqvcmp.c(strrtransform): ansify the proc header
	* autoopts/version.c(optionPrintVersion): ditto
	(optionVersionStderr): ditto
	* compat/snprintf.c: handle varargs correctly if using HAVE_VARARGS_H.

2006-07-21  Bruce Korb  <bkorb@gnu.org>

	* agen5/autogen.c(main): cast around warning
	* agen5/autogen.h: #include <libguile/scmconfig.h>
	* agen5/defDirect.c(doDir_assert): implement
	* agen5/expState.c(ag_scm_version_compare): convert a pair of dotted
	version numbers into a fundamental integer type and run the passed-in
	comparison function.
	* agen5/test/directives.test: compare this new feature
	* autoopts/Makefile.am: remove the dont-install functionality.
	* config/misc.def: remove dont-install option
	* compat/snprintf.c: #include stdarg or vararg header

2006-07-19  David Taylor  <dtaylor@emc.com>

	* agen5/tpProcess.c(openOutFile): increment past directory separator char

2006-07-19  Bruce Korb  <bkorb@gnu.org>

	* agen5/TODO: obsolete.  It's done now.

2006-07-15  Bruce Korb  <bkorb@gnu.org>

	* autoopts/install-options-h: new script for installing header
	* autoopts/Makefile.am(INSTALL_AUTOOPTS): new AM_CONDITIONAL.
	Do not install anything if configured with ``--disable-autoopts''
	(libsnprintfv): do not compile or build against that convenience library.
	(install-options-h): use this script for installing header.
	* agen5/Makefile.am(LDADD): add libsnprintfv, not in libopts any more
	* agen5/agShell.c(runShell): set PS4 to "ag> " in the shell environment
	* agen5/autogen.h(header guard): guard with AUTOGEN_BUILD
	* autoopts/autoopts.c: remove LIBSNPRINTFV stuff
	* autoopts/autoopts.h(DIRCH): directory name separation character.
	(SUCCESS): undef for benefit of Windows
	(FAILURE): ditto
	(PROBLEM): ditto, for symmetry
	(snprintfv): remove
	* autoopts/configfile.c(internalFileLoad): use DIRCH instead of '/'
	(validateOptionsStruct): ditto
	* autoopts/getopt.tpl(process_XXX_opts): ditto
	* autoopts/load.c(insertProgramPath): ditto
	* autoopts/save.c(findDirName): ditto
	* autoopts/makeshell.c(textToVariable): disable emitting usage and
	version text for shell option processing script output.
	(genshelloptUsage): disable hosted usage output for the generated
	genshell program (see "shell.test" if you need to understand).
	* autoopts/pgusage.c(optionPagedUsage): For windows, just directly
	invoke the usage generation procedure.  No piping through "more(1)".
	* autoopts/stack.c(optionUnstackArg): the windows regex is too anemic
	(or missing).  Do not use pattern matching for removing stacked args.
	* columns/opts.def(snprintfv): header not needed.
	* compat/windows-config.h: static config header for windows
	* compat/Makefile.am: distribute it
	* compat/compat.h(_WIN32): do funny things for windows environment
	* compat/pathfind.c: disable for windows
	* compat/strchr.c: new - required for windows
	* config/libopts.def(regex): do not die if not found.  autogen must die
	if not found, but libopts may hobble on.
	* config/misc.def(autoopts): new disable option
	(do-always): die if a regex library was not located.
	* config/missing: update from upstream
	* doc/auto_gen.tpl: @value{TITLE} is now broken.  Use autogen macros
	to insert that text.
	* pkg/libopts/mklibsrc.sh(windows-config.h): add to libopts sources

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

	* EVERYWHERE: cleanups for warnings

2006-06-10  Bruce Korb  <bkorb@gnu.org>

	* autoopts/Makefile.am(usage-txt.pot): remove rule
	* autoopts/usage-txt.def(HomePath): unused string removal
	* autoopts/usage-txt.tpl(pot): new output file: usage-txt.pot
	* config/bootstrap.local: put generated .pot file into po directory

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

	* agen5/agShell.c(sigHandler): if we hit SIGALRM 5 times, abort AutoGen.

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

	* agen5/expOutput.c(ag_scm_ag_fprintf): new scheme function
	* agen5/schemedef.scm(string-table-new): newly exported Scheme function
	(string-table-add): also
	(emit-string-table): finally
	* agen5/test/strtable.test: test the stuff
	* agen5/test/Makefile.am(strtable.test): run it

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

	* autoopts/test/defs.in: cope with MS-DOS failure to rename file

2006-03-23  Matt Kraai  <kraai@debian.org>

	* getdefs/opts.def: fix quoting of file names
	* agen5/test/gperf.test: remove too-short timeout (was for debugging)
	* agen5/test/error.test: add another expression to the varied-output
	removal "sed" expression.

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.

