2004-10-24  Bruce Korb  <bkorb@gnu.org>

	= 5.6.4 Released

2004-10-24  Bruce Korb  <bkorb@gnu.org>

	* autoopts/test/enums.test: fix a typo
	* autoopts/load.c(optionMakePath): Use realpath(3C) to locate files.

2004-10-18  Bruce Korb  <bkorb@gnu.org>

	= 5.6.3 Released

2004-10-13  Bruce Korb  <bkorb@gnu.org>
	Matt Kraai  <kraai@ftbfs.org>

	* agen5/Makefile.am: Refer to executables with the corrected substitute
	names (that may include the .exe extensions).
	* doc/Makefile.am: likewise
	* getdefs/Makefile.am: likewise
	* xml2ag/Makefile.am: likewise
	* autoopts/optlib.tpl(VALUE_): take advantage of the "!E" macro
	* autoopts/optmain.tpl(each-or-stdin): new main procedure format
	* pkg/gnudoc.tpl: resync with the FSF's gnudocs_template
	* global-replace:  autogen-bugs@.. with autogen-users@...
	* lcl-ag/compat/compat.h(pathfind): fix the reference

2004-10-11  Bruce Korb  <bkorb@gnu.org>

	* agen5/autogen.h(zDefaultNil): new global to distinguish defaulted/
	unknown values from an empty string actual value.
	* agen5/funcCase.c(Select_Match_Existence): use new global
	(Select_Match_NonExistence): ditto
	* agen5/funcEval.c(evalExpression): ditto
	* agen5/functions.h(zFn_Select): new selection aliases: !E and +E
	* agen5/test/case.test: test new aliases
	* getdefs/gdemit.c(emitListattr): after a quoted entry in a "listed"
	attribute, scan forward to next entry - no bogus empty entries!

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

	* agen5/defParse-fsm.c(dp_do_invalid): return invalid
	* autoopts/autoopts.c: warning patrol
	* autoopts/options_h.tpl: remove unneeded defines (void and const)
	* snprintfv/compat.h: pedantic GCC requires "inline" #define
	* snprintfv/filament.in(filelt): not used
	* xml2ag/fork.tpl: #include-s belong in header, so:
	* xml2ag/xmlopts.def: include them here

2004-10-07  Matt Kraai  <kraai@ftbfs.org>

	* configure.in(AC_TYPE_SIGNAL): deleted, not really used
	* agen5/autogen.h(fileAbort): omit initialization.  Struct too varied.
	* agen5/defLex.c(apzEvents): redundant declaration
	* agen5/fmemopen.c: over-protect flag bit mask
	* agen5/funcEval.c: remove unused stuff
	* getdefs/getdefs.c(processFile): fix format argument order
	
2004-10-02  Bruce Korb  <bkorb@gnu.org>

	* agen5/directive.tpl: put daemon stuff under ifdef DAEMON_ENABLED
	* agen5/autogen.c: ditto
	* agen5/autogen.h: ditto
	* agen5/opts.def: ditto, plus ensure "daemonize" is not enabled
	* agen5/test/Makefile.am: Add disabled daemon test
	* agen5/test/for.test: exercize tpl-file-line function
	* autoopts/autoopts.c: disable presetting of equivalenced options
	disable selecting more than one member of an equivalence class
	* autoopts/optcode.tpl: mark descriptors that have immediate opts
	* autoopts/options_h.tpl: add a flag to indicate presetting state
	* autoopts/optlib.tpl: add OPTNAME_MEMBERSHIP_MASK for set memberships
	Also, redirect equivalenced option values to the base option
	* autoopts/test/Makefile.am: add the enums test
	* autoopts/test/enums.test: more rigorous testing of sets and enums
	* config/libopts.def: fix warnings in config tests
	* doc/autogen.texi: improve docs on environment option presets
	
2004-08-30  Bruce Korb  <bkorb@gnu.org>

	* autoopts/autoopts.c(doEnvPresets): break out into separate file
	(doRegularOpts): like doImmediateOpts, but for regular timing.
	* autoopts/environment.c(doPrognameEnv): implement parsing of $PROGNAME
	* autoopts/optcode.tpl: mark the OPTPROC_HAS_IMMED flag if any user
	options are immediate action or if "homerc" is used.
	* autoopts/options_h.tpl(OPTPROC_HAS_IMMED): new flag
	* autoopts/streqv.h: prefix external names with "option_"
	* autoopts/tokenize.c(string_tokenize): new function
	* autoopts/tokenize.h: and its header
	* compat/compat.h(O_NONBLOCK): not always defined

2004-08-14  Bruce Korb  <bkorb@gnu.org>

	* configure.in: add some daemon-related headers to the header list
	* compat/compat.h: conditionally incorporate daemon related headers
	* agen5/expState.c(tpl-file): doc
	* agen5/funcEval.c(emit): strings seem to show up as pairs.
	* autoopts/autoopts.h: describe how all the bits are used to determine
	if an option is processed early or inline (normal time).
	* autoopts/options_h.tpl: add two more timing bits: TWICE and
	DISABLE_TWICE.
	* autoopts/optcode.tpl: rework the handling of ifdef/ifndef options
	* autoopts/options.tpl: also
	* autoopts/optlib.tpl:  also
	* autoopts/optmain.tpl: also
	* doc/autogen.texi: cleanups
	* agen5/agInit.c: new code for handling daemons.
	* agen5/directive.tpl(inet_family_map): new struct and array
	* compat/compat.h: include netinet/in.h and sys/un.h

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

	* doc/auto_gen.tpl(temp-dir): new scheme variable.  If the pseudo
	macro specifies a new shell, the "tempdir" env variable may get lost.
	* config/confmacs.tpl(code-mode): implement "main body" mode
	* config/misc.def(DO_SHELL_CMDS): use automake conditional to bypass
	building some directories, but leave the stuff in the distribution.
	(daemon): new (unused) enablement config option.
	(HAVE_XML_LIB): use automake conditional here, too.
	(fattach): make sure it works
	(connld): make sure it works

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

	* mkconfig.sh(shar): clean up usage
	* agen5/autogen.h(ag_printf_arg_u_t): new - for printfv's argv
	* agen5/expPrint.c(safePrintf): use the type for passing args
	(run_printf): ditto + use its fields instead of casting about
	* agen5/expState.c(ag_scm_tpl_file_line): use sprintfv, not sprintf
	* agen5/funcEval.c(ag_scm_emit): new function that emits all its args
	* agen5/test/line.test: new test
	* agen5/test/Makefile.am(line.test): run the new test
	* autoopts/usage-txt.def(utxt): correct usage text
	* autoopts/test/stdopts.test: adjust expected output

2004-05-21  Bruce Korb  <bkorb@gnu.org>

	* autoopts/agman1.tpl(membership bits): expand usage
	* autoopts/enumeration.c(enumError): columnize keyword list in usage
	(optionSetMembers): clear the membership bits at config file load time
	* autoopts/optcode.tpl: simplify some string computations
	* autoopts/opthead.tpl: likewise
	* autoopts/putshell.c(putBourneShell): skip the "none + " prefix
	when constructing the list of bit defines.
	* autoopts/test/equiv.test: adjust for new keyword list format
	* autoopts/test/keyword.test: ditto
	* autoopts/test/stdopts.test: ditto
	* autoopts/test/errors.test: add a double-ifdef test
	* autoopts/test/handler.test: adjust for new template format
	* autoopts/usage-txt.def(SetMemberSettings): new string

2004-05-18  Bruce Korb  <bkorb@gnu.org>

	* doc/auto_gen.tpl(libs): add ${LIBS} to the end of it for -lgen, etc.

	= 5.6.2 Released

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

	* agen5/loadPseudo.c(findTokenType): Do not advance scanner past the
	newline upon token recognition.  Newline counts and start-of-line
	state gets confused.

	= 5.6.1 Released/abortive

2004-05-14  Bruce Korb  <bkorb@gnu.org>

	* autoopts/options.tpl(define): define a set of hash tables to use
	* autoopts/optlib.tpl(save-name-morphs): new macro - use hash tables
	* autoopts/optcode.tpl: ditto
	* autoopts/opthead.tpl: ditto
	* autoopts/optmain.tpl: ditto
	* autoopts/test/errors.test(still-another): new - test for multiple ifdf
	* autoopts/test/handler.test: adjust for tweaks

2004-05-09  Bruce Korb  <bkorb@gnu.org>

	* autoopts/aginfo3.tpl(lib-name): handle the library name consistently
	* autoopts/bootstrap.dir(funcs.def): specify the library name
	* doc/autogen.texi(generated main): doc the new preferred method
	* pkg/libopts/mklibsrc.sh(SOURCE DIRECTORY): get file list from
	authoritative source rather than hard-wiring it.  (Thanks to
	Rodolfo Schulz de Lima)
	* doc/Makefile.am(autogen.def): Make sure all the utilities have been
	built before reconstructing the documentation.  It uses them.

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

	* configure.in: Some platforms put all float functions in -lm
	* agen5/Makefile.am(COLEXE): define it, too.
	* compat/compat.h: configure.in now produces a uintptr_t, so
	it is not fatal to not have a stdint or inttypes header.
	* doc/Makefile.am: pass CFLAGS through to doc builder template
	* doc/auto_gen.tpl(default-test): clean up compiler usage
	(genshellopt): ditto
	* snprintfv/compat.h: remove a bunch of stuff that is not used and
	interferes with non-snv name space.
	* snprintfv/*.c: respell "TRUE" and "FALSE" with "SNV_" prefix

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

	* agen5/fsm-macro.tpl: put strings into one variable and use offsets.
	Minimizes relocation costs at load time.
	* agen5/cgi-fsm.c: regen with new templates
	* agen5/defParse-fsm.c: ditto
	* autoopts/optcode.tpl: implement coherent method for specifying
	how to construct a main() procedure.  Add a standardized main() for
	handling an input list from either the command line or stdin.
	* autoopts/optmain.tpl: more for the above
	* autoopts/test/argument.test: accommodate changes to templates
	* autoopts/test/handler.test: ditto
	* compat/strsignal.tpl: put strings into single global
	* compat/strsignal.c: use new mechanism
	* doc/autogen.texi: doc the new main procedure stuff.

2004-02-27  Bruce Korb  <bkorb@gnu.org>

	* config/misc.def: update to eliminate warnings on some platforms
	* config/missing: update from Automake 1.8
	* xml2ag/xmlopts.def(forkAutogen): export function for xml2ag.c

2004-02-23  Bruce Korb  <bkorb@gnu.org>

	= 5.6 Released

2004-02-19  Bruce Korb  <bkorb@gnu.org>

	* agen5/fmemopen.c: the interface to use depends upon HAVE_FOPENCOOKIE
	and HAVE_FUNOPEN, not __linux or __bsd
	* */Makefile.am(columns): correct the spelling of the directory
	* mkconfig.sh: use mktemp to make the temporary directory
	* noag-boot.sh: regenerate

2004-02-16  Bruce Korb  <bkorb@gnu.org>

	* */Makefile.am: clean up which files need cleaning up and when.
	Make sure the columns and autogen binaries have been built when needed
	* agen5/directive.tpl(zSchemeInit): BSD sed's work differently
	* agen5/fmemopen.c: accommodate BSD's funopen() function
	* agen5/loadPseudo.c(findTokenType): the end marker can *NEVER* start
	with the hash character.
	* agen5/pseudo.def(end_mark): transitions from this state need no code

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

	* agen5/fmemopen.c: more cleanup and adapt for BSD's funopen().
	* agen5/autogen.h(ENABLE_FMEMOPEN): define if we have either GNU's
	or BSD's cookie open function
	* agen5/fsm-macro.tpl(build-switch): accommodate a 'noop' function
	* agen5/opts.def(no_fmemopen): depend upon ENABLE_FMEMOPEN instead of
	the GNU function fopencookie(3GNU).
	* config/misc.def: check for funopen, too.
	* */Makefile.am: regularize the environment variables passed to $AGEXE

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

	* agen5/agShell.c(serverSetup): do not rely on "getcwd" doing allocation
	* agen5/expState.c(ag_scm_chdir): new wrapper for scm_chdir
	(ag_scm_tpl_file): call "findFile()" if ``#t'' is passed in

2004-02-02  Bruce Korb  <bkorb@gnu.org>

	* agen5/Makefile.am(DEFINITIONS): distribute defParse.def, too.
	* agen5/autogen.h(FMEM_IOCTL_SAVE_BUF): do not deallocate buf ioctl
	* agen5/expOutput.c(ag_scm_out_push_new): use anonymous temp file
	if `--no-fmemopen' is indicated
	* agen5/fmemopen.c: code cleanup
	* agen5/opts.def(no-fmemopen): new option.

2004-02-01  Bruce Korb  <bkorb@gnu.org>

	* agen5/Makefile.am: remove defParse.y, add defParse.def + its FSM
	add fmemopen.c to the file list.
	* agen5/autogen.h: add definition parsing globals,
	rename "tDefStack" to "tDefCtx" -> ripples throughout
	"pzValue" in definition entry now a union -> more ripples
	Incorporate fmemopen definitions.
	* defLoad.c: mostly rewritten
	* defReduce.c: deleted
	* defParse.y: deleted
	* defParse.def: new
	* defParse-fsm.c: new parsing code
	* fsm*.tpl: reworked to make the state table more comprehensible
	* agen5/test/error.test: adjust for FSM error reporting
	* agen5/test/stress.test: new - verify that the new parser works
	* autoopts/getopt.tpl: accommodate vanilla "getopt(3C)", too
	* autoopts/opthead.tpl(xx-value): disallow empty values if long-opts
	are not allowed.
	* autoopts/test/getopt.test: fix up to accommodate non-long-opt progs.
	* agen5/expOutput.c(ag_scm_out_push_new): use fmemopen for temp files
	* agen5/fmemopen.c: new file, depends upon glibc.
	* config/misc.def(bison): bye bye yacc, hello FSM.  check for fopencookie

2004-01-14  Bruce Korb  <bkorb@gnu.org>

	* autoopts/optcode.tpl(AO_gettext): rename from strdup - add gettext
	invocation to the code, removing it from translate_option_strings
	* autoopts/test/handler.test: adjust test results
	* autoopts/test/keyword.test: fix test results.  The man page must
	insert a space to avoid dotted file name disappearance!
	* autoopts/test/nls.test: ensure the right libraries are used for
	headers and linking

2004-01-13  Bruce Korb  <bkorb@gnu.org>

	* autoopts/optcode.tpl(tOptProc): call procs are extern, not static.
	* autoopts/test/getopt.test(AGEN): pass in the proper flags for
	compiling against the AutoOpts library under test.
	* autoopts/test/nls.test(.def): export the fake gettext function

2004-01-04  Bruce Korb  <bkorb@gnu.org>

	= 5.5.7 Released
