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

	* autoopts/project.h: new header for common defines that are not to be
	installed with autoopts/options.h.
	* */Makefile.am: use it
	* */*.h: remove the common stuff
	* autoopts/bootstrap.dir: copy it to the libopts header staging directory
	* autoopts/configfile.c (validateOptionsStruct): use the common
	stringifier macro
	* autoopts/numeric.c (optionNumericVal): if the value string is not
	a valid number, then set errno to EINVAL.
	* autoopts/tpl/optmain.tlib: do not generate code that duplicates
	functionality in the libopts library.
	Allow time duration arguments to have range limits.
	* config/libopts.def (POSIX_SHELL): look for one and emit it into
	both config.h and make it available to the Makefile-s.
	* everywhere: replace SHELL and CONFIG_SHELL with POSIX_SHELL,
	where it makes sense.

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

	* agen5/expState.c (ag_scm_get_c_name): use ag_scm_get() instead of
	duplicating its text.
	* agen5/tpProcess.c (closeOutput): add tracing output.
	* autoopts/mk-tpl-config.sh: make certain our shell scripts never,
	ever, *EVER* use the Solaris /bin/sh.  "read -r" is totally broken.
	* autoopts/test/keyword.test: test the mdoc output, too.
	* autoopts/time.c: do not directly include parse-duration.c.
	It gets pulled from gnulib and listed as a first-class source file.
	* columns/columns.c (pad_indentation): zero needs to be an acceptable
	indentation.
	* autoopts/install-options-h: make sure pathfind() is only declared
	if we supply the function.
	* autoopts/tpl/optmain.tlib: support date/time arguments
	* autoopts/usage-txt.def: likewise
	* doc/autogen-texi.txt: doc this stuff

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

	* autoopts/mk-tpl-config.sh: new script to insert a definition of
	"extension-defines" in tpl-config.tlib after config.h is built.
	* autoopts/Makefile.am: invoke it before constructing libopts.c
	and distribute this script.
	* autoopts/tpl/optmain.tlib: use this string instead of hard wired
	#defines that do not work for all platforms.
	* agen5/expOutput.c (open_output_file): appending to a file closed
	and set to read-only needs to be re-open read/write.
	* autoopts/tpl/mdoc2man.sh: fix for BSD and Solaris "sed" program.

2011-02-25  Bruce Korb  <bkorb@gnu.org>

	* agen5/fsm-macro.tpl: rename to fsm-macro.tlib.  Fix it so that
	events and fsm state names my be hyphenated.
	* agen5/fsm-trans.tpl: likewise
	* agen5/Makefile.am: adjust
	* agen5/expGuile.c (ag_scm_c_eval_string_from_file_line):
	remove code used only for Guile 1.4.  Condense a bit of dup code.
	* agen5/expState.c (ag_scm_version_compare): scm_listofnull was
	removed from the interface in Guile 2.0.  By accident.
	* agen5/guile-iface.def (listofnull): new interface macro.
	(i-end = 106;): obsolete
	* autoopts/tpl/agman-cmd.tpl: reworked
	* autoopts/tpl/agmdoc-cmd.tpl: also
	* autoopts/tpl/cmd-doc.tlib: also
	* autoopts/tpl/mdoc2man.sh: new patches added
	* autoopts/tpl/texi2mdoc.sh: convert the "@*" lines correctly (".br")
	* config/misc.def: do not try to include gh.h in feature test

	Throughout: fix nested Guile "define" invocations:
	* agen5/test/endmac.test: fixed.
	* agen5/test/html.test: fixed
	* autoopts/tpl/aginfo.tpl: fixed
	* autoopts/tpl/agman1.tpl: fixed
	* autoopts/tpl/agman3.tpl: fixed
	* autoopts/tpl/agtexi-cmd.tpl: fixed
	* autoopts/tpl/optlib.tlib: fixed
	* autoopts/tpl/usage-txt.tpl: fixed

2011-02-22  Bruce Korb  <bkorb@gnu.org>

	* autoopts/tpl/optmain.tlib (#include): put 'em all at the top.
	(validate_fname): allow for translation of fs error message

2011-02-17  Bruce Korb  <bkorb@gnu.org>

	5.11.6 release

	* agen5/expState.c (do_tpl_file_line): trim the path name in the
	tpl-file-line/def-file-line functions.
	* autoopts/test/defs.in (ulimit): if you cannot do it, be quiet about it
	* autoopts/tpl/optmain.tlib (file-fail-code): now that we're emitting
	an exit code enumeration, return the enum value and allow it to be
	specified with:  file-fail-code = name;
	* autoopts/tpl/texi2mdoc.sh: Fix some BASH-isms.
	* config/misc.def (SCM_*_VERSION): 2.0 is okay.

2011-01-26  Bruce Korb  <bkorb@gnu.org>

	* autoopts/tpl/getopt.tpl (3GNU): not always -- if "long-opts" is not
	specified, then getopt(3posix) is used in preference to
	getopt_long(3GNU)
	* autoopts/test/getopt.test: adjust
	* autoopts/tpl/agman-cmd.tpl: remove common code
	* autoopts/tpl/agmdoc-cmd.tpl: likewise
	* autoopts/tpl/cmd-doc.tlib: common command code
	* autoopts/tpl/mdoc2man.pl: remove it - it was broken
	* autoopts/tpl/mdoc2man.sh: simple sed command
	* autoopts/test/keyword.test: adjust
	* autoopts/install-options-h: make sure installed scripts are executable
	* autoopts/test/rc.test: Solaris "tr" doesn't work
	* autoopts/tpl/usage.tlib: if libgen exists on the system, then
	link with "-lgen", too.
	* autoopts/bootstrap.dir: adjust the handling lists for templates
	* autoopts/tpl/options.tpl.in: rename to autoopts/tpl/options-tpl.in and
	move all the validation code to optlib.tlib.
	* agen5/*: constify immutable tables and adjust references.
	* autoopts/test/shell.test: FreeBSD's sed cannot cope with a two line
	search expression.  Use a shell loop.
	* autoopts/usage.c (print_usage_details): now includes packager info
	* autoopts/version.c (printVersion): likewise
	* config/confmacs.tlib (try-with-group): add "with-group" macro that
	adds a series of ``--with-whatever...'' options.
	* config/misc.def: use with-group to add packager options
	* autoopts/tpl/optcode.tlib (pzPackager): add packager info to options

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

	* agen5/test/error.test (TEST 3): remove it.  Too many variations
	on the output.
	* autoopts/tpl/usage.tlib: try a little harder to get data from
	the build tree before using the installed files.
	* config/misc.def (scm_c_make_string): not available in Guile 1.6
	and the previous version is not available in Guile 1.9.
	* doc/mk-agen-texi-in: do a "find" for the libraries we're interested in

2011-01-19  Bruce Korb  <bkorb@gnu.org>

	* autoopts/tpl: rename non-base templates from *.tpl to *.tlib
	and adjust the INCLUDEs.

2011-01-18  Bruce Korb  <bkorb@gnu.org>

	* agen5/guile-iface.tpl: template for producing versioned Guile
	interface glue
	* agen5/guile-iface.def: define the interfaces that migrate.
	* agen5/bootstrap.dir: generate the new guile-iface.h file
	* agen5/autogen.h: remove Guile interface glue and include
	generated guile-iface.h.
	* agen5/Makefile.am:
	* agen5/autogen.c: Adjust to new Guile interface macros
	* agen5/expFormat.c: likewise
	* agen5/expGuile.c: likewise
	* agen5/expOutput.c: likewise
	* agen5/expPrint.c: likewise
	* agen5/expState.c: likewise
	* agen5/expString.c: likewise
	* agen5/funcDef.c: likewise
	* agen5/funcEval.c: likewise
	* agen5/funcFor.c: likewise
	* agen5/snarf.tpl: likewise
	* agen5/test/snarf.test: likewise

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

	* agen5/expExtract.c (load_extract_file): do not include extraction
	files in dependencies.  They are not required to exist.
	* .cright-opts: config file for updating copyright dates in options
	* autoopts/configfile.c (parse_xml_encoding): new function for parsing
	XML-ish encodings in config files.

2010-12-21  Bruce Korb  <bkorb@gnu.org>

	* autoopts/test/defs.in (SED): define to working sed program
	* agen5/test/error.test: use it
	* autoopts/tpl/usage.tpl (autoopts-config): try to find it in
	$top_builddir/autoopts instead of via PATH first.
	* pkg/libopts/libopts-add.m4: adopt Dave Hart's NTP patch
	* agen5/autogen.h (pz_temp_tpl): temp file template added
	(temp_tpl_dir_len): portion of template that is a temp dir.
	* agen5/expOutput.c (open_output_file): do not print files from the
	temp directory in the dependency output
	(ag_scm_out_move): also
	(ag_scm_make_tmp_dir): rewritten as C code
	(ag_scm_out_push_new): use the new function
	* agen5/schemedef.scm (make-tmp-dir): removed
	* autoopts/tpl/aginfo.tpl.in: use (make-tmp-dir) function so that
	temporary files do not show up in dependencies
	* getdefs/Makefile.am: remove getdefs executable from dependencies
	of the man page output.
	* pkg/libopts/README: clean up and adapt to new LIBOPTS_CHECK
	macros.  Thank you, Dave Hart.
	* agen5/funcEval.c (mFunc_Expr): do not fputs() empty strings.
	* doc/auto-opts.tpl (hello example): use ${CC} when available
	for compiling the hello example.

2010-12-18  Bruce Korb  <bkorb@gnu.org>

	* agen5/Makefile.am (ag.c): define PKGDATADIR
	* columns/Makefile.am (cols.c): ditto
	* getdefs/Makefile.am (gd.c): ditto
	* xml2ag/Makefile.am (x.c): ditto
	* agen5/autogen.c (ignore_vars): new -- ignore static variables
	declared in ../autoopts/autoopts.h. Move some more into here
	* agen5/autogen.h (DIRCH): move to here
	* agen5/expFormat.c (ag_scm_dne): only print the file name,
	not all the directories leading up to a file name.
	* autoopts/autogen.map (option-char-category) replacement for
	opt-char-cat which is too short for a global used in a library.
	* autoopts/autoopts.c: collect global definitions and make more
	of them be "static" scope.
	* autoopts/load.c (optionMakePath): use longer global name
	for pkgdatadir. It is also set from the tOptions structure.
	* autoopts/usage.c: remove static variables
	(prt_ini_list): do not print environment variable expansions in the
	usage information.  Print the variable used.
	* autoopts/options_h.tpl (pzPkgDataDir): new options structure field
	(HAS_pzPkgDataDir_STRUCT_VERSION): add a test to see if the field is
	in an input structure.
	* autoopts/tpl/optcode.tpl (PKGDATADIR): if defined, then initialize
	pzPkgData to that string, otherwise use the empty string.
	* autoopts/usage-txt.def (AO_Alloc): new translatable string
	(AO_Realloc): also
	(AO_Strdup): also
	* doc/autogen-texi.txt: document the $@ expansion in rc/ini/config
	file names

2010-12-17  Bruce Korb  <bkorb@gnu.org>

	* autoopts/tpl/opthead.tpl.in (exit_code_t): new exit code enumeration
	* doc/autogen-texi.txt: doc exit code handling
	* agen5/opts.def (exit-name): new exit codes
	(exit-desc): ditto
	* agen5/autogen.h (autogen_exit_code_t): use newly generated enum
	* agen5/agInit.c (initialize): use the enum
	* agen5/autogen.c (inner_main): ditto
	(catch_sig_and_bail): ditto
	(done_check): ditto

	* autoopts/options_h.tpl (pzProgPath): make pointer const
	(pzProgName): ditto
	* autoopts/makeshell.c (emitUsage): adjust code for const-ness
	(genshelloptUsage): ditto
	* autoopts/configfile.c (optionFileLoad): ditto
	(validateOptionsStruct): ditto
	* autoopts/tpl/getopt.tpl: adjust template to accommodate const-ness
	* autoopts/test/getopt.test: adjust for new template

	* autoopts/tpl/agman-cmd.tpl: tweak -- ensure all hyphens are escaped
	and document the newly generated exit code enumeration
	* columns/Makefile.am (agman): use new template for man page
	* agen5/bootstrap.dir: ditto
	* getdefs/Makefile.am: ditto
	* xml2ag/Makefile.am: ditto
	* autoopts/test/keyword.test: adjust for new man page template

	* autoopts/test/defs.in (TERM): make sure it is empty
	* autoopts/test/Makefile.am (TERM): make really sure
	* agen5/test/Makefile.am: ditto

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

	5.11.5 release

	* agen5/loadPseudo.c (handle_hash_line): add file name argument for
	error display.
	* agen5/test/error.test (test 2): ensure VERBOSE is off
	* agen5/test/opts.test (-L ${top_srcdir}/autoopts): this is supplied
	by the "defs" test setup script.
	* autoopts/tpl/optmain.tpl (O_CLOEXEC): set on opened files, unless
	client overrides the default mode.
	* agen5/Makefile.am (stamp-texi): remove "columns" and "getdefs" from
	dependencies and ensure they have been made in the rule instead.
	(stamp-man): ditto
	* getdefs/Makefile.am (stamp-opts): ditto, but "columns" and "autogen".
	(stamp-doc): ditto

2010-12-09  Bruce Korb  <bkorb@gnu.org>

	* autoopts/test/defs.in (trap): organize the code into functions and
	set up a timer trap that limits most tests to 30 seconds.
	Remove the trap in cleanup() and failure().
	* columns/columns.c (construct_first_pfx): extract from main() and
	insert line separation, new line and indentation if it is longer
	than the indentation.
	* agen5/tpLoad.c (wrap_up_depends): make dependency files readable
	by everyone.

2010-12-07  Bruce Korb  <bkorb@gnu.org>

	* Makefile.am (aclocal_DATA): not needed.  Removed.
	* config/liboptschk.m4 (CFLAGS): builder domain, (LIBS): also
	(ao_CFLAGS): proper naming, (ao_LIBS): ditto
	* config/misc.def (connld): not used any more.
	* doc/auto_gen-tpl.in (setfilename): move to mk-agen-texi-in
	* doc/mk-agen-texi-in (setfilename): insert into autogen.texi
	* agen5/agShell.c (load_data): fix allocation fence post issue.

2010-12-06  Bruce Korb  <bkorb@gnu.org>

	5.11.4 release

	* agen5/Makefile.am (ag.c): gperf code needs the "make" program,
	so define the make program name in the generated "ag.c" file.
	* agen5/autogen.h (pCurDir): used in multiple modules --> global
	* agen5/directive.tpl (zMakeGperf): add parameter for make program
	* agen5/expGperf.c (ag_scm_make_gperf): supply that parameter
	* autoopts/environment.c (do_env_opt): ignore empty value strings

2010-12-05  Bruce Korb  <bkorb@gnu.org>

	* agen5/directive.tpl (zShellInit): compute the pid offset
	* agen5/agShell.c (server_setup): print pid at compiled offset
	(die): use signal numbers instead of names
	* agen5/test/error.test: handle pid number in Killing AutoGen msg
	* autoopts/test/defs.in (tabch): define for global use
	(SunOS): avoid /bin/sh at all costs.
	* autoopts/test/cfg-edit.test: use ${tabch}, not $'\t'
	* utoopts/test/nested.test: ditto
	* autoopts/test/errors.test (conflicting flag): skip test on
	Solaris when not using BASH.  shell quits on program coring.

2010-12-02  Bruce Korb  <bkorb@gnu.org>

	* autoopts/test/defs.in (local): eval the args, do not discard
	(compile): The Solaris /usr/xpg4/bin/tr is junk.  Do not use.
	* autoopts/test/nested.test (sed): '-i' is a GNU-ism
	* doc/mk-agen-texi-in (setup_exports): libopts.a must be found
	in order to build docs.

	Dave Hart  <hart@ntp.org>
	* agen5/expOutput.c (ag_scm_out_push_new): fix #ifdef-ed "else"

	Elias Pipping  <pipping@users.sourceforge.net>
	* agen5/expFormat.c (mk_license): pass owner string to aprf().
	* autoopts/bootstrap.dir (make_funcs_def): locate mk-str2enum
	if it is not in the current PATH.
	* config/bootstrap (config_tools): "set -e" is unnecessary

2010-11-18  Bruce Korb  <bkorb@gnu.org>

	5.11.3 release
