diff options
-rw-r--r-- | CWRU/CWRU.chlog | 36 | ||||
-rw-r--r-- | CWRU/CWRU.chlog~ | 34 | ||||
-rw-r--r-- | MANIFEST | 1 | ||||
-rw-r--r-- | Makefile.in | 2 | ||||
-rw-r--r-- | aclocal.m4 | 8 | ||||
-rw-r--r-- | autom4te.cache/output.0 | 223 | ||||
-rw-r--r-- | autom4te.cache/requests | 86 | ||||
-rw-r--r-- | autom4te.cache/traces.0 | 436 | ||||
-rw-r--r-- | builtins/common.c | 6 | ||||
-rw-r--r-- | builtins/common.c~ | 27 | ||||
-rw-r--r-- | config-top.h | 7 | ||||
-rw-r--r-- | config-top.h~ | 92 | ||||
-rw-r--r-- | config.h.in | 5 | ||||
-rwxr-xr-x | configure | 223 | ||||
-rw-r--r-- | configure.in | 3 | ||||
-rw-r--r-- | doc/bash.1 | 7 | ||||
-rw-r--r-- | doc/bash.1~ | 4 | ||||
-rw-r--r-- | doc/bashref.texi | 3 | ||||
-rw-r--r-- | doc/bashref.texi~ | 4 | ||||
-rw-r--r-- | doc/version.texi | 6 | ||||
-rw-r--r-- | execute_cmd.c | 1 | ||||
-rw-r--r-- | expr.c | 3 | ||||
-rw-r--r-- | externs.h | 11 | ||||
-rw-r--r-- | lib/sh/Makefile.in | 6 | ||||
-rw-r--r-- | lib/sh/fpurge.c | 119 | ||||
-rw-r--r-- | redir.c | 9 | ||||
-rw-r--r-- | tests/func.right | 2 |
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 @@ -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 @@ -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 @@ -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 @@ -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); @@ -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)); @@ -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 +} @@ -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 |