from /dev/null, as "configure" shouldn't read stdin, and this
insulates us from problems (e.g., when testing for "cl").
Suggested by Alexandre Duret-Lutz. Also, do this redirection
before invoking "hostname" or "uname".
(_AC_PREPROC_IFELSE, _AC_COMPILE_IFELSE,
_AC_LINK_IFELSE): Undo previous change, as it's no longer needed.
* lib/autoconf/c.m4 (AC_PROG_CC, AC_PROG_CXX): Don't bother with
"</dev/null" since it's now done at the top of 'configure'.
* lib/autoconf/fortran.m4 (_AC_PROG_FC): Likewise.
* lib/autoconf/programs.m4 (_AC_PATH_PROG_FLAVOR_GNU): Likewise.
Also, replace grep with shell pattern-matching, to save a process.
Fix some @code's that should have been @env's, and vice versa.
Sort environment variable names.
Mention that shells no longer inherit IFS.
Don't recommend PATH_SEPARATOR=';' so strongly.
Mention that $RANDOM might expand to the empty string.
"symlink" and "soft link" -> "symbolic link".
Improve mktemp description (reported by Bruno Haible).
* tests/torture.at (Substitute and define special characters)
(Substitute a 2000-byte string, Define to a 2000-byte string)
(Substitute a newline, Define a newline): New tests.
(AT_DATA_AUTOCONF): Do not call AC_PROG_GREP.
(AC_SAVE_STATE): Move environment grep...
(AT_CHECK_ENV): to here. Filter out `'$''. Use AT_CMP.
(AT_CONFIG_CMP): New macro.
(AT_CHECK_MACRO): Run `configure' twice with cache and compare results.
* tests/c.at (Extensions): Do not exit early.
* tests/atlocal.in: Inherit $GREP.
* tests/local.at (AT_CHECK_M4SUGAR): Add `m4sugar' to keywords.
(AT_CHECK_ENV): Ignore LTLIBOBJS, FC variables, EGREP, FGREP, and SED.
* tests/m4sugar.at (AT_CHECK_M4SUGAR_TEXT, AT_CHECK_M4RE): New macros.
(Standard regular expressions): New test.
(m4_warn, m4_require: circular dependencies, m4_text_wrap): Strip
excess test name quoting.
* tests/semantics.at (AC_CHECK_HEADERS_OLD, AC_CHECK_HEADERS_NEW): Pass
CPPFLAGS to `configure' instead of setting it in `configure'.
Update the long comment explaining it.
m4_require no longer writes an ``is required by'' line to the
execution stack. It contains only one bit of non-redundant
information: that the macro was required, not called. And even
this bit is useless in most situations: have you ever met a macro
which both calls and requires the same macro?
* lib/m4sugar/m4sugar.m4 (_m4_defun_pro): Don't push a diversion...
(_m4_defun_pro_outer): ... only via this macro, for the outermost
macro.
(_m4_defun_epi, _m4_defun_epi_outer): Complementarily.
(m4_expansion_stack_pop): Remove the misplaced comment.
(m4_require): Don't put the ``is required by'' line to the
execution stack; slightly improve the out-of-a-defun error message.
(_m4_divert_grow): New macro, counter for the temporary diversions.
(_m4_require_call): Use it.
* tests/m4sugar.at (m4_require): Expect output without the
``is required by'' messages.