Commit Graph

199 Commits

Author SHA1 Message Date
Akim Demaille
feec4913d1 * m4sugar.m4 (m4_init): Catch `dnl'. 2000-12-15 07:46:47 +00:00
Pavel Roskin
26ce6814c0 * m4sh.sh (AS_ERROR): Restore dnl at the end of the macro. 2000-12-15 07:09:41 +00:00
Pavel Roskin
27853939be * m4sugar.m4 (m4_file_append): Add a newline after _m4eof,
otherwise _m4eof is appended to the output on FreeBSD 4.0.
* tests/atgeneral.m4 (AT_INIT): Avoid using unbalanced "y"
in sed, use "s" instead.
* tests/mktests.sh: Don't use ? in sed - it's a GNU extension.
Use separate patterns for A[CU]_DEFUN and AC_DEFUN_ONCE.
2000-12-13 14:53:51 +00:00
Akim Demaille
1088d101b2 AS_ERROR was not properly saving data in the log file.
* sh.m4 (AS_WARN, AS_ERROR): Use AS_MESSAGE.
(_AS_ECHO): Fix quotation.
(AS_MESSAGE): Use `as_me'.
* acgeneral.m4: More banners in the log.
(_AC_INIT_DEFAULTS): Compute as_me before using it.
2000-12-12 10:53:41 +00:00
Akim Demaille
9eb6e4e204 The SunOS' egrep fails to process properly the `egrep' invocations
of the test suite.
* tests/aclocal.m4 (AC_STATE_SAVE): If egrep fails, remove the
output file.
* tests/atspecific.m4 (_AT_CHECK_AC_MACRO): Don't check `state-*'
if the files are not present.
* m4sugar.m4 (m4_join): Rename as...
(m4_smash): this.
* tests/aclocal.m4 (join): Move as...
* m4sugar.m4 (m4_flatten): this.
* autoconf.sh (trace.m4): Rename m4_smash as m4_flatten.
2000-12-06 14:05:46 +00:00
Akim Demaille
482e84f65c * m4sugar.m4 (ifelse): Rename as...
(m4_if): this.
* autoconf.m4 (ifelse): Restore.
2000-12-06 08:58:41 +00:00
Akim Demaille
e43386442e * m4sugar.m4 (m4_dquote, m4_pattern_forbid, m4_pattern_allow)
(m4_cr_letters, m4_cr_LETTERS, m4_cr_Letters, m4_cr_digits)
(m4_cr_symbols1, m4_cr_symbols2, m4_re_string, m4_re_word)
(m4_init): New macros.
(m4_token_allow): Remove.
* acgeneral.m4: Don't push BODY into the diversion stack.
(AC_PLAIN_SCRIPT): Do it.
Call m4_init, define the Autoconf patterns.
(AC_INIT): Use AC_PLAIN_SCRIPT.
Remove the useless `dnl' (those where the current diversion is
KILL).
* autoconf.sh (m4_common): Fix quotation.
(finalize.awk): Load forbidden.rx and allowed.rx.
Split the line into tokens, and check their validity.
* tests/tools.at (Forbidden tokens): Adjust.
2000-12-06 08:58:13 +00:00
Akim Demaille
4867f191cb Adjust comments. 2000-11-30 17:35:16 +00:00
Akim Demaille
264fc11c21 * sh.m4 (AS_EXIT): Don't rely on false exiting 1.
Actually, always use `(exit $val); exit', don't try smart stuff.
* doc/autoconf.texi (Limitations of Builtins) <false>: new.
2000-11-30 17:27:32 +00:00
Akim Demaille
868bffa9a4 * sh.m4 (_AS_EXPR_PREPARE): Don't rely on the exit status of a
back quote evaluation since the very system for which the test was
written does not propagate it.  Groumph!
2000-11-30 16:30:53 +00:00
Akim Demaille
296d30f795 Typo. 2000-11-29 16:13:48 +00:00
Akim Demaille
9f5b35eb49 QNX 4.2.5's expr always exits 1 when `:' is used with parens.
* doc/autoconf.texi (Limitations of Usual Tools) <expr>: More
information, thanks to Paul Berrevoets, Paul Eggert and David
Morgan.
* sh.m4 (_AS_EXPR_PREPARE): New.
(AS_DIRNAME): Use it.
2000-11-29 15:52:02 +00:00
Akim Demaille
a8c122d0f2 Provide a means to display banners in the test suite.
* tests/atgeneral.m4 (AT_INIT): Initialize AT_banner_ordinal.
Execute the epilogue of the tests only if a test was run.
Don't built the value of `at_tests_all' by a for loop: expand
AT_TESTS_ALL.
(AT_SETUP): Build AT_TESTS_ALL.
(AT_BANNER): New.
Adjust all the former banners to use it.
(AT_CHECK): Don't trace the decoding of $?.
2000-11-29 10:12:05 +00:00
Akim Demaille
acbcc5f2b7 * tests/atgeneral.m4 (AT_DEFINE, AT_UNDEFINE, AT_SHIFT)
(AT_INCLUDE): Remove, use the m4_ macros.
2000-11-29 10:11:38 +00:00
Akim Demaille
0af3f6af7b * m4sugar.m4 (ifval, ifset, ifdef, ifndef, m4_ifvanl): Rename as...
(m4_ifval, m4_ifset, m4_ifdef, m4_ifndef, m4_ifvaln): this.
(m4_n): New macro.
(m4_ifvaln): Use it.
* autoconf.m4 (ifdef): Restore it.
2000-11-29 10:09:44 +00:00
Akim Demaille
d4f4ec87f5 * m4sugar.m4 (m4_errprint, divnum, errprint, esyscmd): Rename as...
(m4_errprintn, m4_divnum, m4errprint, m4_esyscmd): this.
* autoconf.m4: Restore them.
2000-11-29 10:05:51 +00:00
Akim Demaille
2fc75f4ce5 * m4sugar.m4 (m4_divert, m4_undivert): Support named diversions.
* tests/atgeneral.m4 (_m4_divert(SUITE_PRO), _m4_divert(TESTS))
(_m4_divert(SUITE_EPI), _m4_divert(TEST)): New diversions.
Push the first two diversions.
(AT_INIT): Don't.
(AT_INIT, AT_SETUP, AT_CLEANUP): Adjust to use the named
diversions.
2000-11-23 09:53:26 +00:00
Akim Demaille
0280c4a535 * tests/atgeneral.m4 (AT_CLEAN_FILE_IFELSE, AT_CLEANUP_FILE)
(AT_CLEANUP_FILES): New	macros.
(AT_SETUP, AT_CHECK, AT_CLEANUP): Use them.
(AT_CHECK): Fix a use of at_verbose.
* tests/atspecific.m4 (AT_CHECK_AUTOCONF, AT_CHECK_AUTOHEADER)
(AT_CHECK_CONFIGURE): New macros.
2000-11-23 09:52:35 +00:00
Akim Demaille
ce8108c250 Transform Autotest's body into a `for test; case $test'.
As a known side effect, currently any code outside
AT_SETUP/AT_CLEANUP is discarded.
* acgeneral.m4 (_m4_divert(KILL)): Move to...
* m4sugar.m4: here.
* tests/atgeneral.m4 (AT_INIT): Use m4_divert_push/pop instead of
m4_divert.
Put all the tests inside a for;case.
Define TESTS.
(AT_SETUP, AT_CLEANUP): Open/close each case.
2000-11-23 09:47:45 +00:00
Akim Demaille
be1c95cd56 Move divert and undivert into m4_.
* m4sugar.m4 (m4_divert, divert, undivert): Rename as...
(m4_divert_text, m4_divert, m4_undivert): this.
* autoconf.m4 (divert, undivert): Restore them for user macros only.
2000-11-23 09:46:48 +00:00
Akim Demaille
a9e30cc83a Move Autotest on top of M4sh.
* tests/atgeneral.m4: Import M4sh.
Adjust the differences on the names of the builtins (define etc.).
(AT_CASE): Remove, use m4_case.
(AT_SETUP): Don't use `AT_group_description', `$1' is OK.
* tests/atspecific.m4 (m4_for, m4_foreach): Remove, use those of
M4sugar.
* tests/m4sugar.at: Strengthen the quotation and adjust to the new
macro names.
* tests/m4sh.at: Ditto.
* tests/torture.at: Ditto.
* tests/base.at: Ditto.
* m4sh.m4: Import M4sugar.
* autoconf.m4: Don't import M4sugar, M4sh does.
2000-11-23 09:45:48 +00:00
Akim Demaille
e62a041a2f Provide a means for escaping the forbidden patterns test.
* tests/tools.at (Forbidden tokens): Test m4_token_allow.
* m4sugar.m4 (m4_file_append, m4_token_allow): New macros.
* autoconf.sh (task script): Pass `tmp' and `verbose' to
finalize.awk.
(finalize.awk::check_patterns): Eve out from the body.
(finalize.awk): Read `$tmp/tokens_allowed', and don't complain for
these exceptions.
2000-11-16 08:33:46 +00:00
Akim Demaille
3e56675bc8 A single m4_require is enough.
* m4sugar.m4 (_m4_require): $2 defaults to $1.
Rename as...
(m4_require): this.
* acgeneral.m4 (_AC_REQUIRE): Remove, use m4_require if you want
to get into the gory details.
2000-11-14 11:06:37 +00:00
Akim Demaille
d18e3cbb57 * acgeneral.m4 (_AC_INIT_DEFAULTS_ENVIRONMENT): Rename as...
* m4sh.m4 (AS_SHELL_SANITIZE): this.
2000-11-14 11:01:44 +00:00
Akim Demaille
cc2c99e90b Move AC_MSG_* into M4sh.
* acgeneral.m4 (_AC_SH_QUOTE, _AC_SH_QUOTE_IFELSE, _AC_ECHO): Move
to...
* m4sh.m4 (_AS_QUOTE, _AS_QUOTE_IFELSE, _AS_ECHO): here.
(AS_MESSAGE, AS_WARN, AS_ERROR): New.
* acgeneral.m4 (AC_MSG_NOTICE, AC_MSG_WARN, AC_MSG_ERROR): Use them.
(AC_FD_MSG, AC_FD_LOG): Be AU_ALIAS'es of...
(AS_MESSAGE_FD, AS_MESSAGE_LOG_FD): new.
Adjust all dependencies.
2000-11-14 10:11:43 +00:00
Akim Demaille
f9fd1e4edc * m4sh.m4 (AS_MKDIR_P, AS_DIRNAME_SED): Don't shell quote $1.
Adjust callers.
Reported by Paul Eggert.
* tests/m4sh.at: Sort.
2000-11-10 10:14:44 +00:00
Akim Demaille
97cdb56113 * m4sugar.m4 (_m4_expansion_stack_dump): Really rename as...
(m4_expansion_stack_dump): this.
2000-11-08 17:54:11 +00:00
Akim Demaille
674d4eef25 m4_syscmd was reestablished as syscd' intead of syscmd' because
instead of `s/^m4_//', m4_copy_unm4 was running `s/[m4_]//'.
* m4sugar.m4 (m4_copy_unm4): Fix.
2000-11-07 11:49:35 +00:00
Akim Demaille
43703ea9aa * m4sugar.m4 (m4_location): When using its value, don't use
`m4_defn', since m4_location is not a variable, it's a macro which
expands to __file__:__line__.
* tests/m4sugar.at (m4_warn): New test.
2000-11-03 15:21:14 +00:00
Akim Demaille
e927749bb5 * Makefile.am (.m4.m4f): Check that processing produces only
comments and empty lines.
Check that freezing produced no output.
* m4sugar.m4: Commentize what was not.
* m4sh.m4: Likewise.
* aclang.m4: Formatting changes.
2000-11-03 14:01:58 +00:00
Akim Demaille
7e4f776a09 * autoconf.m4: Instead of reactivating the macros before reading
Autoconf's file, do it afterwards, so that Autoconf promotes the
right use, but users still can use the old names.
Of course this revealed numerous non updated uses of old macros in
Autoconf's files.  Adjust them.
But for the time being, keep `define' alive for Autoconf.
2000-11-03 11:14:48 +00:00
Akim Demaille
1c614b9e79 AC_REQUIRE and AC_DEFUN_ONCE don't work properly together. This
caused strange messages about AC_ARG_PROGRAM.
Reported by Jim Meyering.
* acgeneral.m4 (AC_DEFUN_ONCE): Fix the indirection to
m4_defun_once.
* m4sugar.m4 (m4_defun_once): Also define
`m4_location(MACRO-NAME)'.  s/ac_warn/m4_warn/.
Use `m4_defn' to read `m4_location'.
* tests/base.at (AC_REQUIRE & AC_DEFUN_ONCE): Two new tests.
2000-11-03 10:39:27 +00:00
Akim Demaille
3f580f38ab * m4sh.m4 (_AS_UNSET_PREPARE): New macro, eved from
_AC_INIT_PREPARE_ENVIRONMENT, and fixed: set `FOO' before trying
to unset it: `unset' exits 1 if the variable is not defined.
(AS_UNSET): Require it.  Use `as_unset' not `ac_unset'.
* acgeneral.m4 (_AC_INIT_PREPARE_ENVIRONMENT): Use it.
2000-11-03 09:16:21 +00:00
Akim Demaille
75390304e0 * m4sugar.m4 (builtin, changecom, changequote, decr, dumpdef)
(incr, index, indir, len, syscmd, sysval, traceoff, traceon):
Rename as...
(m4_builtin, m4_changecom, m4_changequote, m4_decr, m4_dumpdef)
(m4_incr, m4_index, m4_indir, m4_len, m4_syscmd, m4_sysval)
(m4_traceoff, m4_traceon): these.
* autoconf.m4 (builtin, changecom, decr, incr, index, indir, len)
(syscmd, sysval, traceoff, traceon): Reactivate.
2000-11-03 09:08:02 +00:00
Akim Demaille
d95de46af1 * m4sugar.m4 (m4_rename_m4, m4_copy_unm4): New macros.
Use them.
(debugfile, debugmode, m4exit, m4wrap, maketemp, patsubst, regexp)
(substr, translit, m4_wrap): Rename as...
(m4_debugfile, m4_debugmode, m4_exit, m4_wrap, m4_maketemp)
(m4_patsubst, m4_regexp, m4_substr, m4_translit, m4_text_wrap): these.
Adjust all dependencies.
* acgeneral.m4: Adjust.
* tests/m4sugar.at: Adjust.
* autoconf.m4 (m4exit, patsubst, regexp, substr, translit):
Reestablish them.
2000-11-03 08:53:26 +00:00
Akim Demaille
5243fda44e * doc/autoconf.texi (Limitations of Usual Tools): Some about
dirname.
2000-11-02 17:35:53 +00:00
Akim Demaille
2353e0d366 * m4sugar.m4 (popdef, pushdef): Rename as...
(m4_popdef, m4_pushdef): these.
Adjust dependencies.
* acgeneral.m4: Adjust.
* aclang.m4: Likewise.
* autoconf.m4 (popdef, pushdef): Reactivate them.
2000-11-02 14:12:18 +00:00
Akim Demaille
15e4d38025 In M4sugar, move define', undefine', and defn' into the m4_'
name space.
* m4sugar.m4 (m4_define, m4_defn, m4_undefine): New macros.
(define, defn, undefine): Undefine.
Adjust all uses.
* m4sh.m4: Adjust.
* autoconf.m4: Reenable these builtins.
* m4sugar.m4 (m4_expansion_stack_dump): Use m4_copy.
2000-11-01 17:32:17 +00:00
Akim Demaille
429b2e9e9d * m4sugar.m4 (m4_fatal): Dump the expansion stack.
* acgeneral.m4 (AC_FATAL): Use m4_fatal.
2000-11-01 16:33:18 +00:00
Akim Demaille
4b19491f44 Move the `defun' handling into M4sugar.
* m4sugar.m4 (_m4_divert(GROW), _m4_expansion_stack_dump)
_m4_defun_pro, _m4_defun_epi, m4_defun, $1, m4_defun_once)
m4_before, _m4_require, m4_require, m4_expand_once, m4_provide)
m4_provide_ifelse): New macros.
* acgeneral.m4 (_AC_EXPANSION_STACK_DUMP, _AC_DEFUN_PRO)
_AC_DEFUN_EPI): Removed.
(AC_DEFUN, AC_DEFUN_ONCE, _AC_REQUIRE, AC_REQUIRE)
AC_PROVIDE_IFELSE, AC_FATAL): Reimplement atop M4sugar.
2000-11-01 15:56:37 +00:00
Akim Demaille
82756f7543 Move the handling of classified warnings into M4sugar.
* m4sugar.m4 (m4_diagnose): Remove.
(m4_warning): New.
* acgeneral.m4 (AC_WARNING_IFELSE, _AC_WARNING_IFELSE)
(_AC_WARNING_ERROR_IFELSE, __AC_WARNING_ERROR_IFELSE)
(_AC_DIAGNOSE, AC_DIAGNOSE): Rename as...
* m4sugar.m4 (m4_warning_ifelse, _m4_warning_ifelse)
(_m4_warning_error_ifelse, __m4_warning_error_ifelse)
(_m4_warn, m4_warn): these.
* acgeneral.m4 (AC_DIAGNOSE): Wrapper around `m4_warn'.
* autoconf.sh: Define `m4_warnings' instead of `_AC_WARNINGS'.
2000-10-31 15:20:15 +00:00
Pavel Roskin
a24439a762 * m4sh.m4 (AS_EXIT): Use "false" for exit code 1, ":" for 0.
* acgeneral.m4 (AC_MSG_ERROR): Don't use m4_default for the
        second argument - AS_EXIT takes care of it.
2000-10-30 19:47:58 +00:00
Akim Demaille
16f55c53ab * m4sugar.m4: Formatting changes. 2000-10-30 19:02:23 +00:00
Akim Demaille
4c40aa086f Move the handling of diversions into M4sugar.
* acgeneral.m4 (_AC_DIVERT, AC_DIVERT, AC_DIVERT_PUSH)
(AC_DIVERT_POP): Move to...
* m4sugar.m4 (_m4_divert, m4_divert, m4_divert_push)
(m4_divert_pop): here.
* acgeneral.m4: Adjust to use only the M4sugar macros.
Nevertheless...
(AC_DIVERT_PUSH, AC_DIVERT_POP): New wrappers around the M4sugar
macros.
(_AC_DIVERT(...)): Rename all the diversions names as...
(_m4_divert(...)): these.
2000-10-30 19:01:24 +00:00
Pavel Roskin
acf30e3fb0 * m4sh.m4 (AS_EXIT): New macro that exits and makes sure that $?
is set correctly within the exit trap.
        (AS_TMPDIR): Use it.
        * acgeneral.m4 (AC_MSG_ERROR): Likewise,
2000-10-30 12:29:36 +00:00
Akim Demaille
5ec791a2d5 * shell.m4: Rename as...
* m4sh.m4: this.
* tests/m4sugar.m4, tests/shell.m4, tests/torture.m4: Rename as...
* tests/m4sugar.at, tests/m4sh.at, tests/torture.at: these.
* tests/semantics.m4, tests/base.m4, tests/suite.m4: Rename as...
* tests/semantics.at, tests/base.at, tests/suite.at: these.
* tests/tools.m4, tests/update.m4, tests/syntax.m4: Rename as...
* tests/tools.at, tests/update.at, tests/syntax.at: these.
* tests/mktests.sh: Adjust the output file names.
2000-10-26 09:52:34 +00:00
Akim Demaille
b60b89ed66 * m4sugar.m4: (m4_tolower, m4_toupper): New macros.
* acgeneral.m4 (AC_PREFIX_PROGRAM): Use m4_toupper().
* aclang.m4 (AC_F77_FUNC): Use m4_toupper()/m4_tolower().
2000-10-24 17:25:18 +00:00
Pavel Roskin
a2f945e4c0 * m4sugar.m4 (m4_quote): Comment change. 2000-10-24 17:03:41 +00:00
Akim Demaille
6e09a63ca2 Since GNU M4 now comes with its libm4 (binary), to avoid
ambiguities let's rename `libm4' (M4 code) as `m4sugar':
	Readability And Greater Understanding Stands 4 M4sugar
name coined by Lars J. Aas.
* libm4.m4: Rename as...
* m4sugar.m4: this.
All dependencies adjusted.
2000-10-23 19:13:37 +00:00