Reported by Paivio Pollari.
Diagnosed by Nicolas Joly.
* lib/autotest/general.m4 (AT_CLEANUP): Rename AT_help as
AT_help_all.
Instead of making AT_help a sequence of assignments to grow
$at_help_all, just make AT_help_all be the growing contents of
$at_help_all, and make a single assignment in...
(AT_INIT): here.
(at_times_skip): Flip the meaning and rename as...
(at_times_p): this.
(AT_INIT): When summarizing the test that ran, remove
$at_times_file after use, and check it is present before trying to
use it.
output, so that we can track spurious m4sugar output.
* tests/local.at: Require 2.57.
(AT_CHECK_M4SUGAR, AT_CHECK_M4SH): Don't m4_default the arguments that
are defaulted by AT_CHECK anyway.
Use AT_CHECK_AUTOM4TE.
* lib/m4sugar/m4sugar.m4: There should be no output at all: add a
missing dnl.
(&verbose): Remove.
(&getopt): Adjust the note and verb channels, depending upon
--verbose.
* bin/autoheader.in, bin/autom4te.in, bin/autoscan.in,
* bin/autoupdate.in: Adjust.
Use &verb, not &verbose.
&parse_WARNINGS.
($help): Use Autom4te::ChannelDefs::usage.
* bin/autoscan.in: Use Autom4te::ChannelDefs.
* lib/Autom4te/General.pm: Don't export error: you don't own it.
including when the cache is used.
There are still several issues: (i) there are too many runs of m4
(one for include, one for warnings, and some more), (ii) warnings
spreading on several lines are not handled gracefully, (iii) the
code meant to have the call stack display for errors does not work
(its handling should move from m4 to autom4te).
* bin/autom4te.in Autom4te::Channels, Autom4te::ChannelDefs):
Use them.
(@preselect): Add m4_warn.
($exit_status): Remove, use $exit_code.
($help): Use Autom4te::ChannelDefs::usage.
(&handle_m4): No longer define the m4_warnings.
At each run, extract and report the warnings.
Always cache the result, including if the exit status is on
failure, since if nothing changes, we should result in the same
failure, hence we can use the cache.
* lib/m4sugar/m4sugar.m4 (m4_warning_ifelse, _m4_warning_ifelse)
(_m4_warning_error_ifelse, __m4_warning_error_ifelse, _m4_warn):
Remove.
(m4_warn): Redefine as a do-nothing: it is its invocation that
matters, as warnings are now reported via traces.
* lib/autoconf/general.m4 (AC_DIAGNOSE): Don't make it a copy of
the contents of m4_warn: make it _call_ m4_warn, so that tracing
the latter reveals calls to the former.
Adjust the tests.
* tests/m4sugar.at (m4@&t@_warn): Use existing warning categories.
forward order.
* lib/Autom4te/ChannelDefs.pm: Doc typos.
(&parse_warnings): Accept a list of warning requests.
(&usage): Return a string, not a side effect.
(cross): New warning category.
* bin/autom4te: Adjust.
In particular, be Autoconf tools are really silent when properly
working, bind the verbosity of the 'note' channel to $verbose.
* lib/Autom4te/General.pm (&find_file, &mtime, &update_file)
(&xsystem, &contents): Remove, since they are exported by...
* lib/Autom4te/FileUtils.pm: this.
More perldoc.
* lib/Autom4te/General.pm (&up_to_date_p): Move to...
* lib/Autom4te/FileUtils.pm: here.
(PARSE_ARGS_BEGIN): New section for option parsing related
initialization.
(AT_ARG_OPTION,AT_ARG_OPTION_ARG,_AT_ARG_OPTION): New macros to define
package specific options and associated help.
Depend on Makefile since it contains substitutions.
From Paolo Bonzini.
* lib/autom4te.in (args): Add local.at? for Autotest args.
This change was made on autom4te.cfg which is generated.
Reported by Raja R. Harinath.
not all of them. This fixes 1. the fact that when testing
Autoconf there are many many config.log, 2. the incorrect use of
top_srcdir to find config.log.
Don't mix the detailed output of failed test with the summary of
failures. Rather, append detailed log afterwards.
changes.
* lib/Autom4te/General.pm (&backname): Remove, no longer used by
Autoconf nor Automake.
(&contents): New, from Automake.
PODify.
* lib/autoconf/c.m4 (_AC_PROG_CXX_EXIT_DECLARATION):
Remove `#include <stdlib.h>' from the list; we should never