]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
commit bash-20070913 snapshot
authorChet Ramey <chet.ramey@case.edu>
Wed, 7 Dec 2011 14:12:38 +0000 (09:12 -0500)
committerChet Ramey <chet.ramey@case.edu>
Wed, 7 Dec 2011 14:12:38 +0000 (09:12 -0500)
27 files changed:
CWRU/CWRU.chlog
CWRU/CWRU.chlog~
MANIFEST
Makefile.in
aclocal.m4
autom4te.cache/output.0
autom4te.cache/requests
autom4te.cache/traces.0
builtins/common.c
builtins/common.c~
config-top.h
config-top.h~ [new file with mode: 0644]
config.h.in
configure
configure.in
doc/bash.1
doc/bash.1~
doc/bashref.texi
doc/bashref.texi~
doc/version.texi
execute_cmd.c
expr.c
externs.h
lib/sh/Makefile.in
lib/sh/fpurge.c [new file with mode: 0644]
redir.c
tests/func.right

index fb2a385d02b538de5403362f8ee64d5e3f3ccd54..73707c365b849bea43918352fa28697c4c2073f5 100644 (file)
@@ -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>
index 6214d04b64f1ad8093f54123e5cf0ea5e3394ed9..d04073157129362476909d50c39ead604bc8e3ba 100644 (file)
@@ -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
index 9158adc60e4d0567678fd4599543afab652f1ed1..1e37178dfe7017436a05d9985a590342a214fb98 100644 (file)
--- 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
index c215b623573c77688f5d169f805f2d0a65aebd20..6a230470cd612612a3877e144bec89e32bc1070e 100644 (file)
@@ -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
index 64e674acef82c0ebbc90a4cf6c3b4b6725223880..ad229d3d04d5261b156ad08e90e403845789ca65 100644 (file)
@@ -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>])
+])
index 51b2ed55776db23a1884dbd9c88b123c58c829c0..c7f900068c397c84b79ad7895c7b15a8ab0d339d 100644 (file)
@@ -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
index 4e90b52bae67d69c584102604f0863adf3c01c91..2f79940c6f1dc614d4e968a7adfcc4a1e7218408 100644 (file)
                         '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,
                         '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,
                         '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
                       {
                         '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,
                         '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,
                         '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
index 709b00af31e6cc252a1104f7fbc06c6e96fc90ed..82d9684cbaebfd3d059bfaa07e0261ec006e5ebc 100644 (file)
@@ -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])
index fbf3f300b755ffd4f082d7049e57569378b56e94..8f047ce5202f88dfd5661265527dd3d889cc181c 100644 (file)
@@ -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);
     }
index b58429565cf7ef17365977614a3a1ab0855c1b90..95c2f6a434897813f258a2840ea927d47082691c 100644 (file)
@@ -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                */
index 0fdd403c950794320294792fd48ff7d0615c6273..26ea040367f088f441084153c94e931fb30acf0c 100644 (file)
@@ -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.
 
    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 (file)
index 0000000..524d4fb
--- /dev/null
@@ -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 */
index 1a983ed20d80429d0423658964d592200fbc48f0..9bf4394f26cf1e4f21d04065a17a2ecf2162c598 100644 (file)
 /* 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
 
index 956b5ce6b94e46eaafb5de831bd672ffa22e171e..2896509fe8f5227014e7499798ce2c88e4f9fe38 100755 (executable)
--- 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
index a53543376643ed5c814b224c79a44863d8136cba..7b6ca00898e4a68880ab73ae2daec276bd7d0b12 100644 (file)
@@ -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
index 18c16ba0b74df1fc51b437d4669553d1774f31ae..86596ebac6792e08c1ac39cbf317e5434d3f81f7 100644 (file)
@@ -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
index 5a3d2ee581195c3ee9d14898ef061f19d3bc6675..18c16ba0b74df1fc51b437d4669553d1774f31ae 100644 (file)
@@ -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
index 63dfcee3d08384cac237ebc7730f39e2a4f13ac0..7a0c8282a90f6afece5b0eedc7cce55c391a5583 100644 (file)
@@ -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
index 62b0c5978db795752ccc34f8c97cdc8ba2c146d9..63dfcee3d08384cac237ebc7730f39e2a4f13ac0 100644 (file)
@@ -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
index dc36632b552ccef94c145cfacdaf2e9869d116ed..c016a52f4c331399302c985d4f82aaec6c979160 100644 (file)
@@ -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
index 418b5414f158cc781e0c0e0579e09a73ffb7bb81..560631403747792aa0be38b26eb311b0a8256074 100644 (file)
@@ -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 a201687c55caaf46139628ec3adc081820614e3f..a4e500ff1d76dba439511bca3cd5b540e8ee6e57 100644 (file)
--- 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));
 
index b8a2910f7e5add6361a25a70289c1dc83e9c5e46..65e06847fd09860e72380eaf2554d5961a4175dc 100644 (file)
--- 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));
index 83d3e3710187dd0b65688d1ee7c1e1820eb40934..76ca594ef93adb733b577bfb490622ad3e29e996 100644 (file)
@@ -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 (file)
index 0000000..c45fed1
--- /dev/null
@@ -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 283b07db74306afde5283d9bb84696a49f345166..1da53c0bf962b25e3f69f7d1b464cc788a464dd6 100644 (file)
--- 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);
index e97a4865bd1f129dc78fbf1cbd26f03123b34967..1bd12e1217db7f4a0d5febc2dca736a63b99129f 100644 (file)
@@ -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