summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CWRU/CWRU.chlog36
-rw-r--r--CWRU/CWRU.chlog~34
-rw-r--r--MANIFEST1
-rw-r--r--Makefile.in2
-rw-r--r--aclocal.m48
-rw-r--r--autom4te.cache/output.0223
-rw-r--r--autom4te.cache/requests86
-rw-r--r--autom4te.cache/traces.0436
-rw-r--r--builtins/common.c6
-rw-r--r--builtins/common.c~27
-rw-r--r--config-top.h7
-rw-r--r--config-top.h~92
-rw-r--r--config.h.in5
-rwxr-xr-xconfigure223
-rw-r--r--configure.in3
-rw-r--r--doc/bash.17
-rw-r--r--doc/bash.1~4
-rw-r--r--doc/bashref.texi3
-rw-r--r--doc/bashref.texi~4
-rw-r--r--doc/version.texi6
-rw-r--r--execute_cmd.c1
-rw-r--r--expr.c3
-rw-r--r--externs.h11
-rw-r--r--lib/sh/Makefile.in6
-rw-r--r--lib/sh/fpurge.c119
-rw-r--r--redir.c9
-rw-r--r--tests/func.right2
27 files changed, 1090 insertions, 274 deletions
diff --git a/CWRU/CWRU.chlog b/CWRU/CWRU.chlog
index fb2a385d..73707c36 100644
--- a/CWRU/CWRU.chlog
+++ b/CWRU/CWRU.chlog
@@ -14857,3 +14857,39 @@ stringlib.c
even if the pattern and replacement strings are empty, and set
to a copy of string (like ${foo//})
Bug report from Timo Lindfors <timo.lindfors@iki.fi>
+
+ 9/10
+ ----
+{config.h,Makefile,configure}.in,aclocal.m4
+ - new tests for fpurge and __fpurge
+
+lib/sh/fpurge.c, externs.h
+ - new file, fpurge(3) implementation with external decl in externs.h
+
+builtins/common.c
+ - add call to fpurge(stdout) to sh_chkwrite
+
+{redir,execute_cmd}.c
+ - add call to fpurge(stdout) after fflush(stdout) before changing
+ stdout file descriptor and after a builtin or function executes
+
+ 9/12
+ ----
+expr.c
+ - make sure noeval is set to 0 when a longjmp occurs, since it will
+ not be reset otherwise, and it can be set to 1 while processing
+ a {pre,post}-increment or {pre,post}-decrement token
+ - set noeval to 0 at the beginning of evalexp, since it's never
+ called recursively
+
+ 9/14
+ ----
+config-top.h
+ - new builder-modifiable define: DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS
+ Turning it on will cause errors from EPIPE to not be reported by
+ the normal shell write error message mechanism
+
+builtins/common.c
+ - if DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS is defined, don't print an
+ error message from sh_wrerror if errno == EPIPE. Suggestion from
+ Petr Sumbera <petr.sumbera@sun.com>
diff --git a/CWRU/CWRU.chlog~ b/CWRU/CWRU.chlog~
index 6214d04b..d0407315 100644
--- a/CWRU/CWRU.chlog~
+++ b/CWRU/CWRU.chlog~
@@ -14854,5 +14854,37 @@ subst.c
stringlib.c
- change strsub to check whether or not temp is non-null before
trying to null-terminate it. Also make sure temp is allocated
- even if the pattern and replacement strings are empty.
+ even if the pattern and replacement strings are empty, and set
+ to a copy of string (like ${foo//})
Bug report from Timo Lindfors <timo.lindfors@iki.fi>
+
+ 9/10
+ ----
+{config.h,Makefile,configure}.in,aclocal.m4
+ - new tests for fpurge and __fpurge
+
+lib/sh/fpurge.c, externs.h
+ - new file, fpurge(3) implementation with external decl in externs.h
+
+builtins/common.c
+ - add call to fpurge(stdout) to sh_chkwrite
+
+{redir,execute_cmd}.c
+ - add call to fpurge(stdout) after fflush(stdout) before changing
+ stdout file descriptor and after a builtin or function executes
+
+ 9/12
+ ----
+expr.c
+ - make sure noeval is set to 0 when a longjmp occurs, since it will
+ not be reset otherwise, and it can be set to 1 while processing
+ a {pre,post}-increment or {pre,post}-decrement token
+ - set noeval to 0 at the beginning of evalexp, since it's never
+ called recursively
+
+ 9/14
+ ----
+config-top.h
+ - new builder-modifiable define: DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS
+ Turning it on will cause errors from EPIPE to not be reported by
+ the normal shell write error message mechanism
diff --git a/MANIFEST b/MANIFEST
index 9158adc6..1e37178d 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -380,6 +380,7 @@ lib/sh/eaccess.c f
lib/sh/fmtullong.c f
lib/sh/fmtulong.c f
lib/sh/fmtumax.c f
+lib/sh/fpurge.c f
lib/sh/getcwd.c f
lib/sh/getenv.c f
lib/sh/inet_aton.c f
diff --git a/Makefile.in b/Makefile.in
index c215b623..6a230470 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -210,7 +210,7 @@ SHLIB_SOURCE = ${SH_LIBSRC}/clktck.c ${SH_LIBSRC}/getcwd.c \
${SH_LIBSRC}/zcatfd.c ${SH_LIBSRC}/shmatch.c \
${SH_LIBSRC}/strnlen.c ${SH_LIBSRC}/winsize.c \
${SH_LIBSRC}/eaccess.c ${SH_LIBSRC}/wcsdup.c \
- ${SH_LIBSRC}/zmapfd.c
+ ${SH_LIBSRC}/zmapfd.c ${SH_LIBSRC}/fpurge.c
SHLIB_LIB = -lsh
SHLIB_LIBNAME = libsh.a
diff --git a/aclocal.m4 b/aclocal.m4
index 64e674ac..ad229d3d 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -3997,3 +3997,11 @@ AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
[Define if you have the unsigned long long type.])
fi
])
+
+dnl From gnulib
+AC_DEFUN([BASH_FUNC_FPURGE],
+[
+ AC_CHECK_FUNCS_ONCE([fpurge])
+ AC_CHECK_FUNCS_ONCE([__fpurge])
+ AC_CHECK_DECLS([fpurge], , , [#include <stdio.h>])
+])
diff --git a/autom4te.cache/output.0 b/autom4te.cache/output.0
index 51b2ed55..c7f90006 100644
--- a/autom4te.cache/output.0
+++ b/autom4te.cache/output.0
@@ -1,5 +1,5 @@
@%:@! /bin/sh
-@%:@ From configure.in for Bash 3.2, version 3.195.
+@%:@ From configure.in for Bash 3.2, version 3.196.
@%:@ Guess values for system-dependent variables and create Makefiles.
@%:@ Generated by GNU Autoconf 2.60 for bash 3.2-maint.
@%:@
@@ -601,6 +601,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
+ac_func_list=
ac_subst_vars='SHELL
PATH_SEPARATOR
PACKAGE_NAME
@@ -1781,6 +1782,8 @@ echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
+ac_func_list="$ac_func_list fpurge"
+ac_func_list="$ac_func_list __fpurge"
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
@@ -29169,6 +29172,224 @@ _ACEOF
fi
+
+
+
+
+for ac_func in $ac_func_list
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { echo "$as_me:$LINENO: checking whether fpurge is declared" >&5
+echo $ECHO_N "checking whether fpurge is declared... $ECHO_C" >&6; }
+if test "${ac_cv_have_decl_fpurge+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdio.h>
+
+int
+main ()
+{
+#ifndef fpurge
+ char *p = (char *) fpurge;
+ return !p;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_have_decl_fpurge=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_fpurge=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_fpurge" >&5
+echo "${ECHO_T}$ac_cv_have_decl_fpurge" >&6; }
+if test $ac_cv_have_decl_fpurge = yes; then
+
+cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_FPURGE 1
+_ACEOF
+
+
+else
+ cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_FPURGE 0
+_ACEOF
+
+
+fi
+
+
+
{ echo "$as_me:$LINENO: checking to see if getenv can be redefined" >&5
echo $ECHO_N "checking to see if getenv can be redefined... $ECHO_C" >&6; }
if test "${bash_cv_getenv_redef+set}" = set; then
diff --git a/autom4te.cache/requests b/autom4te.cache/requests
index 4e90b52b..2f79940c 100644
--- a/autom4te.cache/requests
+++ b/autom4te.cache/requests
@@ -15,26 +15,26 @@
'configure.in'
],
{
- 'AM_PROG_F77_C_O' => 1,
'_LT_AC_TAGCONFIG' => 1,
+ 'AM_PROG_F77_C_O' => 1,
'm4_pattern_forbid' => 1,
'AC_CANONICAL_TARGET' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
- 'AC_C_VOLATILE' => 1,
'AC_TYPE_OFF_T' => 1,
+ 'AC_C_VOLATILE' => 1,
'AC_FUNC_CLOSEDIR_VOID' => 1,
'AC_REPLACE_FNMATCH' => 1,
'AC_PROG_LIBTOOL' => 1,
'AC_FUNC_STAT' => 1,
- 'AC_FUNC_WAIT3' => 1,
'AC_HEADER_TIME' => 1,
- 'AC_FUNC_LSTAT' => 1,
- 'AC_STRUCT_TM' => 1,
+ 'AC_FUNC_WAIT3' => 1,
'AM_AUTOMAKE_VERSION' => 1,
- 'AC_FUNC_GETMNTENT' => 1,
+ 'AC_STRUCT_TM' => 1,
+ 'AC_FUNC_LSTAT' => 1,
'AC_TYPE_MODE_T' => 1,
- 'AC_CHECK_HEADERS' => 1,
+ 'AC_FUNC_GETMNTENT' => 1,
'AC_FUNC_STRTOD' => 1,
+ 'AC_CHECK_HEADERS' => 1,
'LT_CONFIG_LTDL_DIR' => 1,
'AC_FUNC_STRNLEN' => 1,
'm4_sinclude' => 1,
@@ -52,22 +52,22 @@
'AC_LIBSOURCE' => 1,
'AC_FUNC_MBRTOWC' => 1,
'AC_STRUCT_ST_BLOCKS' => 1,
- 'AC_TYPE_SIGNAL' => 1,
- 'AC_CANONICAL_BUILD' => 1,
'AM_PROG_FC_C_O' => 1,
+ 'AC_CANONICAL_BUILD' => 1,
+ 'AC_TYPE_SIGNAL' => 1,
'AC_TYPE_UID_T' => 1,
- 'AC_PROG_MAKE_SET' => 1,
- 'AC_CONFIG_AUX_DIR' => 1,
'_AM_SUBST_NOTMAKE' => 1,
- 'm4_pattern_allow' => 1,
+ 'AC_CONFIG_AUX_DIR' => 1,
+ 'AC_PROG_MAKE_SET' => 1,
'sinclude' => 1,
+ 'm4_pattern_allow' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'AC_FUNC_STRERROR_R' => 1,
'AC_PROG_CC' => 1,
- 'AC_DECL_SYS_SIGLIST' => 1,
'AC_FUNC_FORK' => 1,
- 'AC_FUNC_STRCOLL' => 1,
+ 'AC_DECL_SYS_SIGLIST' => 1,
'AC_FUNC_VPRINTF' => 1,
+ 'AC_FUNC_STRCOLL' => 1,
'AC_PROG_YACC' => 1,
'AC_SUBST_TRACE' => 1,
'AC_INIT' => 1,
@@ -79,48 +79,48 @@
'AC_CANONICAL_HOST' => 1,
'AC_FUNC_GETPGRP' => 1,
'AC_PROG_RANLIB' => 1,
- 'AM_INIT_AUTOMAKE' => 1,
'AC_FUNC_SETPGRP' => 1,
+ 'AM_INIT_AUTOMAKE' => 1,
'AC_CONFIG_SUBDIRS' => 1,
'AC_FUNC_MMAP' => 1,
'AC_FUNC_REALLOC' => 1,
'AC_TYPE_SIZE_T' => 1,
- 'AC_CHECK_TYPES' => 1,
- 'AC_CONFIG_LINKS' => 1,
'AC_REQUIRE_AUX_FILE' => 1,
+ 'AC_CONFIG_LINKS' => 1,
+ 'AC_CHECK_TYPES' => 1,
'LT_SUPPORTED_TAG' => 1,
'AC_CHECK_MEMBERS' => 1,
'AM_MAINTAINER_MODE' => 1,
'AC_FUNC_UTIME_NULL' => 1,
'AC_FUNC_SELECT_ARGTYPES' => 1,
- 'AC_HEADER_STAT' => 1,
'AC_FUNC_STRFTIME' => 1,
- 'AC_PROG_CPP' => 1,
+ 'AC_HEADER_STAT' => 1,
'AC_C_INLINE' => 1,
- 'AC_PROG_LEX' => 1,
- 'AC_C_CONST' => 1,
+ 'AC_PROG_CPP' => 1,
'AC_TYPE_PID_T' => 1,
+ 'AC_C_CONST' => 1,
+ 'AC_PROG_LEX' => 1,
'AC_CONFIG_FILES' => 1,
'include' => 1,
'AC_FUNC_SETVBUF_REVERSED' => 1,
'AC_PROG_INSTALL' => 1,
'AM_GNU_GETTEXT' => 1,
- 'AC_CHECK_LIB' => 1,
'AC_FUNC_OBSTACK' => 1,
+ 'AC_CHECK_LIB' => 1,
'AC_FUNC_MALLOC' => 1,
'AC_FUNC_GETGROUPS' => 1,
- 'AC_FUNC_GETLOADAVG' => 1,
'AC_FC_FREEFORM' => 1,
+ 'AC_FUNC_GETLOADAVG' => 1,
'AH_OUTPUT' => 1,
'AC_FUNC_FSEEKO' => 1,
'AM_PROG_CC_C_O' => 1,
- 'AC_FUNC_MKTIME' => 1,
- 'AC_CANONICAL_SYSTEM' => 1,
'AM_CONDITIONAL' => 1,
+ 'AC_CANONICAL_SYSTEM' => 1,
+ 'AC_FUNC_MKTIME' => 1,
'AC_CONFIG_HEADERS' => 1,
'AC_HEADER_SYS_WAIT' => 1,
- 'AC_PROG_LN_S' => 1,
'AC_FUNC_MEMCMP' => 1,
+ 'AC_PROG_LN_S' => 1,
'm4_include' => 1,
'AC_HEADER_DIRENT' => 1,
'AC_CHECK_FUNCS' => 1
@@ -140,19 +140,19 @@
{
'm4_pattern_forbid' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
- 'AC_C_VOLATILE' => 1,
'AC_TYPE_OFF_T' => 1,
+ 'AC_C_VOLATILE' => 1,
'AC_FUNC_CLOSEDIR_VOID' => 1,
'AC_REPLACE_FNMATCH' => 1,
'AC_PROG_LIBTOOL' => 1,
'AC_FUNC_STAT' => 1,
- 'AC_FUNC_WAIT3' => 1,
'AC_HEADER_TIME' => 1,
- 'AC_FUNC_LSTAT' => 1,
- 'AC_STRUCT_TM' => 1,
+ 'AC_FUNC_WAIT3' => 1,
'AM_AUTOMAKE_VERSION' => 1,
- 'AC_FUNC_GETMNTENT' => 1,
+ 'AC_STRUCT_TM' => 1,
+ 'AC_FUNC_LSTAT' => 1,
'AC_TYPE_MODE_T' => 1,
+ 'AC_FUNC_GETMNTENT' => 1,
'AC_FUNC_STRTOD' => 1,
'AC_CHECK_HEADERS' => 1,
'AC_FUNC_STRNLEN' => 1,
@@ -171,17 +171,17 @@
'AC_STRUCT_ST_BLOCKS' => 1,
'AC_TYPE_SIGNAL' => 1,
'AC_TYPE_UID_T' => 1,
- 'AC_PROG_MAKE_SET' => 1,
'AC_CONFIG_AUX_DIR' => 1,
- 'm4_pattern_allow' => 1,
+ 'AC_PROG_MAKE_SET' => 1,
'sinclude' => 1,
+ 'm4_pattern_allow' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'AC_FUNC_STRERROR_R' => 1,
'AC_PROG_CC' => 1,
- 'AC_FUNC_FORK' => 1,
'AC_DECL_SYS_SIGLIST' => 1,
- 'AC_FUNC_STRCOLL' => 1,
+ 'AC_FUNC_FORK' => 1,
'AC_FUNC_VPRINTF' => 1,
+ 'AC_FUNC_STRCOLL' => 1,
'AC_PROG_YACC' => 1,
'AC_INIT' => 1,
'AC_STRUCT_TIMEZONE' => 1,
@@ -203,33 +203,33 @@
'AM_MAINTAINER_MODE' => 1,
'AC_FUNC_UTIME_NULL' => 1,
'AC_FUNC_SELECT_ARGTYPES' => 1,
- 'AC_HEADER_STAT' => 1,
'AC_FUNC_STRFTIME' => 1,
- 'AC_PROG_CPP' => 1,
+ 'AC_HEADER_STAT' => 1,
'AC_C_INLINE' => 1,
- 'AC_TYPE_PID_T' => 1,
- 'AC_PROG_LEX' => 1,
+ 'AC_PROG_CPP' => 1,
'AC_C_CONST' => 1,
+ 'AC_PROG_LEX' => 1,
+ 'AC_TYPE_PID_T' => 1,
'AC_CONFIG_FILES' => 1,
'include' => 1,
'AC_FUNC_SETVBUF_REVERSED' => 1,
'AC_PROG_INSTALL' => 1,
'AM_GNU_GETTEXT' => 1,
- 'AC_CHECK_LIB' => 1,
'AC_FUNC_OBSTACK' => 1,
+ 'AC_CHECK_LIB' => 1,
'AC_FUNC_MALLOC' => 1,
'AC_FUNC_GETGROUPS' => 1,
'AC_FUNC_GETLOADAVG' => 1,
'AH_OUTPUT' => 1,
'AC_FUNC_FSEEKO' => 1,
'AM_PROG_CC_C_O' => 1,
- 'AC_FUNC_MKTIME' => 1,
- 'AC_CANONICAL_SYSTEM' => 1,
'AM_CONDITIONAL' => 1,
+ 'AC_CANONICAL_SYSTEM' => 1,
+ 'AC_FUNC_MKTIME' => 1,
'AC_CONFIG_HEADERS' => 1,
'AC_HEADER_SYS_WAIT' => 1,
- 'AC_PROG_LN_S' => 1,
'AC_FUNC_MEMCMP' => 1,
+ 'AC_PROG_LN_S' => 1,
'm4_include' => 1,
'AC_HEADER_DIRENT' => 1,
'AC_CHECK_FUNCS' => 1
diff --git a/autom4te.cache/traces.0 b/autom4te.cache/traces.0
index 709b00af..82d9684c 100644
--- a/autom4te.cache/traces.0
+++ b/autom4te.cache/traces.0
@@ -2217,152 +2217,164 @@ aclocal.m4:685: BASH_FUNC_ULIMIT_MAXFDS is expanded from...
configure.in:895: the top level])
m4trace:configure.in:895: -1- AC_DEFINE_TRACE_LITERAL([ULIMIT_MAXFDS])
m4trace:configure.in:895: -1- m4_pattern_allow([^ULIMIT_MAXFDS$])
-m4trace:configure.in:896: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+m4trace:configure.in:896: -1- AH_OUTPUT([HAVE_FPURGE], [/* Define to 1 if you have the `fpurge\' function. */
+#undef HAVE_FPURGE])
+m4trace:configure.in:896: -1- AC_CHECK_FUNCS([$ac_func_list])
+m4trace:configure.in:896: -1- AH_OUTPUT([HAVE___FPURGE], [/* Define to 1 if you have the `__fpurge\' function. */
+#undef HAVE___FPURGE])
+m4trace:configure.in:896: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_FPURGE])
+m4trace:configure.in:896: -1- m4_pattern_allow([^HAVE_DECL_FPURGE$])
+m4trace:configure.in:896: -1- AH_OUTPUT([HAVE_DECL_FPURGE], [/* Define to 1 if you have the declaration of `fpurge\', and to 0 if you don\'t.
+ */
+#undef HAVE_DECL_FPURGE])
+m4trace:configure.in:896: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_FPURGE])
+m4trace:configure.in:896: -1- m4_pattern_allow([^HAVE_DECL_FPURGE$])
+m4trace:configure.in:897: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
aclocal.m4:606: BASH_FUNC_GETENV is expanded from...
-configure.in:896: the top level])
-m4trace:configure.in:896: -1- AC_DEFINE_TRACE_LITERAL([CAN_REDEFINE_GETENV])
-m4trace:configure.in:896: -1- m4_pattern_allow([^CAN_REDEFINE_GETENV$])
-m4trace:configure.in:898: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.in:897: the top level])
+m4trace:configure.in:897: -1- AC_DEFINE_TRACE_LITERAL([CAN_REDEFINE_GETENV])
+m4trace:configure.in:897: -1- m4_pattern_allow([^CAN_REDEFINE_GETENV$])
+m4trace:configure.in:899: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
aclocal.m4:711: BASH_FUNC_GETCWD is expanded from...
-configure.in:898: the top level])
-m4trace:configure.in:898: -1- AC_DEFINE_TRACE_LITERAL([GETCWD_BROKEN])
-m4trace:configure.in:898: -1- m4_pattern_allow([^GETCWD_BROKEN$])
-m4trace:configure.in:898: -1- AC_LIBSOURCE([getcwd.c])
-m4trace:configure.in:898: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS getcwd.$ac_objext"])
-m4trace:configure.in:898: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:898: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:900: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.in:899: the top level])
+m4trace:configure.in:899: -1- AC_DEFINE_TRACE_LITERAL([GETCWD_BROKEN])
+m4trace:configure.in:899: -1- m4_pattern_allow([^GETCWD_BROKEN$])
+m4trace:configure.in:899: -1- AC_LIBSOURCE([getcwd.c])
+m4trace:configure.in:899: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS getcwd.$ac_objext"])
+m4trace:configure.in:899: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:899: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:901: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
aclocal.m4:812: BASH_FUNC_POSIX_SETJMP is expanded from...
-configure.in:900: the top level])
-m4trace:configure.in:900: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGSETJMP])
-m4trace:configure.in:900: -1- m4_pattern_allow([^HAVE_POSIX_SIGSETJMP$])
-m4trace:configure.in:901: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.in:901: the top level])
+m4trace:configure.in:901: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGSETJMP])
+m4trace:configure.in:901: -1- m4_pattern_allow([^HAVE_POSIX_SIGSETJMP$])
+m4trace:configure.in:902: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
aclocal.m4:861: BASH_FUNC_STRCOLL is expanded from...
-configure.in:901: the top level])
-m4trace:configure.in:901: -1- AC_DEFINE_TRACE_LITERAL([STRCOLL_BROKEN])
-m4trace:configure.in:901: -1- m4_pattern_allow([^STRCOLL_BROKEN$])
-m4trace:configure.in:907: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.in:902: the top level])
+m4trace:configure.in:902: -1- AC_DEFINE_TRACE_LITERAL([STRCOLL_BROKEN])
+m4trace:configure.in:902: -1- m4_pattern_allow([^STRCOLL_BROKEN$])
+m4trace:configure.in:908: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
aclocal.m4:636: BASH_FUNC_STD_PUTENV is expanded from...
-configure.in:907: the top level])
-m4trace:configure.in:907: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
-m4trace:configure.in:907: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
-m4trace:configure.in:909: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
-m4trace:configure.in:909: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
-m4trace:configure.in:912: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.in:908: the top level])
+m4trace:configure.in:908: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
+m4trace:configure.in:908: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
+m4trace:configure.in:910: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
+m4trace:configure.in:910: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
+m4trace:configure.in:913: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
You should run autoupdate.], [autoconf/general.m4:2426: AC_TRY_LINK is expanded from...
../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
autoconf/general.m4:1935: AC_CACHE_CHECK is expanded from...
aclocal.m4:666: BASH_FUNC_STD_UNSETENV is expanded from...
-configure.in:912: the top level])
-m4trace:configure.in:912: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
-m4trace:configure.in:912: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
-m4trace:configure.in:914: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
-m4trace:configure.in:914: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
-m4trace:configure.in:917: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.in:913: the top level])
+m4trace:configure.in:913: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
+m4trace:configure.in:913: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
+m4trace:configure.in:915: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
+m4trace:configure.in:915: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
+m4trace:configure.in:918: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
aclocal.m4:887: BASH_FUNC_PRINTF_A_FORMAT is expanded from...
-configure.in:917: the top level])
-m4trace:configure.in:917: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PRINTF_A_FORMAT])
-m4trace:configure.in:917: -1- m4_pattern_allow([^HAVE_PRINTF_A_FORMAT$])
-m4trace:configure.in:920: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.in:918: the top level])
+m4trace:configure.in:918: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PRINTF_A_FORMAT])
+m4trace:configure.in:918: -1- m4_pattern_allow([^HAVE_PRINTF_A_FORMAT$])
+m4trace:configure.in:921: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
aclocal.m4:1338: BASH_SYS_REINSTALL_SIGHANDLERS is expanded from...
-configure.in:920: the top level])
-m4trace:configure.in:920: -1- AC_DEFINE_TRACE_LITERAL([MUST_REINSTALL_SIGHANDLERS])
-m4trace:configure.in:920: -1- m4_pattern_allow([^MUST_REINSTALL_SIGHANDLERS$])
-m4trace:configure.in:921: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.in:921: the top level])
+m4trace:configure.in:921: -1- AC_DEFINE_TRACE_LITERAL([MUST_REINSTALL_SIGHANDLERS])
+m4trace:configure.in:921: -1- m4_pattern_allow([^MUST_REINSTALL_SIGHANDLERS$])
+m4trace:configure.in:922: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
aclocal.m4:1396: BASH_SYS_JOB_CONTROL_MISSING is expanded from...
-configure.in:921: the top level])
-m4trace:configure.in:921: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL_MISSING])
-m4trace:configure.in:921: -1- m4_pattern_allow([^JOB_CONTROL_MISSING$])
-m4trace:configure.in:922: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.in:922: the top level])
+m4trace:configure.in:922: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL_MISSING])
+m4trace:configure.in:922: -1- m4_pattern_allow([^JOB_CONTROL_MISSING$])
+m4trace:configure.in:923: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
aclocal.m4:1448: BASH_SYS_NAMED_PIPES is expanded from...
-configure.in:922: the top level])
-m4trace:configure.in:922: -1- AC_DEFINE_TRACE_LITERAL([NAMED_PIPES_MISSING])
-m4trace:configure.in:922: -1- m4_pattern_allow([^NAMED_PIPES_MISSING$])
-m4trace:configure.in:925: -1- AC_DEFINE_TRACE_LITERAL([GWINSZ_IN_SYS_IOCTL])
-m4trace:configure.in:925: -1- m4_pattern_allow([^GWINSZ_IN_SYS_IOCTL$])
-m4trace:configure.in:925: -1- AH_OUTPUT([GWINSZ_IN_SYS_IOCTL], [/* Define to 1 if `TIOCGWINSZ\' requires <sys/ioctl.h>. */
+configure.in:923: the top level])
+m4trace:configure.in:923: -1- AC_DEFINE_TRACE_LITERAL([NAMED_PIPES_MISSING])
+m4trace:configure.in:923: -1- m4_pattern_allow([^NAMED_PIPES_MISSING$])
+m4trace:configure.in:926: -1- AC_DEFINE_TRACE_LITERAL([GWINSZ_IN_SYS_IOCTL])
+m4trace:configure.in:926: -1- m4_pattern_allow([^GWINSZ_IN_SYS_IOCTL$])
+m4trace:configure.in:926: -1- AH_OUTPUT([GWINSZ_IN_SYS_IOCTL], [/* Define to 1 if `TIOCGWINSZ\' requires <sys/ioctl.h>. */
#undef GWINSZ_IN_SYS_IOCTL])
-m4trace:configure.in:926: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+m4trace:configure.in:927: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
aclocal.m4:1491: BASH_HAVE_TIOCSTAT is expanded from...
-configure.in:926: the top level])
-m4trace:configure.in:926: -1- AC_DEFINE_TRACE_LITERAL([TIOCSTAT_IN_SYS_IOCTL])
-m4trace:configure.in:926: -1- m4_pattern_allow([^TIOCSTAT_IN_SYS_IOCTL$])
-m4trace:configure.in:927: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.in:927: the top level])
+m4trace:configure.in:927: -1- AC_DEFINE_TRACE_LITERAL([TIOCSTAT_IN_SYS_IOCTL])
+m4trace:configure.in:927: -1- m4_pattern_allow([^TIOCSTAT_IN_SYS_IOCTL$])
+m4trace:configure.in:928: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
aclocal.m4:1503: BASH_HAVE_FIONREAD is expanded from...
-configure.in:927: the top level])
-m4trace:configure.in:927: -1- AC_DEFINE_TRACE_LITERAL([FIONREAD_IN_SYS_IOCTL])
-m4trace:configure.in:927: -1- m4_pattern_allow([^FIONREAD_IN_SYS_IOCTL$])
-m4trace:configure.in:929: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.in:928: the top level])
+m4trace:configure.in:928: -1- AC_DEFINE_TRACE_LITERAL([FIONREAD_IN_SYS_IOCTL])
+m4trace:configure.in:928: -1- m4_pattern_allow([^FIONREAD_IN_SYS_IOCTL$])
+m4trace:configure.in:930: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
aclocal.m4:1939: BASH_CHECK_WCONTINUED is expanded from...
-configure.in:929: the top level])
-m4trace:configure.in:929: -1- AC_DEFINE_TRACE_LITERAL([WCONTINUED_BROKEN])
-m4trace:configure.in:929: -1- m4_pattern_allow([^WCONTINUED_BROKEN$])
-m4trace:configure.in:932: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.in:930: the top level])
+m4trace:configure.in:930: -1- AC_DEFINE_TRACE_LITERAL([WCONTINUED_BROKEN])
+m4trace:configure.in:930: -1- m4_pattern_allow([^WCONTINUED_BROKEN$])
+m4trace:configure.in:933: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
aclocal.m4:1520: BASH_CHECK_SPEED_T is expanded from...
-configure.in:932: the top level])
-m4trace:configure.in:932: -1- AC_DEFINE_TRACE_LITERAL([SPEED_T_IN_SYS_TYPES])
-m4trace:configure.in:932: -1- m4_pattern_allow([^SPEED_T_IN_SYS_TYPES$])
-m4trace:configure.in:933: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPW_DECLS])
-m4trace:configure.in:933: -1- m4_pattern_allow([^HAVE_GETPW_DECLS$])
-m4trace:configure.in:934: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+configure.in:933: the top level])
+m4trace:configure.in:933: -1- AC_DEFINE_TRACE_LITERAL([SPEED_T_IN_SYS_TYPES])
+m4trace:configure.in:933: -1- m4_pattern_allow([^SPEED_T_IN_SYS_TYPES$])
+m4trace:configure.in:934: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPW_DECLS])
+m4trace:configure.in:934: -1- m4_pattern_allow([^HAVE_GETPW_DECLS$])
+m4trace:configure.in:935: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
You should run autoupdate.], [autoconf/general.m4:2490: AC_TRY_RUN is expanded from...
../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
aclocal.m4:1667: BASH_CHECK_RTSIGS is expanded from...
-configure.in:934: the top level])
-m4trace:configure.in:934: -1- AC_DEFINE_TRACE_LITERAL([UNUSABLE_RT_SIGNALS])
-m4trace:configure.in:934: -1- m4_pattern_allow([^UNUSABLE_RT_SIGNALS$])
-m4trace:configure.in:935: -1- AC_SUBST([SIGLIST_O])
-m4trace:configure.in:935: -1- AC_SUBST_TRACE([SIGLIST_O])
-m4trace:configure.in:935: -1- m4_pattern_allow([^SIGLIST_O$])
-m4trace:configure.in:939: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.in:935: the top level])
+m4trace:configure.in:935: -1- AC_DEFINE_TRACE_LITERAL([UNUSABLE_RT_SIGNALS])
+m4trace:configure.in:935: -1- m4_pattern_allow([^UNUSABLE_RT_SIGNALS$])
+m4trace:configure.in:936: -1- AC_SUBST([SIGLIST_O])
+m4trace:configure.in:936: -1- AC_SUBST_TRACE([SIGLIST_O])
+m4trace:configure.in:936: -1- m4_pattern_allow([^SIGLIST_O$])
+m4trace:configure.in:940: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
aclocal.m4:1616: BASH_CHECK_KERNEL_RLIMIT is expanded from...
-configure.in:939: the top level])
-m4trace:configure.in:939: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+configure.in:940: the top level])
+m4trace:configure.in:940: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
autoconf/general.m4:2377: AC_COMPILE_IFELSE is expanded from...
@@ -2370,149 +2382,149 @@ autoconf/general.m4:2384: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:519: AS_IF is expanded from...
autoconf/general.m4:1922: AC_CACHE_VAL is expanded from...
aclocal.m4:1616: BASH_CHECK_KERNEL_RLIMIT is expanded from...
-configure.in:939: the top level])
-m4trace:configure.in:939: -1- AC_DEFINE_TRACE_LITERAL([RLIMIT_NEEDS_KERNEL])
-m4trace:configure.in:939: -1- m4_pattern_allow([^RLIMIT_NEEDS_KERNEL$])
-m4trace:configure.in:947: -1- AC_CHECK_LIB([termcap], [tgetent], [bash_cv_termcap_lib=libtermcap], [AC_CHECK_LIB(tinfo, tgetent, bash_cv_termcap_lib=libtinfo,
+configure.in:940: the top level])
+m4trace:configure.in:940: -1- AC_DEFINE_TRACE_LITERAL([RLIMIT_NEEDS_KERNEL])
+m4trace:configure.in:940: -1- m4_pattern_allow([^RLIMIT_NEEDS_KERNEL$])
+m4trace:configure.in:948: -1- AC_CHECK_LIB([termcap], [tgetent], [bash_cv_termcap_lib=libtermcap], [AC_CHECK_LIB(tinfo, tgetent, bash_cv_termcap_lib=libtinfo,
[AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses,
[AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
bash_cv_termcap_lib=gnutermcap)])])])
-m4trace:configure.in:947: -1- AC_CHECK_LIB([tinfo], [tgetent], [bash_cv_termcap_lib=libtinfo], [AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses,
+m4trace:configure.in:948: -1- AC_CHECK_LIB([tinfo], [tgetent], [bash_cv_termcap_lib=libtinfo], [AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses,
[AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
bash_cv_termcap_lib=gnutermcap)])])
-m4trace:configure.in:947: -1- AC_CHECK_LIB([curses], [tgetent], [bash_cv_termcap_lib=libcurses], [AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
+m4trace:configure.in:948: -1- AC_CHECK_LIB([curses], [tgetent], [bash_cv_termcap_lib=libcurses], [AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
bash_cv_termcap_lib=gnutermcap)])
-m4trace:configure.in:947: -1- AC_CHECK_LIB([ncurses], [tgetent], [bash_cv_termcap_lib=libncurses], [bash_cv_termcap_lib=gnutermcap])
-m4trace:configure.in:949: -1- AC_SUBST([TERMCAP_LIB])
-m4trace:configure.in:949: -1- AC_SUBST_TRACE([TERMCAP_LIB])
-m4trace:configure.in:949: -1- m4_pattern_allow([^TERMCAP_LIB$])
-m4trace:configure.in:950: -1- AC_SUBST([TERMCAP_DEP])
-m4trace:configure.in:950: -1- AC_SUBST_TRACE([TERMCAP_DEP])
-m4trace:configure.in:950: -1- m4_pattern_allow([^TERMCAP_DEP$])
-m4trace:configure.in:952: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
-m4trace:configure.in:952: -1- m4_pattern_allow([^HAVE_DEV_FD$])
-m4trace:configure.in:952: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
-m4trace:configure.in:952: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
-m4trace:configure.in:952: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
-m4trace:configure.in:952: -1- m4_pattern_allow([^HAVE_DEV_FD$])
-m4trace:configure.in:952: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
-m4trace:configure.in:952: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
-m4trace:configure.in:953: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_STDIN])
-m4trace:configure.in:953: -1- m4_pattern_allow([^HAVE_DEV_STDIN$])
-m4trace:configure.in:954: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_MAIL_DIRECTORY])
-m4trace:configure.in:954: -1- m4_pattern_allow([^DEFAULT_MAIL_DIRECTORY$])
-m4trace:configure.in:961: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL])
-m4trace:configure.in:961: -1- m4_pattern_allow([^JOB_CONTROL$])
-m4trace:configure.in:967: -1- AC_SUBST([JOBS_O])
-m4trace:configure.in:967: -1- AC_SUBST_TRACE([JOBS_O])
-m4trace:configure.in:967: -1- m4_pattern_allow([^JOBS_O$])
-m4trace:configure.in:980: -1- AC_DEFINE_TRACE_LITERAL([SVR4_2])
-m4trace:configure.in:980: -1- m4_pattern_allow([^SVR4_2$])
-m4trace:configure.in:981: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
-m4trace:configure.in:981: -1- m4_pattern_allow([^SVR4$])
+m4trace:configure.in:948: -1- AC_CHECK_LIB([ncurses], [tgetent], [bash_cv_termcap_lib=libncurses], [bash_cv_termcap_lib=gnutermcap])
+m4trace:configure.in:950: -1- AC_SUBST([TERMCAP_LIB])
+m4trace:configure.in:950: -1- AC_SUBST_TRACE([TERMCAP_LIB])
+m4trace:configure.in:950: -1- m4_pattern_allow([^TERMCAP_LIB$])
+m4trace:configure.in:951: -1- AC_SUBST([TERMCAP_DEP])
+m4trace:configure.in:951: -1- AC_SUBST_TRACE([TERMCAP_DEP])
+m4trace:configure.in:951: -1- m4_pattern_allow([^TERMCAP_DEP$])
+m4trace:configure.in:953: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
+m4trace:configure.in:953: -1- m4_pattern_allow([^HAVE_DEV_FD$])
+m4trace:configure.in:953: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
+m4trace:configure.in:953: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
+m4trace:configure.in:953: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
+m4trace:configure.in:953: -1- m4_pattern_allow([^HAVE_DEV_FD$])
+m4trace:configure.in:953: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
+m4trace:configure.in:953: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
+m4trace:configure.in:954: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_STDIN])
+m4trace:configure.in:954: -1- m4_pattern_allow([^HAVE_DEV_STDIN$])
+m4trace:configure.in:955: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_MAIL_DIRECTORY])
+m4trace:configure.in:955: -1- m4_pattern_allow([^DEFAULT_MAIL_DIRECTORY$])
+m4trace:configure.in:962: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL])
+m4trace:configure.in:962: -1- m4_pattern_allow([^JOB_CONTROL$])
+m4trace:configure.in:968: -1- AC_SUBST([JOBS_O])
+m4trace:configure.in:968: -1- AC_SUBST_TRACE([JOBS_O])
+m4trace:configure.in:968: -1- m4_pattern_allow([^JOBS_O$])
+m4trace:configure.in:981: -1- AC_DEFINE_TRACE_LITERAL([SVR4_2])
+m4trace:configure.in:981: -1- m4_pattern_allow([^SVR4_2$])
m4trace:configure.in:982: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
m4trace:configure.in:982: -1- m4_pattern_allow([^SVR4$])
-m4trace:configure.in:983: -1- AC_DEFINE_TRACE_LITERAL([SVR5])
-m4trace:configure.in:983: -1- m4_pattern_allow([^SVR5$])
-m4trace:configure.in:999: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
-m4trace:configure.in:999: -1- m4_pattern_allow([^PGRP_PIPE$])
-m4trace:configure.in:1046: -1- AC_SUBST([SHOBJ_CC])
-m4trace:configure.in:1046: -1- AC_SUBST_TRACE([SHOBJ_CC])
-m4trace:configure.in:1046: -1- m4_pattern_allow([^SHOBJ_CC$])
-m4trace:configure.in:1047: -1- AC_SUBST([SHOBJ_CFLAGS])
-m4trace:configure.in:1047: -1- AC_SUBST_TRACE([SHOBJ_CFLAGS])
-m4trace:configure.in:1047: -1- m4_pattern_allow([^SHOBJ_CFLAGS$])
-m4trace:configure.in:1048: -1- AC_SUBST([SHOBJ_LD])
-m4trace:configure.in:1048: -1- AC_SUBST_TRACE([SHOBJ_LD])
-m4trace:configure.in:1048: -1- m4_pattern_allow([^SHOBJ_LD$])
-m4trace:configure.in:1049: -1- AC_SUBST([SHOBJ_LDFLAGS])
-m4trace:configure.in:1049: -1- AC_SUBST_TRACE([SHOBJ_LDFLAGS])
-m4trace:configure.in:1049: -1- m4_pattern_allow([^SHOBJ_LDFLAGS$])
-m4trace:configure.in:1050: -1- AC_SUBST([SHOBJ_XLDFLAGS])
-m4trace:configure.in:1050: -1- AC_SUBST_TRACE([SHOBJ_XLDFLAGS])
-m4trace:configure.in:1050: -1- m4_pattern_allow([^SHOBJ_XLDFLAGS$])
-m4trace:configure.in:1051: -1- AC_SUBST([SHOBJ_LIBS])
-m4trace:configure.in:1051: -1- AC_SUBST_TRACE([SHOBJ_LIBS])
-m4trace:configure.in:1051: -1- m4_pattern_allow([^SHOBJ_LIBS$])
-m4trace:configure.in:1052: -1- AC_SUBST([SHOBJ_STATUS])
-m4trace:configure.in:1052: -1- AC_SUBST_TRACE([SHOBJ_STATUS])
-m4trace:configure.in:1052: -1- m4_pattern_allow([^SHOBJ_STATUS$])
-m4trace:configure.in:1084: -1- AC_SUBST([PROFILE_FLAGS])
-m4trace:configure.in:1084: -1- AC_SUBST_TRACE([PROFILE_FLAGS])
-m4trace:configure.in:1084: -1- m4_pattern_allow([^PROFILE_FLAGS$])
-m4trace:configure.in:1086: -1- AC_SUBST([incdir])
-m4trace:configure.in:1086: -1- AC_SUBST_TRACE([incdir])
-m4trace:configure.in:1086: -1- m4_pattern_allow([^incdir$])
-m4trace:configure.in:1087: -1- AC_SUBST([BUILD_DIR])
-m4trace:configure.in:1087: -1- AC_SUBST_TRACE([BUILD_DIR])
-m4trace:configure.in:1087: -1- m4_pattern_allow([^BUILD_DIR$])
-m4trace:configure.in:1090: -1- AC_SUBST([datarootdir])
-m4trace:configure.in:1090: -1- AC_SUBST_TRACE([datarootdir])
-m4trace:configure.in:1090: -1- m4_pattern_allow([^datarootdir$])
-m4trace:configure.in:1091: -1- AC_SUBST([localedir])
-m4trace:configure.in:1091: -1- AC_SUBST_TRACE([localedir])
-m4trace:configure.in:1091: -1- m4_pattern_allow([^localedir$])
-m4trace:configure.in:1093: -1- AC_SUBST([YACC])
-m4trace:configure.in:1093: -1- AC_SUBST_TRACE([YACC])
-m4trace:configure.in:1093: -1- m4_pattern_allow([^YACC$])
-m4trace:configure.in:1094: -1- AC_SUBST([AR])
-m4trace:configure.in:1094: -1- AC_SUBST_TRACE([AR])
-m4trace:configure.in:1094: -1- m4_pattern_allow([^AR$])
-m4trace:configure.in:1095: -1- AC_SUBST([ARFLAGS])
-m4trace:configure.in:1095: -1- AC_SUBST_TRACE([ARFLAGS])
-m4trace:configure.in:1095: -1- m4_pattern_allow([^ARFLAGS$])
-m4trace:configure.in:1097: -1- AC_SUBST([BASHVERS])
-m4trace:configure.in:1097: -1- AC_SUBST_TRACE([BASHVERS])
-m4trace:configure.in:1097: -1- m4_pattern_allow([^BASHVERS$])
-m4trace:configure.in:1098: -1- AC_SUBST([RELSTATUS])
-m4trace:configure.in:1098: -1- AC_SUBST_TRACE([RELSTATUS])
-m4trace:configure.in:1098: -1- m4_pattern_allow([^RELSTATUS$])
-m4trace:configure.in:1099: -1- AC_SUBST([DEBUG])
-m4trace:configure.in:1099: -1- AC_SUBST_TRACE([DEBUG])
-m4trace:configure.in:1099: -1- m4_pattern_allow([^DEBUG$])
-m4trace:configure.in:1100: -1- AC_SUBST([MALLOC_DEBUG])
-m4trace:configure.in:1100: -1- AC_SUBST_TRACE([MALLOC_DEBUG])
-m4trace:configure.in:1100: -1- m4_pattern_allow([^MALLOC_DEBUG$])
-m4trace:configure.in:1102: -1- AC_SUBST([host_cpu])
-m4trace:configure.in:1102: -1- AC_SUBST_TRACE([host_cpu])
-m4trace:configure.in:1102: -1- m4_pattern_allow([^host_cpu$])
-m4trace:configure.in:1103: -1- AC_SUBST([host_vendor])
-m4trace:configure.in:1103: -1- AC_SUBST_TRACE([host_vendor])
-m4trace:configure.in:1103: -1- m4_pattern_allow([^host_vendor$])
-m4trace:configure.in:1104: -1- AC_SUBST([host_os])
-m4trace:configure.in:1104: -1- AC_SUBST_TRACE([host_os])
-m4trace:configure.in:1104: -1- m4_pattern_allow([^host_os$])
-m4trace:configure.in:1106: -1- AC_SUBST([LOCAL_LIBS])
-m4trace:configure.in:1106: -1- AC_SUBST_TRACE([LOCAL_LIBS])
-m4trace:configure.in:1106: -1- m4_pattern_allow([^LOCAL_LIBS$])
-m4trace:configure.in:1107: -1- AC_SUBST([LOCAL_CFLAGS])
-m4trace:configure.in:1107: -1- AC_SUBST_TRACE([LOCAL_CFLAGS])
-m4trace:configure.in:1107: -1- m4_pattern_allow([^LOCAL_CFLAGS$])
-m4trace:configure.in:1108: -1- AC_SUBST([LOCAL_LDFLAGS])
-m4trace:configure.in:1108: -1- AC_SUBST_TRACE([LOCAL_LDFLAGS])
-m4trace:configure.in:1108: -1- m4_pattern_allow([^LOCAL_LDFLAGS$])
-m4trace:configure.in:1109: -1- AC_SUBST([LOCAL_DEFS])
-m4trace:configure.in:1109: -1- AC_SUBST_TRACE([LOCAL_DEFS])
-m4trace:configure.in:1109: -1- m4_pattern_allow([^LOCAL_DEFS$])
-m4trace:configure.in:1122: -1- AC_CONFIG_FILES([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
+m4trace:configure.in:983: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
+m4trace:configure.in:983: -1- m4_pattern_allow([^SVR4$])
+m4trace:configure.in:984: -1- AC_DEFINE_TRACE_LITERAL([SVR5])
+m4trace:configure.in:984: -1- m4_pattern_allow([^SVR5$])
+m4trace:configure.in:1000: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
+m4trace:configure.in:1000: -1- m4_pattern_allow([^PGRP_PIPE$])
+m4trace:configure.in:1047: -1- AC_SUBST([SHOBJ_CC])
+m4trace:configure.in:1047: -1- AC_SUBST_TRACE([SHOBJ_CC])
+m4trace:configure.in:1047: -1- m4_pattern_allow([^SHOBJ_CC$])
+m4trace:configure.in:1048: -1- AC_SUBST([SHOBJ_CFLAGS])
+m4trace:configure.in:1048: -1- AC_SUBST_TRACE([SHOBJ_CFLAGS])
+m4trace:configure.in:1048: -1- m4_pattern_allow([^SHOBJ_CFLAGS$])
+m4trace:configure.in:1049: -1- AC_SUBST([SHOBJ_LD])
+m4trace:configure.in:1049: -1- AC_SUBST_TRACE([SHOBJ_LD])
+m4trace:configure.in:1049: -1- m4_pattern_allow([^SHOBJ_LD$])
+m4trace:configure.in:1050: -1- AC_SUBST([SHOBJ_LDFLAGS])
+m4trace:configure.in:1050: -1- AC_SUBST_TRACE([SHOBJ_LDFLAGS])
+m4trace:configure.in:1050: -1- m4_pattern_allow([^SHOBJ_LDFLAGS$])
+m4trace:configure.in:1051: -1- AC_SUBST([SHOBJ_XLDFLAGS])
+m4trace:configure.in:1051: -1- AC_SUBST_TRACE([SHOBJ_XLDFLAGS])
+m4trace:configure.in:1051: -1- m4_pattern_allow([^SHOBJ_XLDFLAGS$])
+m4trace:configure.in:1052: -1- AC_SUBST([SHOBJ_LIBS])
+m4trace:configure.in:1052: -1- AC_SUBST_TRACE([SHOBJ_LIBS])
+m4trace:configure.in:1052: -1- m4_pattern_allow([^SHOBJ_LIBS$])
+m4trace:configure.in:1053: -1- AC_SUBST([SHOBJ_STATUS])
+m4trace:configure.in:1053: -1- AC_SUBST_TRACE([SHOBJ_STATUS])
+m4trace:configure.in:1053: -1- m4_pattern_allow([^SHOBJ_STATUS$])
+m4trace:configure.in:1085: -1- AC_SUBST([PROFILE_FLAGS])
+m4trace:configure.in:1085: -1- AC_SUBST_TRACE([PROFILE_FLAGS])
+m4trace:configure.in:1085: -1- m4_pattern_allow([^PROFILE_FLAGS$])
+m4trace:configure.in:1087: -1- AC_SUBST([incdir])
+m4trace:configure.in:1087: -1- AC_SUBST_TRACE([incdir])
+m4trace:configure.in:1087: -1- m4_pattern_allow([^incdir$])
+m4trace:configure.in:1088: -1- AC_SUBST([BUILD_DIR])
+m4trace:configure.in:1088: -1- AC_SUBST_TRACE([BUILD_DIR])
+m4trace:configure.in:1088: -1- m4_pattern_allow([^BUILD_DIR$])
+m4trace:configure.in:1091: -1- AC_SUBST([datarootdir])
+m4trace:configure.in:1091: -1- AC_SUBST_TRACE([datarootdir])
+m4trace:configure.in:1091: -1- m4_pattern_allow([^datarootdir$])
+m4trace:configure.in:1092: -1- AC_SUBST([localedir])
+m4trace:configure.in:1092: -1- AC_SUBST_TRACE([localedir])
+m4trace:configure.in:1092: -1- m4_pattern_allow([^localedir$])
+m4trace:configure.in:1094: -1- AC_SUBST([YACC])
+m4trace:configure.in:1094: -1- AC_SUBST_TRACE([YACC])
+m4trace:configure.in:1094: -1- m4_pattern_allow([^YACC$])
+m4trace:configure.in:1095: -1- AC_SUBST([AR])
+m4trace:configure.in:1095: -1- AC_SUBST_TRACE([AR])
+m4trace:configure.in:1095: -1- m4_pattern_allow([^AR$])
+m4trace:configure.in:1096: -1- AC_SUBST([ARFLAGS])
+m4trace:configure.in:1096: -1- AC_SUBST_TRACE([ARFLAGS])
+m4trace:configure.in:1096: -1- m4_pattern_allow([^ARFLAGS$])
+m4trace:configure.in:1098: -1- AC_SUBST([BASHVERS])
+m4trace:configure.in:1098: -1- AC_SUBST_TRACE([BASHVERS])
+m4trace:configure.in:1098: -1- m4_pattern_allow([^BASHVERS$])
+m4trace:configure.in:1099: -1- AC_SUBST([RELSTATUS])
+m4trace:configure.in:1099: -1- AC_SUBST_TRACE([RELSTATUS])
+m4trace:configure.in:1099: -1- m4_pattern_allow([^RELSTATUS$])
+m4trace:configure.in:1100: -1- AC_SUBST([DEBUG])
+m4trace:configure.in:1100: -1- AC_SUBST_TRACE([DEBUG])
+m4trace:configure.in:1100: -1- m4_pattern_allow([^DEBUG$])
+m4trace:configure.in:1101: -1- AC_SUBST([MALLOC_DEBUG])
+m4trace:configure.in:1101: -1- AC_SUBST_TRACE([MALLOC_DEBUG])
+m4trace:configure.in:1101: -1- m4_pattern_allow([^MALLOC_DEBUG$])
+m4trace:configure.in:1103: -1- AC_SUBST([host_cpu])
+m4trace:configure.in:1103: -1- AC_SUBST_TRACE([host_cpu])
+m4trace:configure.in:1103: -1- m4_pattern_allow([^host_cpu$])
+m4trace:configure.in:1104: -1- AC_SUBST([host_vendor])
+m4trace:configure.in:1104: -1- AC_SUBST_TRACE([host_vendor])
+m4trace:configure.in:1104: -1- m4_pattern_allow([^host_vendor$])
+m4trace:configure.in:1105: -1- AC_SUBST([host_os])
+m4trace:configure.in:1105: -1- AC_SUBST_TRACE([host_os])
+m4trace:configure.in:1105: -1- m4_pattern_allow([^host_os$])
+m4trace:configure.in:1107: -1- AC_SUBST([LOCAL_LIBS])
+m4trace:configure.in:1107: -1- AC_SUBST_TRACE([LOCAL_LIBS])
+m4trace:configure.in:1107: -1- m4_pattern_allow([^LOCAL_LIBS$])
+m4trace:configure.in:1108: -1- AC_SUBST([LOCAL_CFLAGS])
+m4trace:configure.in:1108: -1- AC_SUBST_TRACE([LOCAL_CFLAGS])
+m4trace:configure.in:1108: -1- m4_pattern_allow([^LOCAL_CFLAGS$])
+m4trace:configure.in:1109: -1- AC_SUBST([LOCAL_LDFLAGS])
+m4trace:configure.in:1109: -1- AC_SUBST_TRACE([LOCAL_LDFLAGS])
+m4trace:configure.in:1109: -1- m4_pattern_allow([^LOCAL_LDFLAGS$])
+m4trace:configure.in:1110: -1- AC_SUBST([LOCAL_DEFS])
+m4trace:configure.in:1110: -1- AC_SUBST_TRACE([LOCAL_DEFS])
+m4trace:configure.in:1110: -1- m4_pattern_allow([^LOCAL_DEFS$])
+m4trace:configure.in:1123: -1- AC_CONFIG_FILES([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
lib/intl/Makefile \
lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \
lib/tilde/Makefile doc/Makefile support/Makefile po/Makefile.in \
examples/loadables/Makefile examples/loadables/perl/Makefile])
-m4trace:configure.in:1122: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
+m4trace:configure.in:1123: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
You should run autoupdate.], [])
-m4trace:configure.in:1122: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
-m4trace:configure.in:1122: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:1122: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:1122: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
-m4trace:configure.in:1122: -1- AC_SUBST_TRACE([LTLIBOBJS])
-m4trace:configure.in:1122: -1- m4_pattern_allow([^LTLIBOBJS$])
-m4trace:configure.in:1122: -1- AC_SUBST_TRACE([top_builddir])
-m4trace:configure.in:1122: -1- AC_SUBST_TRACE([srcdir])
-m4trace:configure.in:1122: -1- AC_SUBST_TRACE([abs_srcdir])
-m4trace:configure.in:1122: -1- AC_SUBST_TRACE([top_srcdir])
-m4trace:configure.in:1122: -1- AC_SUBST_TRACE([abs_top_srcdir])
-m4trace:configure.in:1122: -1- AC_SUBST_TRACE([builddir])
-m4trace:configure.in:1122: -1- AC_SUBST_TRACE([abs_builddir])
-m4trace:configure.in:1122: -1- AC_SUBST_TRACE([abs_top_builddir])
-m4trace:configure.in:1122: -1- AC_SUBST_TRACE([INSTALL])
+m4trace:configure.in:1123: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
+m4trace:configure.in:1123: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:1123: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:1123: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
+m4trace:configure.in:1123: -1- AC_SUBST_TRACE([LTLIBOBJS])
+m4trace:configure.in:1123: -1- m4_pattern_allow([^LTLIBOBJS$])
+m4trace:configure.in:1123: -1- AC_SUBST_TRACE([top_builddir])
+m4trace:configure.in:1123: -1- AC_SUBST_TRACE([srcdir])
+m4trace:configure.in:1123: -1- AC_SUBST_TRACE([abs_srcdir])
+m4trace:configure.in:1123: -1- AC_SUBST_TRACE([top_srcdir])
+m4trace:configure.in:1123: -1- AC_SUBST_TRACE([abs_top_srcdir])
+m4trace:configure.in:1123: -1- AC_SUBST_TRACE([builddir])
+m4trace:configure.in:1123: -1- AC_SUBST_TRACE([abs_builddir])
+m4trace:configure.in:1123: -1- AC_SUBST_TRACE([abs_top_builddir])
+m4trace:configure.in:1123: -1- AC_SUBST_TRACE([INSTALL])
diff --git a/builtins/common.c b/builtins/common.c
index fbf3f300..8f047ce5 100644
--- a/builtins/common.c
+++ b/builtins/common.c
@@ -42,6 +42,8 @@
#include "../bashansi.h"
#include "../bashintl.h"
+#define NEED_FPURGE_DECL
+
#include "../shell.h"
#include "maxpath.h"
#include "../flags.h"
@@ -282,6 +284,9 @@ sh_notbuiltin (s)
void
sh_wrerror ()
{
+#if defined (DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS) && defined (EPIPE)
+ if (errno != EPIPE)
+#endif /* DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS && EPIPE */
builtin_error (_("write error: %s"), strerror (errno));
}
@@ -292,6 +297,7 @@ sh_chkwrite (s)
if (ferror (stdout))
{
sh_wrerror ();
+ fpurge (stdout);
clearerr (stdout);
return (EXECUTION_FAILURE);
}
diff --git a/builtins/common.c~ b/builtins/common.c~
index b5842956..95c2f6a4 100644
--- a/builtins/common.c~
+++ b/builtins/common.c~
@@ -42,6 +42,8 @@
#include "../bashansi.h"
#include "../bashintl.h"
+#define NEED_FPURGE_DECL
+
#include "../shell.h"
#include "maxpath.h"
#include "../flags.h"
@@ -131,6 +133,7 @@ no_args (list)
if (list)
{
builtin_error (_("too many arguments"));
+ top_level_cleanup ();
jump_to_top_level (DISCARD);
}
}
@@ -198,7 +201,15 @@ void
sh_invalidnum (s)
char *s;
{
- builtin_error (_("%s: invalid number"), s);
+ char *msg;
+
+ if (*s == '0' && isdigit (s[1]))
+ msg = _("invalid octal number");
+ else if (*s == '0' && s[1] == 'x')
+ msg = _("invalid hex number");
+ else
+ msg = _("invalid number");
+ builtin_error ("%s: %s", s, msg);
}
void
@@ -276,6 +287,20 @@ sh_wrerror ()
builtin_error (_("write error: %s"), strerror (errno));
}
+int
+sh_chkwrite (s)
+{
+ fflush (stdout);
+ if (ferror (stdout))
+ {
+ sh_wrerror ();
+ fpurge (stdout);
+ clearerr (stdout);
+ return (EXECUTION_FAILURE);
+ }
+ return (s);
+}
+
/* **************************************************************** */
/* */
/* Shell positional parameter manipulation */
diff --git a/config-top.h b/config-top.h
index 0fdd403c..26ea0403 100644
--- a/config-top.h
+++ b/config-top.h
@@ -3,7 +3,7 @@
/* This contains various user-settable options not under the control of
autoconf. */
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2007 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -49,6 +49,11 @@
when a job like `cat jobs.c | exit 1' terminates due to a SIGPIPE. */
#define DONT_REPORT_SIGPIPE
+/* Define DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS if you don't want builtins
+ like `echo' and `printf' to report errors when output does not succeed
+ due to EPIPE. */
+/* #define DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS */
+
/* The default value of the PATH variable. */
#ifndef DEFAULT_PATH_VALUE
#define DEFAULT_PATH_VALUE \
diff --git a/config-top.h~ b/config-top.h~
new file mode 100644
index 00000000..524d4fb9
--- /dev/null
+++ b/config-top.h~
@@ -0,0 +1,92 @@
+/* config-top.h */
+
+/* This contains various user-settable options not under the control of
+ autoconf. */
+
+/* Copyright (C) 2002 Free Software Foundation, Inc.
+
+ This file is part of GNU Bash, the Bourne Again SHell.
+
+ Bash is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License as published by the Free
+ Software Foundation; either version 2, or (at your option) any later
+ version.
+
+ Bash is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Bash; see the file COPYING. If not, write to the Free Software
+ Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
+
+/* Define CONTINUE_AFTER_KILL_ERROR if you want the kill command to
+ continue processing arguments after one of them fails. This is
+ what POSIX.2 specifies. */
+#define CONTINUE_AFTER_KILL_ERROR
+
+/* Define BREAK_COMPLAINS if you want the non-standard, but useful
+ error messages about `break' and `continue' out of context. */
+#define BREAK_COMPLAINS
+
+/* Define BUFFERED_INPUT if you want the shell to do its own input
+ buffering, rather than using stdio. Do not undefine this; it's
+ required to preserve semantics required by POSIX. */
+#define BUFFERED_INPUT
+
+/* Define ONESHOT if you want sh -c 'command' to avoid forking to execute
+ `command' whenever possible. This is a big efficiency improvement. */
+#define ONESHOT
+
+/* Define V9_ECHO if you want to give the echo builtin backslash-escape
+ interpretation using the -e option, in the style of the Bell Labs 9th
+ Edition version of echo. You cannot emulate the System V echo behavior
+ without this option. */
+#define V9_ECHO
+
+/* Define DONT_REPORT_SIGPIPE if you don't want to see `Broken pipe' messages
+ when a job like `cat jobs.c | exit 1' terminates due to a SIGPIPE. */
+#define DONT_REPORT_SIGPIPE
+
+/* Define DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS if you don't want builtins
+ like `echo' and `printf' to report errors when output does not succeed
+ due to EPIPE. */
+/* #define DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS */
+
+/* The default value of the PATH variable. */
+#ifndef DEFAULT_PATH_VALUE
+#define DEFAULT_PATH_VALUE \
+ "/usr/gnu/bin:/usr/local/bin:/bin:/usr/bin:."
+#endif
+
+/* The value for PATH when invoking `command -p'. This is only used when
+ the Posix.2 confstr () function, or CS_PATH define are not present. */
+#ifndef STANDARD_UTILS_PATH
+#define STANDARD_UTILS_PATH \
+ "/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc"
+#endif
+
+/* Default primary and secondary prompt strings. */
+#define PPROMPT "\\s-\\v\\$ "
+#define SPROMPT "> "
+
+/* Undefine this if you don't want the ksh-compatible behavior of reprinting
+ the select menu after a valid choice is made only if REPLY is set to NULL
+ in the body of the select command. The menu is always reprinted if the
+ reply to the select query is an empty line. */
+#define KSH_COMPATIBLE_SELECT
+
+/* System-wide .bashrc file for interactive shells. */
+/* #define SYS_BASHRC "/etc/bash.bashrc" */
+
+/* System-wide .bash_logout for login shells. */
+/* #define SYS_BASH_LOGOUT "/etc/bash.bash_logout" */
+
+/* Define this to make non-interactive shells begun with argv[0][0] == '-'
+ run the startup files when not in posix mode. */
+/* #define NON_INTERACTIVE_LOGIN_SHELLS */
+
+/* Define this if you want bash to try to check whether it's being run by
+ sshd and source the .bashrc if so (like the rshd behavior). */
+/* #define SSH_SOURCE_BASHRC */
diff --git a/config.h.in b/config.h.in
index 1a983ed2..9bf4394f 100644
--- a/config.h.in
+++ b/config.h.in
@@ -531,6 +531,11 @@
/* Define if you have the fcntl function. */
#undef HAVE_FCNTL
+/* Define if you have the fpurge/__fpurge function. */
+#undef HAVE_FPURGE
+#undef HAVE___FPURGE
+#undef HAVE_DECL_FPURGE
+
/* Define if you have the getaddrinfo function. */
#undef HAVE_GETADDRINFO
diff --git a/configure b/configure
index 956b5ce6..2896509f 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.in for Bash 3.2, version 3.195.
+# From configure.in for Bash 3.2, version 3.196.
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.60 for bash 3.2-maint.
#
@@ -601,6 +601,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
+ac_func_list=
ac_subst_vars='SHELL
PATH_SEPARATOR
PACKAGE_NAME
@@ -1781,6 +1782,8 @@ echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
+ac_func_list="$ac_func_list fpurge"
+ac_func_list="$ac_func_list __fpurge"
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
@@ -29169,6 +29172,224 @@ _ACEOF
fi
+
+
+
+
+for ac_func in $ac_func_list
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { echo "$as_me:$LINENO: checking whether fpurge is declared" >&5
+echo $ECHO_N "checking whether fpurge is declared... $ECHO_C" >&6; }
+if test "${ac_cv_have_decl_fpurge+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdio.h>
+
+int
+main ()
+{
+#ifndef fpurge
+ char *p = (char *) fpurge;
+ return !p;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_have_decl_fpurge=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_fpurge=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_fpurge" >&5
+echo "${ECHO_T}$ac_cv_have_decl_fpurge" >&6; }
+if test $ac_cv_have_decl_fpurge = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_FPURGE 1
+_ACEOF
+
+
+else
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_FPURGE 0
+_ACEOF
+
+
+fi
+
+
+
{ echo "$as_me:$LINENO: checking to see if getenv can be redefined" >&5
echo $ECHO_N "checking to see if getenv can be redefined... $ECHO_C" >&6; }
if test "${bash_cv_getenv_redef+set}" = set; then
diff --git a/configure.in b/configure.in
index a5354337..7b6ca008 100644
--- a/configure.in
+++ b/configure.in
@@ -22,7 +22,7 @@ dnl Process this file with autoconf to produce a configure script.
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
-AC_REVISION([for Bash 3.2, version 3.195])dnl
+AC_REVISION([for Bash 3.2, version 3.196])dnl
define(bashvers, 3.2)
define(relstatus, maint)
@@ -893,6 +893,7 @@ dnl presence and behavior of C library functions
BASH_FUNC_STRSIGNAL
BASH_FUNC_OPENDIR_CHECK
BASH_FUNC_ULIMIT_MAXFDS
+BASH_FUNC_FPURGE
BASH_FUNC_GETENV
if test "$ac_cv_func_getcwd" = "yes"; then
BASH_FUNC_GETCWD
diff --git a/doc/bash.1 b/doc/bash.1
index 18c16ba0..86596eba 100644
--- a/doc/bash.1
+++ b/doc/bash.1
@@ -5,12 +5,12 @@
.\" Case Western Reserve University
.\" chet@po.cwru.edu
.\"
-.\" Last Change: Tue May 1 10:05:17 EDT 2007
+.\" Last Change: Fri Sep 14 13:44:37 EDT 2007
.\"
.\" bash_builtins, strip all but Built-Ins section
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
-.TH BASH 1 "2007 May 1" "GNU Bash-3.2"
+.TH BASH 1 "2007 September 14" "GNU Bash-3.2"
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
@@ -7672,6 +7672,9 @@ any command in a pipeline but the last,
or if the command's return value is
being inverted via
.BR ! .
+Failing simple commands that are part of shell functions or command lists
+enclosed in braces or parentheses satisfying the above conditions do not
+cause the shell to exit.
A trap on \fBERR\fP, if set, is executed before the shell exits.
.TP 8
.B \-f
diff --git a/doc/bash.1~ b/doc/bash.1~
index 5a3d2ee5..18c16ba0 100644
--- a/doc/bash.1~
+++ b/doc/bash.1~
@@ -577,7 +577,7 @@ and
have equal precedence, followed by
.B ;
and
-.BR &,
+.BR & ,
which have equal precedence.
.PP
A sequence of one or more newlines may appear in a \fIlist\fP instead
@@ -696,6 +696,8 @@ If the shell option
.B nocasematch
is enabled, the match is performed without regard to the case
of alphabetic characters.
+Any part of the pattern may be quoted to force it to be matched as a
+string.
Substrings matched by parenthesized subexpressions within the regular
expression are saved in the array variable \fBBASH_REMATCH\fP.
The element of \fBBASH_REMATCH\fP with index 0 is the portion of the string
diff --git a/doc/bashref.texi b/doc/bashref.texi
index 63dfcee3..7a0c8282 100644
--- a/doc/bashref.texi
+++ b/doc/bashref.texi
@@ -3730,6 +3730,9 @@ part of the test in an @code{if} statement,
part of a @code{&&} or @code{||} list,
any command in a pipeline but the last,
or if the command's return status is being inverted using @code{!}.
+Failing simple commands that are part of shell functions or command lists
+enclosed in braces or parentheses satisfying the above conditions do not
+cause the shell to exit.
A trap on @code{ERR}, if set, is executed before the shell exits.
@item -f
diff --git a/doc/bashref.texi~ b/doc/bashref.texi~
index 62b0c597..63dfcee3 100644
--- a/doc/bashref.texi~
+++ b/doc/bashref.texi~
@@ -225,7 +225,7 @@ than by an executable program somewhere in the file system.
@item control operator
@cindex control operator
-A @code{word} that performs a control function. It is a @code{newline}
+A @code{token} that performs a control function. It is a @code{newline}
or one of the following:
@samp{||}, @samp{&&}, @samp{&}, @samp{;}, @samp{;;},
@samp{|}, @samp{(}, or @samp{)}.
@@ -974,6 +974,8 @@ If the shell option @code{nocasematch}
(see the description of @code{shopt} in @ref{The Shopt Builtin})
is enabled, the match is performed without regard to the case
of alphabetic characters.
+Any part of the pattern may be quoted to force it to be matched as a
+string.
Substrings matched by parenthesized subexpressions within the regular
expression are saved in the array variable @code{BASH_REMATCH}.
The element of @code{BASH_REMATCH} with index 0 is the portion of the string
diff --git a/doc/version.texi b/doc/version.texi
index dc36632b..c016a52f 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -2,9 +2,9 @@
Copyright (C) 1988-2007 Free Software Foundation, Inc.
@end ignore
-@set LASTCHANGE Tue May 1 10:05:36 EDT 2007
+@set LASTCHANGE Fri Sep 14 13:44:15 EDT 2007
@set EDITION 3.2
@set VERSION 3.2
-@set UPDATED 1 May 2007
-@set UPDATED-MONTH May 2007
+@set UPDATED 14 September 2007
+@set UPDATED-MONTH September 2007
diff --git a/execute_cmd.c b/execute_cmd.c
index 418b5414..56063140 100644
--- a/execute_cmd.c
+++ b/execute_cmd.c
@@ -3575,6 +3575,7 @@ execute_builtin_or_function (words, builtin, var, redirects,
/* We do this before undoing the effects of any redirections. */
fflush (stdout);
+ fpurge (stdout);
if (ferror (stdout))
clearerr (stdout);
diff --git a/expr.c b/expr.c
index a201687c..a4e500ff 100644
--- a/expr.c
+++ b/expr.c
@@ -286,6 +286,8 @@ expr_unwind ()
free (expr_stack[expr_depth]);
}
free (expr_stack[expr_depth]); /* free the allocated EXPR_CONTEXT */
+
+ noeval = 0; /* XXX */
}
static void
@@ -319,6 +321,7 @@ evalexp (expr, validp)
procenv_t oevalbuf;
val = 0;
+ noeval = 0;
FASTCOPY (evalbuf, oevalbuf, sizeof (evalbuf));
diff --git a/externs.h b/externs.h
index b8a2910f..65e06847 100644
--- a/externs.h
+++ b/externs.h
@@ -171,6 +171,17 @@ extern char *fmtullong __P((unsigned long long int, int, char *, size_t, int));
/* Declarations for functions defined in lib/sh/fmtumax.c */
extern char *fmtumax __P((uintmax_t, int, char *, size_t, int));
+/* Declarations for functions defined in lib/sh/fpurge.c */
+#if defined (NEED_FPURGE_DECL)
+
+#if HAVE_FPURGE
+# define fpurge _bash_fpurge
+#endif
+extern int fpurge __P((FILE *stream));
+
+#endif /* NEED_FPURGE_DECL */
+
+
/* Declarations for functions defined in lib/sh/getcwd.c */
#if !defined (HAVE_GETCWD)
extern char *getcwd __P((char *, size_t));
diff --git a/lib/sh/Makefile.in b/lib/sh/Makefile.in
index 83d3e371..76ca594e 100644
--- a/lib/sh/Makefile.in
+++ b/lib/sh/Makefile.in
@@ -91,7 +91,7 @@ CSOURCES = clktck.c clock.c getcwd.c getenv.c oslib.c setlinebuf.c \
fmtulong.c fmtullong.c fmtumax.c shmatch.c strnlen.c \
strtoll.c strtoull.c strtoimax.c strtoumax.c memset.c strstr.c \
mktime.c strftime.c xstrchr.c zcatfd.c zmapfd.c winsize.c eaccess.c \
- wcsdup.c
+ wcsdup.c fpurge.c
# The header files for this library.
HSOURCES =
@@ -104,7 +104,7 @@ OBJECTS = clktck.o clock.o getenv.o oslib.o setlinebuf.o strnlen.o \
pathphys.o tmpfile.o stringlist.o stringvec.o spell.o shquote.o \
strtrans.o strindex.o snprintf.o mailstat.o fmtulong.o \
fmtullong.o fmtumax.o xstrchr.o zcatfd.o zmapfd.o winsize.o wcsdup.o \
- ${LIBOBJS}
+ fpurge.o ${LIBOBJS}
SUPPORT = Makefile
@@ -142,6 +142,7 @@ eaccess.o: eaccess.c
fmtullong.o: fmtullong.c
fmtulong.o: fmtulong.c
fmtumax.o: fmtumax.c
+fpurge.o: fpurge.c
getcwd.o: getcwd.c
getenv.o: getenv.c
inet_aton.o: inet_aton.c
@@ -202,6 +203,7 @@ eaccess.o: ${BUILD_DIR}/config.h
fmtullong.o: ${BUILD_DIR}/config.h
fmtulong.o: ${BUILD_DIR}/config.h
fmtumax.o: ${BUILD_DIR}/config.h
+fpurge.o: ${BUILD_DIR}/config.h
getcwd.o: ${BUILD_DIR}/config.h
getenv.o: ${BUILD_DIR}/config.h
inet_aton.o: ${BUILD_DIR}/config.h
diff --git a/lib/sh/fpurge.c b/lib/sh/fpurge.c
new file mode 100644
index 00000000..c45fed15
--- /dev/null
+++ b/lib/sh/fpurge.c
@@ -0,0 +1,119 @@
+/* Flushing buffers of a FILE stream.
+ Copyright (C) 2007 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#include <config.h>
+
+#include "stdc.h"
+
+/* Specification. Same as in ../../externs.h. */
+#define NEED_FPURGE_DECL
+#if HAVE_FPURGE
+# define fpurge _bash_fpurge
+#endif
+extern int fpurge __P((FILE *stream));
+
+
+#if HAVE___FPURGE /* glibc >= 2.2, Solaris >= 7 */
+# include <stdio_ext.h>
+#endif
+#include <stdlib.h>
+
+int
+fpurge (FILE *fp)
+{
+#if HAVE___FPURGE /* glibc >= 2.2, Solaris >= 7 */
+
+ __fpurge (fp);
+ /* The __fpurge function does not have a return value. */
+ return 0;
+
+#elif HAVE_FPURGE /* FreeBSD, NetBSD, OpenBSD, MacOS X */
+
+ /* Call the system's fpurge function. */
+# undef fpurge
+# if !HAVE_DECL_FPURGE
+ extern int fpurge (FILE *);
+# endif
+ int result = fpurge (fp);
+# if defined __sferror /* FreeBSD, NetBSD, OpenBSD, MacOS X, Cygwin */
+ if (result == 0)
+ /* Correct the invariants that fpurge broke.
+ <stdio.h> on BSD systems says:
+ "The following always hold: if _flags & __SRD, _w is 0."
+ If this invariant is not fulfilled and the stream is read-write but
+ currently writing, subsequent putc or fputc calls will write directly
+ into the buffer, although they shouldn't be allowed to. */
+ if ((fp->_flags & __SRD) != 0)
+ fp->_w = 0;
+# endif
+ return result;
+
+#else
+
+ /* Most systems provide FILE as a struct and the necessary bitmask in
+ <stdio.h>, because they need it for implementing getc() and putc() as
+ fast macros. */
+# if defined _IO_ferror_unlocked /* GNU libc, BeOS */
+ fp->_IO_read_end = fp->_IO_read_ptr;
+ fp->_IO_write_ptr = fp->_IO_write_base;
+ /* Avoid memory leak when there is an active ungetc buffer. */
+ if (fp->_IO_save_base != NULL)
+ {
+ free (fp->_IO_save_base);
+ fp->_IO_save_base = NULL;
+ }
+ return 0;
+# elif defined __sferror /* FreeBSD, NetBSD, OpenBSD, MacOS X, Cygwin */
+ fp->_p = fp->_bf._base;
+ fp->_r = 0;
+ fp->_w = ((fp->_flags & (__SLBF | __SNBF | __SRD)) == 0 /* fully buffered and not currently reading? */
+ ? fp->_bf._size
+ : 0);
+ /* Avoid memory leak when there is an active ungetc buffer. */
+# if defined __NetBSD__ || defined __OpenBSD__ /* NetBSD, OpenBSD */
+ /* See <http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/stdio/fileext.h?rev=HEAD&content-type=text/x-cvsweb-markup>
+ and <http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/stdio/fileext.h?rev=HEAD&content-type=text/x-cvsweb-markup> */
+# define fp_ub ((struct { struct __sbuf _ub; } *) fp->_ext._base)->_ub
+# else /* FreeBSD, MacOS X, Cygwin */
+# define fp_ub fp->_ub
+# endif
+ if (fp_ub._base != NULL)
+ {
+ if (fp_ub._base != fp->_ubuf)
+ free (fp_ub._base);
+ fp_ub._base = NULL;
+ }
+ return 0;
+# elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, mingw */
+ fp->_ptr = fp->_base;
+ if (fp->_ptr != NULL)
+ fp->_cnt = 0;
+ return 0;
+# elif defined __UCLIBC__ /* uClibc */
+# ifdef __STDIO_BUFFERS
+ if (fp->__modeflags & __FLAG_WRITING)
+ fp->__bufpos = fp->__bufstart;
+ else if (fp->__modeflags & (__FLAG_READONLY | __FLAG_READING))
+ fp->__bufpos = fp->__bufread;
+# endif
+ return 0;
+# else
+ #error "Please port gnulib fpurge.c to your platform! Look at the definitions of fflush, setvbuf and ungetc on your system, then report this to bug-gnulib."
+# endif
+
+#endif
+}
diff --git a/redir.c b/redir.c
index 283b07db..1da53c0b 100644
--- a/redir.c
+++ b/redir.c
@@ -43,8 +43,10 @@ extern int errno;
#include "bashansi.h"
#include "bashintl.h"
-
#include "memalloc.h"
+
+#define NEED_FPURGE_DECL
+
#include "shell.h"
#include "flags.h"
#include "execute_cmd.h"
@@ -772,7 +774,10 @@ do_redirection_internal (redirect, flags)
of the underlying file descriptor, since the builtins use stdio
for output. */
if (redirector == 1 && fileno (stdout) == redirector)
- fflush (stdout);
+ {
+ fflush (stdout);
+ fpurge (stdout);
+ }
if ((fd != redirector) && (dup2 (fd, redirector) < 0))
return (errno);
diff --git a/tests/func.right b/tests/func.right
index e97a4865..1bd12e12 100644
--- a/tests/func.right
+++ b/tests/func.right
@@ -27,7 +27,7 @@ f1 ()
return $status
}
before: try to assign to FUNCNAME
-outside: FUNCNAME = main
+outside: FUNCNAME =
before: FUNCNAME = func
FUNCNAME = func2
after: FUNCNAME = func