2012-08-11 Bruce Korb * autoopts/tpl/agtexi-cmd.tpl: Fix up "help" option name in texi doc. * autoopts/ao-strs.def: remove stray newline * autoopts/autogen.map: add lead option line skip characters * autoopts/load.c (loadOptionLine): use it * autoopts/test/shell.test: adjust * autoopts/tpl/opthead.tlib (gettext): ensure it is declared * autoopts/tpl/optmain.tlib (fserr_fmt): not always static. * autoopts/tpl/strings.tpl: justify and sort the define list * compat/compat.h (strsignal) check that HAVE_RAW_DECL_STRSIGNAL is also not declared before declaring strsignal. * config/confmacs.tlib: AC_TRY_RUN is obsolete * config/libopts.def: AC_ERROR is obsolete * doc/autogen-texi.txt (config-header): doc it 2012-08-04 Bruce Korb Leo Davis * autoopts/tpl/usage.tlib: capture both stdout and stderr while building the sample program. Print on error, discard on success. 2012-07-27 Leo Davis * autoopts/install-hook.sh: correct spelling of "defs" file and redirect unwanted stdout output. * pkg/spec.tpl: handle the case where the "nobody" shell is /bin/false. * autoopts/test/enums.test: the "columns" program may not pre-exist. * autoopts/tpl/optcode.tlib: likewise 2012-07-18 Bruce Korb * agen5/tpLoad.c (find_file): split out expand_dir function (expand_dir): new * autoopts/configfile.c (handle_cfg): code flow annotations (parse_attrs): likewise * autoopts/env.c (do_env_opt): handle disable options differently. * autoopts/find.c (optionVendorOption): fix error handling (opt_find_long): handle invalid option name * autoopts/makeshell.c (optionParseShell): free memory after use (open_out): break out code for loading the previous iteration's output to preserve any hand editing. Also, open the file first and ask questions about it later. * autoopts/mk-tpl-config.sh: use sh as the cat shell, not cat itself * autoopts/tpl/agtexi-cmd.tpl: export the program name so that some translator scripts can know it. * autoopts/tpl/mdoc2texi.pl: rewrite 2012-07-01 Bruce Korb * agen5/test/make.test: evade a problem with one platform wherein ``(set! txt (string-expr)) txt'' does not work. * agen5/tpLoad.c (find_file): Put the referring file name directory at the end of the search, instead of the start. * agen5/test/include.test: adjust test * autoopts/tpl/agtexi-cmd.tpl (AG_DEF_PROG_NAME): export the program-name as this environment value. * autoopts/tpl/mdoc2texi.pl: clean up and rig to handle some more macros. * agen5/scmStrings.c (ag_scm2zchars): format string for ancient Guile * autoopts/mk-tpl-config.sh: correct method of making cat shells. 2012-06-18 Bruce Korb 5.16.1 release * autoopts/test/enums.test: warning patrol * compat/windows-config.h: licensing fix 2012-06-10 Bruce Korb * Makefile.am: private rules for Doxygen documentation * agen5/functions.c (mLoad_Unknown): Where the start of the name being scanned cannot be determined. Do not pretend like you can. * autoopts/autogen.map: fix the license 2012-05-12 Bruce Korb * config/mk-shdefs.in: new script to create a "config/shdefs" file * autoopts/test/defs.in: use this file for configured values * autoopts/test/Makefile.am: source config/shdefs file * config/bootstrap.shlib: make default values * agen5/mk-stamps.sh: use configured defs * autoopts/mk-tpl-config.sh: likewise * agen5/test/shell.test: likewise * agen5/test/string.test: likewise * autoopts/install-hook.sh: likewise * autoopts/test/alias.test: likewise * autoopts/test/argument.test: likewise * autoopts/test/doc.test: likewise * autoopts/test/getopt.test: likewise * autoopts/test/shell.test: likewise * autoopts/tpl/cmd-doc.tlib: likewise * autoopts/tpl/optmain.tlib: likewise * autoopts/tpl/strings.tpl: likewise * doc/mk-agen-texi-in: likewise * autoopts/tpl/tpl-config-tlib.in: use them to configure templates * pkg/spec.tpl: don't package files we don't have. * autoopts/tpl/texi2mdoc.sh: remove alternation from sed expr * config/misc.def: include libdir with -Wl,-R output * doc/mk-agen-texi.sh: new file renamed from *-in file. It sources config/shdefs instead of being configured * doc/Makefile.am: adjust what gets distributed 2012-05-05 Bruce Korb 5.16 release * autoopts/test/handler.test: adjustment * autoopts/tpl/optcode.tlib: doxygenate * autoopts/tpl/optmain.tlib: fix doxygen comment * autoopts/tpl/texi2man.sh: handle sed-s that do not do alternation * autoopts/tpl/texi2mdoc.sh: likewise * autoopts/test/defs.in: pass through OBJEXT * autoopts/tpl/usage.tlib: use it to look for a .o file instead of an archive file. --disable-static will not produce such a file. * configure.ac (ENABLE_STATIC): new substitution * autoopts/aoconf.tpl: disable static_libs when disabled * autoopts/test/defs.in: link against libopts*.${OBJEXT}. libopts.a may not get built. 2012-04-29 Bruce Korb * autoopts/tpl/getopt.tpl (optionUsage): do not declare optionUsage. * autoopts/tpl/optcode.tlib (usage-proc): likewise * autoopts/tpl/optmain.tlib (doUsageOpt): call usage proc directly, whether it is optionUsage or user specified. (vusage_message): likewise * autoopts/test/handler.test: adjust * doc/autogen-texi.txt (@item usage): doc it properly * autoopts/tpl/cmd-doc.tlib (get-cvt): accept an alternate text arg and use this capability for the exit-desc attribute. * autoopts/tpl/texi2man.sh (bold): add new entries * autoopts/tpl/texi2mdoc.sh: likewise 2012-04-28 Bruce Korb * agen5/funcCase.c (mLoad_Select): split function (selection_type_complete): new function * autoopts/tpl/optcode.tlib (optionAlias): remove duplicate def. * autoopts/tpl/opthead.tlib (die): add prototypes for new functions * autoopts/tpl/optmain.tlib (die): add code for die, vdie and fserr. 2012-04-15 Bruce Korb * autoopts/tpl/def2pot.tpl: clean up * autoopts/test/doc.test: test pot template, too. * autoopts/tpl/optcode.tlib: "no-xlate = anything" attribute * autoopts/tpl/opthead.tlib: likewise * agen5/opts.def: specify "no-xlate = anything". 2012-04-14 Bruce Korb * config/libopts.def (AC_CHECK_HEADERS): check for stdbool, too. * config/misc.def (AC_CHECK_HEADERS): stdbool not needed here now * getdefs/getdefs.c (main): guard chmod() call with HAVE_CHMOD instead of HAVE_FCHMOD * config/bootstrap.local: remove building of fmemopen.c to agen5 dir. * agen5/bootstrap.dir: rebuild fmemopen.c when needed * agen5/mk-stamps.sh: always remove log files on success * autoopts/Makefile.am (libopts_la_LIBADD): include libintl * columns/bootstrap.dir: remove log files on success * mkconfig.sh: Avoid unnecessary work and get VERSION from VERSION file. Do not save the version stamp. * noag-boot.sh: regenerated from mkconfig.sh * autoopts/tpl/cmd-doc.tlib: remove backslash duplication * autoopts/tpl/def2pot.tpl: remove texi-isms from translatable text * autoopts/tpl/optlib.tlib: fix sed expression for removing texi-isms * autoopts/test/doc.test: test doc changes 2012-04-08 Bruce Korb * compat/chmod.c: new (no-op) compatibility function for Windows-32 * config/libopts.def: check for fchmod, fstat and chmod functions, too. * agen5/agInit.c (initialize): new variation required for Guile 2.0. * autoopts/test/doc.test: new test for man/mdoc/texi templates. 2012-04-01 Bruce Korb * autoopts/tpl/agtexi-cmd.tpl: omit texi doc for options with emtpy "doc" clauses. * agen5/bootstrap.dir: remove code used also in "make" * agen5/mk-stamps.sh: removed to here * autoopts/env.c (doPrognameEnv): warning patrol * autoopts/usage.c (set_usage_flags): warning patrol * agen5/autogen.h: new globals for detecting block enclosures for break/continue/return macros * agen5/funcDef.c (mFunc_Define): extract code that invokes "gen_block" to a separate function where long jumps can be handled better (mLoad_Define): indicate that a new template is being loaded so that "return" can function properly. * agen5/funcFor.c (for_by_step): call gen_block wrapper to handle long jump returns (for_each): likewise (mFunc_For): extract some convolutions into new procedures * agen5/funcIf.c (mFunc_While): fake up a for loop context and call the same gen_block wrapper to handle long jumps * agen5/functions.c (mFunc_Break): handle next and continue (call_gen_block): handle long jump returns for looping macros (mFunc_Return): handle "return" for INCLUDE and INVOKE macros (gen_new_block): gen_block wrapper for INCLUDE and INVOKE. (mLoad_Skip): loading procedure for break and continue * agen5/functions.tpl (handler-proc): may now specify the handler to use * agen5/test/debug.test: adjust for new macro numbers * agen5/test/leave.test: test this stuff. 2012-03-31 Bruce Korb * agen5/Makefile.am: Remove lists of generated things and derive them from the script that has to know about them: bootstrap.dir * agen5/ag-text.def: make the touchback silent and fix the format numbers * agen5/agDep.c (wrap_up_depends): use the fixed format correctly * agen5/bootstrap.dir: edit Makefile.am, too * agen5/fsm-macro.tlib: use the built-in temp directory * agen5/fsm-trans.tlib: likewise * config/bootstrap.shlib (make_opts) cleanup for dependency generation (make_proto): likewise * doc/auto_gen-tpl.in: remove use of ADDON_MENU * doc/mk-agen-texi-in: stop providing ADDON_MENU 2012-03-18 Bruce Korb * agen5/ag-text.def: correct which file is to be removed * agen5/agDep.c: prefer memcpy to strcpy (tidy_dep_file): prefer fchmod to chmod * agen5/expOutput.c (make_writable): obsolete * agen5/expString.c (stringify_for_sh): remove unused parameter * agen5/funcFor.c (call_gen_block): new function to ensure longjmp works * autoopts/test/defs.in (CFLAGS): -Werror may be suffixed. Remove all. (clean_help): no need for "egrep -v" when sed can do the job * autoopts/load.c (add_env_val): no need to fix -Werror here * autoopts/tpl/opt*: remove texi-isms from help text. * autoopts/usage.c (prt_extd_usage): arg types param is not used. (prt_one_vendor): thus, here, too. (prt_vendor_opts): and here as well. * doc/mk-agen-texi-in: -Werror removal needed here, too. * everywhere: warning cleanups & de-camelization 2012-03-11 Bruce Korb * agen5/funcCase.c (ag_scm_string_eqv_p): compare booleans, too * autoopts/tpl/agtexi-cmd.tpl: if documentation "flags" are specified, use them for node sectioning for groups of options. * agen5/opts.def: reorganize to use above properly * autoopts/tpl/optlib.tlib: fill "descrip" option attributes to 72 columns. 2012-03-04 Bruce Korb * agen5/agDep.c (start_dep_file): handle temp suffix here so it can be done consistently. Also, only list program name in comment once. (tidy_dep_file) check for target == dep file after moving dep file. (wrap_up_depends): emit cleanup rules on request * agen5/ag-text.def (DEP_FILE_CLOBBER_FMT): cleanup format * agen5/*: replace AG_BOOL with stdbool definitions * autoopts/autogen.map (inversion): new char class * autoopts/enum.c (find_name): use it. Set error message format pointer when a too-large number is used for an enum. * autoopts/usage-txt.def (TooLarge): new error message * autoopts/test/keyword.test: test ~0/-1 * autoopts/test/vendor.test: adjust for stdbool * autoopts/tpl/cmd-doc.tlib (get-cvt): function for converting texi-isms to man page/mdoc page isms for descrip and doc attributes * autoopts/tpl/optlib.tlib (get-text): function for stripping texi-isms entirely for use in help text. * compat/compat.h (stdbool.h): new accommodation * config/bootstrap.shlib (run_ag): use -MP option * config/misc.def: check stdbool.h header * autoopts/tpl/aginfo.tpl: disable * autoopts/tpl/agman1.tpl: disable * agen5/defLex.c (build_here_str): stop stripping tabs with backslash tab, and skip the backslash, too. * agen5/ag-text.def (DEP_FILE_WRAP_FMT): use it. * everywhere: use global replacement tools to de-camelize many variables. 2012-02-25 Bruce Korb 5.15 release * autoopts/tpl/optcode.tlib: make sure config header is included before any system headers. * autoopts/tpl/optmain.tlib: remove system header includes * autoopts/tpl/optlib.tlib: remove texi-isms from any "descrip" attributes. * autoopts/tpl/texi2man.sh (command, option): add to bolded text * autoopts/tpl/texi2mdoc.sh: likewise * config/confmacs.tlib (affirmed): new conditional that defaults to disabled instead of enabled. * pkg/libopts/libopts-add.m4: default to *not* installing the external-project-built libopts library * autoopts/numeric.c (optionShowRange): value is long int, not str. * autoopts/usage-txt.def (rangeerr): fix format, too 2012-02-18 Bruce Korb * autoopts/test/alias.test: fully test "aliases" attribute. * autoopts/tpl/opt*.t*: allow empty homerc value to enable command line options witout automatically looking up config files. Also, add Doxygen comments to much of the generated code. * autoopts/tpl/strings.tpl: allow the specification of leader and trailer code for the emitted header. * config/misc.def: remove some antiquated testing 2012-02-12 Bruce Korb * autoopts/tpl/agtexi-cmd.tpl: cleanups * autoopts/tpl/man2texi.sh: convert \fI to @i and \fB to @var * compat/compat.h: sys/wait.h may not exist. likewise u_int. * config/libopts.def: test for u_int type * doc/auto-opts.tpl: improve debuggability * everywhere: remove all residual "u_int" types. 2012-01-28 Bruce Korb * everywhere: redate copyrights * everywhere: use static char const tables where feasible. * autoopts/nested.c (optionLoadNested): deallocate empty result and return NULL when no entries have been found. Set errno to ENOMSG. * add-on/char-mapper: clean up way for defining static scope * autoopts/autogen.map: use defined method for static scoping. (set-separator): new character class * autoopts/ao-strs.def: new file for autoopts strings * ChangeLog.10: give it a hunk of this file * autoopts/tpl/agtexi-cmd.tpl: emit the doc-section text, too. 2011-12-29 Bruce Korb 5.14 release