commit bash-20070426 snapshot

This commit is contained in:
Chet Ramey
2011-12-07 09:07:10 -05:00
parent c184f64511
commit b709b946e4
17 changed files with 11208 additions and 7208 deletions
+23
View File
@@ -14517,3 +14517,26 @@ subst.c
{arrayfunc,expr,variables}.c
- add calls to top_level_cleanup before jump_to_top_level()
4/27
----
builtins/complete.def
- make sure the `command' argument to the -C option is printed with
single quotes, since multi-word commands will require them. Bug
reported by martin@snowplow.org
execute_cmd.c
- change execute_builtin_or_function and execute_subshell_builtin_or_function
to call fflush(stdout) after the builtin or function returns, to
make sure that all output is flushed before the call returns. It
matters on cygwin. Fix suggested by Eric Blake <ebb9@byu.net>
redir.c
- in do_redirection_internal, if the file descriptor being acted upon
is the same one used by the stdout stream, call fflush(stdout) to
make sure all output is flushed before changing the underlying fd
out from underneath stdio. Fix suggested by Eric Blake <ebb9@byu.net>
lib/readline/input.c
- fix probable off-by-one error in ibuffer_space () prompted by bug
report from Tom Bjorkholm <tom.bjorkholm@ericsson.com>
+19 -1
View File
@@ -14515,6 +14515,24 @@ subst.c
- add call to top_level_cleanup in exp_jump_to_top_level to get things
like unwind-protects and the loop levels cleaned up
{arrayfunc,variables}.c
{arrayfunc,expr,variables}.c
- add calls to top_level_cleanup before jump_to_top_level()
4/27
----
builtins/complete.def
- make sure the `command' argument to the -C option is printed with
single quotes, since multi-word commands will require them. Bug
reported by martin@snowplow.org
execute_cmd.c
- change execute_builtin_or_function and execute_subshell_builtin_or_function
to call fflush(stdout) after the builtin or function returns, to
make sure that all output is flushed before the call returns. It
matters on cygwin. Fix suggested by Eric Blake <ebb9@byu.net>
redir.c
- in do_redirection_internal, if the file descriptor being acted upon
is the same one used by the stdout stream, call fflush(stdout) to
make sure all output is flushed before changing the underlying fd
out from underneath stdio. Fix suggested by Eric Blake <ebb9@byu.net>
+12 -1
View File
@@ -1,5 +1,5 @@
@%:@! /bin/sh
@%:@ From configure.in for Bash 3.2, version 3.194.
@%:@ From configure.in for Bash 3.2, version 3.195.
@%:@ Guess values for system-dependent variables and create Makefiles.
@%:@ Generated by GNU Autoconf 2.60 for bash 3.2-maint.
@%:@
@@ -31510,12 +31510,23 @@ case "$BUILD_DIR" in
*) ;;
esac
if test -z "$localedir"; then
localedir='${datarootdir}/locale'
fi
if test -z "$datarootdir"; then
datarootdir='${prefix}/share'
fi
# Some versions of autoconf don't substitute these automatically
+28 -137
View File
@@ -15,26 +15,26 @@
'configure.in'
],
{
'_LT_AC_TAGCONFIG' => 1,
'AM_PROG_F77_C_O' => 1,
'_LT_AC_TAGCONFIG' => 1,
'm4_pattern_forbid' => 1,
'AC_CANONICAL_TARGET' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
'AC_TYPE_OFF_T' => 1,
'AC_C_VOLATILE' => 1,
'AC_TYPE_OFF_T' => 1,
'AC_FUNC_CLOSEDIR_VOID' => 1,
'AC_REPLACE_FNMATCH' => 1,
'AC_PROG_LIBTOOL' => 1,
'AC_FUNC_STAT' => 1,
'AC_HEADER_TIME' => 1,
'AC_FUNC_WAIT3' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'AC_STRUCT_TM' => 1,
'AC_HEADER_TIME' => 1,
'AC_FUNC_LSTAT' => 1,
'AC_TYPE_MODE_T' => 1,
'AC_STRUCT_TM' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'AC_FUNC_GETMNTENT' => 1,
'AC_FUNC_STRTOD' => 1,
'AC_TYPE_MODE_T' => 1,
'AC_CHECK_HEADERS' => 1,
'AC_FUNC_STRTOD' => 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,
'AM_PROG_FC_C_O' => 1,
'AC_CANONICAL_BUILD' => 1,
'AC_TYPE_SIGNAL' => 1,
'AC_CANONICAL_BUILD' => 1,
'AM_PROG_FC_C_O' => 1,
'AC_TYPE_UID_T' => 1,
'_AM_SUBST_NOTMAKE' => 1,
'AC_CONFIG_AUX_DIR' => 1,
'AC_PROG_MAKE_SET' => 1,
'sinclude' => 1,
'AC_CONFIG_AUX_DIR' => 1,
'_AM_SUBST_NOTMAKE' => 1,
'm4_pattern_allow' => 1,
'sinclude' => 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_VPRINTF' => 1,
'AC_FUNC_FORK' => 1,
'AC_FUNC_STRCOLL' => 1,
'AC_FUNC_VPRINTF' => 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,
'AC_FUNC_SETPGRP' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AC_FUNC_SETPGRP' => 1,
'AC_CONFIG_SUBDIRS' => 1,
'AC_FUNC_MMAP' => 1,
'AC_FUNC_REALLOC' => 1,
'AC_TYPE_SIZE_T' => 1,
'AC_REQUIRE_AUX_FILE' => 1,
'AC_CONFIG_LINKS' => 1,
'AC_CHECK_TYPES' => 1,
'AC_CONFIG_LINKS' => 1,
'AC_REQUIRE_AUX_FILE' => 1,
'LT_SUPPORTED_TAG' => 1,
'AC_CHECK_MEMBERS' => 1,
'AM_MAINTAINER_MODE' => 1,
'AC_FUNC_UTIME_NULL' => 1,
'AC_FUNC_SELECT_ARGTYPES' => 1,
'AC_FUNC_STRFTIME' => 1,
'AC_HEADER_STAT' => 1,
'AC_C_INLINE' => 1,
'AC_FUNC_STRFTIME' => 1,
'AC_PROG_CPP' => 1,
'AC_TYPE_PID_T' => 1,
'AC_C_CONST' => 1,
'AC_C_INLINE' => 1,
'AC_PROG_LEX' => 1,
'AC_C_CONST' => 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_FUNC_OBSTACK' => 1,
'AC_CHECK_LIB' => 1,
'AC_FUNC_OBSTACK' => 1,
'AC_FUNC_MALLOC' => 1,
'AC_FUNC_GETGROUPS' => 1,
'AC_FC_FREEFORM' => 1,
'AC_FUNC_GETLOADAVG' => 1,
'AC_FC_FREEFORM' => 1,
'AH_OUTPUT' => 1,
'AC_FUNC_FSEEKO' => 1,
'AM_PROG_CC_C_O' => 1,
'AM_CONDITIONAL' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AC_FUNC_MKTIME' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AM_CONDITIONAL' => 1,
'AC_CONFIG_HEADERS' => 1,
'AC_HEADER_SYS_WAIT' => 1,
'AC_FUNC_MEMCMP' => 1,
'AC_PROG_LN_S' => 1,
'AC_FUNC_MEMCMP' => 1,
'm4_include' => 1,
'AC_HEADER_DIRENT' => 1,
'AC_CHECK_FUNCS' => 1
@@ -137,115 +137,6 @@
'aclocal.m4',
'configure.in'
],
{
'm4_pattern_forbid' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 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_HEADER_TIME' => 1,
'AC_FUNC_WAIT3' => 1,
'AM_AUTOMAKE_VERSION' => 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,
'm4_sinclude' => 1,
'AC_PROG_CXX' => 1,
'AC_PATH_X' => 1,
'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1,
'AC_PROG_AWK' => 1,
'_m4_warn' => 1,
'AC_HEADER_STDC' => 1,
'AC_HEADER_MAJOR' => 1,
'AC_FUNC_ERROR_AT_LINE' => 1,
'AC_PROG_GCC_TRADITIONAL' => 1,
'AC_LIBSOURCE' => 1,
'AC_FUNC_MBRTOWC' => 1,
'AC_STRUCT_ST_BLOCKS' => 1,
'AC_TYPE_SIGNAL' => 1,
'AC_TYPE_UID_T' => 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_VPRINTF' => 1,
'AC_FUNC_STRCOLL' => 1,
'AC_PROG_YACC' => 1,
'AC_INIT' => 1,
'AC_STRUCT_TIMEZONE' => 1,
'AC_FUNC_CHOWN' => 1,
'AC_SUBST' => 1,
'AC_FUNC_ALLOCA' => 1,
'AC_CANONICAL_HOST' => 1,
'AC_FUNC_GETPGRP' => 1,
'AC_PROG_RANLIB' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AC_FUNC_SETPGRP' => 1,
'AC_CONFIG_SUBDIRS' => 1,
'AC_FUNC_MMAP' => 1,
'AC_FUNC_REALLOC' => 1,
'AC_TYPE_SIZE_T' => 1,
'AC_CONFIG_LINKS' => 1,
'AC_CHECK_TYPES' => 1,
'AC_CHECK_MEMBERS' => 1,
'AM_MAINTAINER_MODE' => 1,
'AC_FUNC_UTIME_NULL' => 1,
'AC_FUNC_SELECT_ARGTYPES' => 1,
'AC_FUNC_STRFTIME' => 1,
'AC_HEADER_STAT' => 1,
'AC_C_INLINE' => 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_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,
'AM_CONDITIONAL' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AC_FUNC_MKTIME' => 1,
'AC_CONFIG_HEADERS' => 1,
'AC_HEADER_SYS_WAIT' => 1,
'AC_FUNC_MEMCMP' => 1,
'AC_PROG_LN_S' => 1,
'm4_include' => 1,
'AC_HEADER_DIRENT' => 1,
'AC_CHECK_FUNCS' => 1
}
], 'Autom4te::Request' ),
bless( [
'2',
1,
[
'/usr/share/autoconf'
],
[
'/usr/share/autoconf/autoconf/autoconf.m4f',
'aclocal.m4',
'configure.in'
],
{
'm4_pattern_forbid' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
@@ -287,8 +178,8 @@
'AC_DEFINE_TRACE_LITERAL' => 1,
'AC_FUNC_STRERROR_R' => 1,
'AC_PROG_CC' => 1,
'AC_DECL_SYS_SIGLIST' => 1,
'AC_FUNC_FORK' => 1,
'AC_DECL_SYS_SIGLIST' => 1,
'AC_FUNC_STRCOLL' => 1,
'AC_FUNC_VPRINTF' => 1,
'AC_PROG_YACC' => 1,
@@ -316,9 +207,9 @@
'AC_FUNC_STRFTIME' => 1,
'AC_PROG_CPP' => 1,
'AC_C_INLINE' => 1,
'AC_TYPE_PID_T' => 1,
'AC_PROG_LEX' => 1,
'AC_C_CONST' => 1,
'AC_TYPE_PID_T' => 1,
'AC_CONFIG_FILES' => 1,
'include' => 1,
'AC_FUNC_SETVBUF_REVERSED' => 1,
+74 -68
View File
@@ -2437,76 +2437,82 @@ 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:1077: -1- AC_SUBST([PROFILE_FLAGS])
m4trace:configure.in:1077: -1- AC_SUBST_TRACE([PROFILE_FLAGS])
m4trace:configure.in:1077: -1- m4_pattern_allow([^PROFILE_FLAGS$])
m4trace:configure.in:1079: -1- AC_SUBST([incdir])
m4trace:configure.in:1079: -1- AC_SUBST_TRACE([incdir])
m4trace:configure.in:1079: -1- m4_pattern_allow([^incdir$])
m4trace:configure.in:1080: -1- AC_SUBST([BUILD_DIR])
m4trace:configure.in:1080: -1- AC_SUBST_TRACE([BUILD_DIR])
m4trace:configure.in:1080: -1- m4_pattern_allow([^BUILD_DIR$])
m4trace:configure.in:1082: -1- AC_SUBST([YACC])
m4trace:configure.in:1082: -1- AC_SUBST_TRACE([YACC])
m4trace:configure.in:1082: -1- m4_pattern_allow([^YACC$])
m4trace:configure.in:1083: -1- AC_SUBST([AR])
m4trace:configure.in:1083: -1- AC_SUBST_TRACE([AR])
m4trace:configure.in:1083: -1- m4_pattern_allow([^AR$])
m4trace:configure.in:1084: -1- AC_SUBST([ARFLAGS])
m4trace:configure.in:1084: -1- AC_SUBST_TRACE([ARFLAGS])
m4trace:configure.in:1084: -1- m4_pattern_allow([^ARFLAGS$])
m4trace:configure.in:1086: -1- AC_SUBST([BASHVERS])
m4trace:configure.in:1086: -1- AC_SUBST_TRACE([BASHVERS])
m4trace:configure.in:1086: -1- m4_pattern_allow([^BASHVERS$])
m4trace:configure.in:1087: -1- AC_SUBST([RELSTATUS])
m4trace:configure.in:1087: -1- AC_SUBST_TRACE([RELSTATUS])
m4trace:configure.in:1087: -1- m4_pattern_allow([^RELSTATUS$])
m4trace:configure.in:1088: -1- AC_SUBST([DEBUG])
m4trace:configure.in:1088: -1- AC_SUBST_TRACE([DEBUG])
m4trace:configure.in:1088: -1- m4_pattern_allow([^DEBUG$])
m4trace:configure.in:1089: -1- AC_SUBST([MALLOC_DEBUG])
m4trace:configure.in:1089: -1- AC_SUBST_TRACE([MALLOC_DEBUG])
m4trace:configure.in:1089: -1- m4_pattern_allow([^MALLOC_DEBUG$])
m4trace:configure.in:1091: -1- AC_SUBST([host_cpu])
m4trace:configure.in:1091: -1- AC_SUBST_TRACE([host_cpu])
m4trace:configure.in:1091: -1- m4_pattern_allow([^host_cpu$])
m4trace:configure.in:1092: -1- AC_SUBST([host_vendor])
m4trace:configure.in:1092: -1- AC_SUBST_TRACE([host_vendor])
m4trace:configure.in:1092: -1- m4_pattern_allow([^host_vendor$])
m4trace:configure.in:1093: -1- AC_SUBST([host_os])
m4trace:configure.in:1093: -1- AC_SUBST_TRACE([host_os])
m4trace:configure.in:1093: -1- m4_pattern_allow([^host_os$])
m4trace:configure.in:1095: -1- AC_SUBST([LOCAL_LIBS])
m4trace:configure.in:1095: -1- AC_SUBST_TRACE([LOCAL_LIBS])
m4trace:configure.in:1095: -1- m4_pattern_allow([^LOCAL_LIBS$])
m4trace:configure.in:1096: -1- AC_SUBST([LOCAL_CFLAGS])
m4trace:configure.in:1096: -1- AC_SUBST_TRACE([LOCAL_CFLAGS])
m4trace:configure.in:1096: -1- m4_pattern_allow([^LOCAL_CFLAGS$])
m4trace:configure.in:1097: -1- AC_SUBST([LOCAL_LDFLAGS])
m4trace:configure.in:1097: -1- AC_SUBST_TRACE([LOCAL_LDFLAGS])
m4trace:configure.in:1097: -1- m4_pattern_allow([^LOCAL_LDFLAGS$])
m4trace:configure.in:1098: -1- AC_SUBST([LOCAL_DEFS])
m4trace:configure.in:1098: -1- AC_SUBST_TRACE([LOCAL_DEFS])
m4trace:configure.in:1098: -1- m4_pattern_allow([^LOCAL_DEFS$])
m4trace:configure.in:1111: -1- AC_CONFIG_FILES([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
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 \
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:1111: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
m4trace:configure.in:1122: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
You should run autoupdate.], [])
m4trace:configure.in:1111: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
m4trace:configure.in:1111: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
m4trace:configure.in:1111: -1- m4_pattern_allow([^LIB@&t@OBJS$])
m4trace:configure.in:1111: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
m4trace:configure.in:1111: -1- AC_SUBST_TRACE([LTLIBOBJS])
m4trace:configure.in:1111: -1- m4_pattern_allow([^LTLIBOBJS$])
m4trace:configure.in:1111: -1- AC_SUBST_TRACE([top_builddir])
m4trace:configure.in:1111: -1- AC_SUBST_TRACE([srcdir])
m4trace:configure.in:1111: -1- AC_SUBST_TRACE([abs_srcdir])
m4trace:configure.in:1111: -1- AC_SUBST_TRACE([top_srcdir])
m4trace:configure.in:1111: -1- AC_SUBST_TRACE([abs_top_srcdir])
m4trace:configure.in:1111: -1- AC_SUBST_TRACE([builddir])
m4trace:configure.in:1111: -1- AC_SUBST_TRACE([abs_builddir])
m4trace:configure.in:1111: -1- AC_SUBST_TRACE([abs_top_builddir])
m4trace:configure.in:1111: -1- AC_SUBST_TRACE([INSTALL])
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])
+3 -2
View File
@@ -480,11 +480,12 @@ print_one_completion (cmd, cs)
SQPRINTARG (cs->suffix, "-S");
SQPRINTARG (cs->filterpat, "-X");
SQPRINTARG (cs->command, "-C");
/* simple arguments that don't require quoting */
PRINTARG (cs->funcname, "-F");
PRINTARG (cs->command, "-C");
printf ("%s\n", cmd);
printf ("%s\n", x);
return (0);
}
+7 -5
View File
@@ -73,8 +73,8 @@ static int print_cmd_completions __P((WORD_LIST *));
static char *Garg, *Warg, *Parg, *Sarg, *Xarg, *Farg, *Carg;
static struct _compacts {
char *actname;
static const struct _compacts {
const char * const actname;
int actflag;
int actopt;
} compacts[] = {
@@ -106,8 +106,8 @@ static struct _compacts {
};
/* This should be a STRING_INT_ALIST */
static struct _compopt {
char *optname;
const static struct _compopt {
const char * const optname;
int optflag;
} compopts[] = {
{ "bashdefault", COPT_BASHDEFAULT },
@@ -484,7 +484,9 @@ print_one_completion (cmd, cs)
PRINTARG (cs->funcname, "-F");
PRINTARG (cs->command, "-C");
printf ("%s\n", cmd);
x = sh_single_quote (cmd);
printf ("%s\n", x);
free (x);
return (0);
}
Vendored
+10982 -6975
View File
File diff suppressed because it is too large Load Diff
+31 -1
View File
@@ -1,4 +1,4 @@
This is the Bash FAQ, version 3.35, for Bash version 3.2.
This is the Bash FAQ, version 3.36, for Bash version 3.2.
This document contains a set of frequently-asked questions concerning
Bash, the GNU Bourne-Again Shell. Bash is a freely-available command
@@ -79,6 +79,8 @@ E11) If I resize my xterm while another program is running, why doesn't bash
notice the change?
E12) Why don't negative offsets in substring expansion work like I expect?
E13) Why does filename completion misbehave if a colon appears in the filename?
E14) Why does quoting the pattern argument to the regular expression matching
conditional operator (=~) cause matching to stop working?
Section F: Things to watch out for on certain Unix versions
@@ -1427,6 +1429,34 @@ COMP_WORDBREAKS=${COMP_WORDBREAKS//:}
You can also quote the colon with a backslash to achieve the same result
temporarily.
E14) Why does quoting the pattern argument to the regular expression matching
conditional operator (=~) cause regexp matching to stop working?
In versions of bash prior to bash-3.2, the effect of quoting the regular
expression argument to the [[ command's =~ operator was not specified.
The practical effect was that double-quoting the pattern argument required
backslashes to quote special pattern characters, which interfered with the
backslash processing performed by double-quoted word expansion and was
inconsistent with how the == shell pattern matching operator treated
quoted characters.
In bash-3.2, the shell was changed to internally quote characters in single-
and double-quoted string arguments to the =~ operator, which suppresses the
special meaning of the characters special to regular expression processing
(`.', `[', `\', `(', `), `*', `+', `?', `{', `|', `^', and `$') and forces
them to be matched literally. This is consistent with how the `==' pattern
matching operator treats quoted portions of its pattern argument.
Since the treatment of quoted string arguments was changed, several issues
have arisen, chief among them the problem of white space in pattern arguments
and the differing treatment of quoted strings between bash-3.1 and bash-3.2.
Both problems may be solved by using a shell variable to hold the pattern.
Since word splitting is not performed when expanding shell variables in all
operands of the [[ command, this allows users to quote patterns as they wish
when assigning the variable, then expand the values to a single string that
may contain whitespace. The first problem may be solved by using backslashes
or any other quoting mechanism to escape the white space in the patterns.
Section F: Things to watch out for on certain Unix versions
F1) Why can't I use command line editing in my `cmdtool'?
+3 -1
View File
@@ -908,7 +908,9 @@ D1) Why does bash run a different version of `command' than
On many systems, `which' is actually a csh script that assumes
you're running csh. In tcsh, `which' and its cousin `where'
are builtins. On other Unix systems, `which' is a perl script
that uses the PATH environment variable.
that uses the PATH environment variable. Many Linux distributions
use GNU `which', which is a C program that can understand shell
aliases.
The csh script version reads the csh startup files from your
home directory and uses those to determine which `command' will
+7 -1
View File
@@ -3496,13 +3496,18 @@ execute_subshell_builtin_or_function (words, redirects, builtin, var,
else
{
r = execute_builtin (builtin, words, flags, 1);
fflush (stdout);
if (r == EX_USAGE)
r = EX_BADUSAGE;
exit (r);
}
}
else
exit (execute_function (var, words, flags, fds_to_close, async, 1));
{
r = execute_function (var, words, flags, fds_to_close, async, 1);
fflush (stdout);
exit (r);
}
}
/* Execute a builtin or function in the current shell context. If BUILTIN
@@ -3562,6 +3567,7 @@ execute_builtin_or_function (words, builtin, var, redirects,
result = execute_function (var, words, flags, fds_to_close, 0, 0);
/* We do this before undoing the effects of any redirections. */
fflush (stdout);
if (ferror (stdout))
clearerr (stdout);
+10 -4
View File
@@ -1,6 +1,6 @@
/* execute_cmd.c -- Execute a COMMAND structure. */
/* Copyright (C) 1987-2006 Free Software Foundation, Inc.
/* Copyright (C) 1987-2007 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -908,7 +908,7 @@ extern int timeval_to_cpu __P((struct timeval *, struct timeval *, struct timeva
#define POSIX_TIMEFORMAT "real %2R\nuser %2U\nsys %2S"
#define BASH_TIMEFORMAT "\nreal\t%3lR\nuser\t%3lU\nsys\t%3lS"
static int precs[] = { 0, 100, 10, 1 };
static const int precs[] = { 0, 100, 10, 1 };
/* Expand one `%'-prefixed escape sequence from a time format string. */
static int
@@ -2497,7 +2497,7 @@ execute_arith_command (arith_command)
#if defined (COND_COMMAND)
static char *nullstr = "";
static char * const nullstr = "";
static int
execute_cond_node (cond)
@@ -2547,7 +2547,7 @@ execute_cond_node (cond)
arg1 = cond_expand_word (cond->left->op, 0);
if (arg1 == 0)
arg1 = nullstr;
arg2 = cond_expand_word (cond->right->op, patmatch||rmatch);
arg2 = cond_expand_word (cond->right->op, rmatch ? 2 : (patmatch ? 1 : 0));
if (arg2 == 0)
arg2 = nullstr;
@@ -3071,6 +3071,11 @@ run_builtin:
if (command_line == 0)
command_line = savestring (the_printed_command_except_trap);
#if defined (PROCESS_SUBSTITUTION)
if ((subshell_environment & SUBSHELL_COMSUB) && (simple_command->flags & CMD_NO_FORK) && fifos_pending() > 0)
simple_command->flags &= ~CMD_NO_FORK;
#endif
execute_disk_command (words, simple_command->redirects, command_line,
pipe_in, pipe_out, async, fds_to_close,
simple_command->flags);
@@ -3557,6 +3562,7 @@ execute_builtin_or_function (words, builtin, var, redirects,
result = execute_function (var, words, flags, fds_to_close, 0, 0);
/* We do this before undoing the effects of any redirections. */
fflush (stdout);
if (ferror (stdout))
clearerr (stdout);
+1 -1
View File
@@ -119,7 +119,7 @@ ibuffer_space ()
if (pop_index > push_index)
return (pop_index - push_index - 1);
else
return (ibuffer_len - (push_index - pop_index));
return (ibuffer_len - (push_index - pop_index) - 1);
}
/* Get a key from the buffer of characters to be read.
-9
View File
@@ -469,10 +469,7 @@ rl_getc (stream)
/* If zero characters are returned, then the file that we are
reading from is empty! Return EOF in that case. */
if (result == 0)
{
_rl_trace("rl_getc: result == 0 returning EOF");
return (EOF);
}
#if defined (__BEOS__)
if (errno == EINTR)
@@ -505,13 +502,7 @@ _rl_trace("rl_getc: result == 0 returning EOF");
this is simply an interrupted system call to read ().
Otherwise, some error ocurred, also signifying EOF. */
if (errno != EINTR)
{
if (RL_ISSTATE(RL_STATE_READCMD))
_rl_trace("rl_getc: returning READERR: errno = %d", errno);
else
_rl_trace("rl_getc: returning EOF: errno = %d", errno);
return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF);
}
}
}
+1 -1
View File
@@ -25,6 +25,6 @@
regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
looks for to find the patch level (for the sccs version string). */
#define PATCHLEVEL 15
#define PATCHLEVEL 17
#endif /* _PATCHLEVEL_H_ */
+6
View File
@@ -766,6 +766,12 @@ do_redirection_internal (redirect, flags)
check_bash_input (redirector);
#endif
/* Make sure there is no pending output before we change the state
of the underlying file descriptor, since the builtins use stdio
for output. */
if (redirector == 1 && fileno (stdout) == redirector)
fflush (stdout);
if ((fd != redirector) && (dup2 (fd, redirector) < 0))
return (errno);
+1 -1
View File
@@ -375,7 +375,7 @@ here_document_to_fd (redirectee, ri)
char *filename;
int r, fd, fd2;
fd = sh_mktmpfd ("sh-thd", MT_USERANDOM, &filename);
fd = sh_mktmpfd ("sh-thd", MT_USERANDOM|MT_USETMPDIR, &filename);
/* If we failed for some reason other than the file existing, abort */
if (fd < 0)