]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
commit bash-20060919 snapshot
authorChet Ramey <chet.ramey@case.edu>
Sun, 4 Dec 2011 03:52:58 +0000 (22:52 -0500)
committerChet Ramey <chet.ramey@case.edu>
Sun, 4 Dec 2011 03:52:58 +0000 (22:52 -0500)
CWRU/CWRU.chlog
autom4te.cache/output.0
autom4te.cache/requests
autom4te.cache/traces.0
builtins/printf.def
builtins/read.def
configure
configure.in
subst.c
subst.h

index 7ab0214e313e802e6fa9526001f5e0f484768582..8710c18e79eb9b5c7706515c5025222107d637b4 100644 (file)
@@ -13710,3 +13710,17 @@ lib/readline/display.c
          for a multi-line prompt dependent on MB_CUR_MAX, so we don't take
          the function call hit unless we're in a locale that can have
          multibyte characters
+
+                                  9/19
+                                  ----
+subst.c
+       - make dequote_list extern so other parts of the shell can use it
+
+subst.h
+       - extern declaration for dequote_list
+
+builtins/read.def
+       - call dequote_list before assigning words read to array variable if
+         we saw an escape character.  Old code left spurious CTLESCs in the
+         string after processing backslashes.  Bug reported by Daniel Dawson
+         <ddawson@icehouse.net>
index 4d0990f5c47ad61c499ae3f3f13dbc15e18d0ce9..a51bde2617896169a7ffc2b33d5700e88fbb3dfc 100644 (file)
@@ -1,7 +1,7 @@
 @%:@! /bin/sh
 @%:@ From configure.in for Bash 3.2, version 3.190.
 @%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.59 for bash 3.2-beta.
+@%:@ Generated by GNU Autoconf 2.59 for bash 3.2-rc.
 @%:@
 @%:@ Report bugs to <bug-bash@gnu.org>.
 @%:@ 
@@ -270,8 +270,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='bash'
 PACKAGE_TARNAME='bash'
-PACKAGE_VERSION='3.2-beta'
-PACKAGE_STRING='bash 3.2-beta'
+PACKAGE_VERSION='3.2-rc'
+PACKAGE_STRING='bash 3.2-rc'
 PACKAGE_BUGREPORT='bug-bash@gnu.org'
 
 ac_unique_file="shell.h"
@@ -785,7 +785,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures bash 3.2-beta to adapt to many kinds of systems.
+\`configure' configures bash 3.2-rc to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -846,7 +846,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of bash 3.2-beta:";;
+     short | recursive ) echo "Configuration of bash 3.2-rc:";;
    esac
   cat <<\_ACEOF
 
@@ -1039,7 +1039,7 @@ fi
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-bash configure 3.2-beta
+bash configure 3.2-rc
 generated by GNU Autoconf 2.59
 
 Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1053,7 +1053,7 @@ cat >&5 <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by bash $as_me 3.2-beta, which was
+It was created by bash $as_me 3.2-rc, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   $ $0 $@
@@ -1422,7 +1422,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
 
 
 BASHVERS=3.2
-RELSTATUS=beta
+RELSTATUS=rc
 
 case "$RELSTATUS" in
 alp*|bet*|dev*|rc*)    DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
@@ -27791,7 +27791,7 @@ _ASBOX
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by bash $as_me 3.2-beta, which was
+This file was extended by bash $as_me 3.2-rc, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -27854,7 +27854,7 @@ _ACEOF
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-bash config.status 3.2-beta
+bash config.status 3.2-rc
 configured by $0, generated by GNU Autoconf 2.59,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 
index 84e4075e3c65875aa1f7dcc2ad2003258d75c6bc..baa7f90df4a5f72ac75d0295aabb043a16b88b7a 100644 (file)
                       {
                         '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_HEADER_TIME' => 1,
                         'AC_FUNC_WAIT3' => 1,
-                        'AC_FUNC_LSTAT' => 1,
-                        'AC_STRUCT_TM' => 1,
+                        'AC_HEADER_TIME' => 1,
                         'AM_AUTOMAKE_VERSION' => 1,
-                        'AC_TYPE_MODE_T' => 1,
+                        'AC_STRUCT_TM' => 1,
+                        'AC_FUNC_LSTAT' => 1,
                         'AC_FUNC_GETMNTENT' => 1,
+                        'AC_TYPE_MODE_T' => 1,
                         'AC_FUNC_STRTOD' => 1,
                         'AC_CHECK_HEADERS' => 1,
                         'AC_FUNC_STRNLEN' => 1,
                         'AC_STRUCT_ST_BLOCKS' => 1,
                         'AC_TYPE_SIGNAL' => 1,
                         'AC_TYPE_UID_T' => 1,
-                        'AC_CONFIG_AUX_DIR' => 1,
                         'AC_PROG_MAKE_SET' => 1,
-                        'sinclude' => 1,
+                        'AC_CONFIG_AUX_DIR' => 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_INIT' => 1,
                         'AC_STRUCT_TIMEZONE' => 1,
                         'AM_MAINTAINER_MODE' => 1,
                         'AC_FUNC_UTIME_NULL' => 1,
                         'AC_FUNC_SELECT_ARGTYPES' => 1,
-                        'AC_FUNC_STRFTIME' => 1,
                         'AC_HEADER_STAT' => 1,
-                        'AC_PROG_CPP' => 1,
+                        'AC_FUNC_STRFTIME' => 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_FUNC_MEMCMP' => 1,
                         'AC_PROG_LN_S' => 1,
+                        'AC_FUNC_MEMCMP' => 1,
                         'm4_include' => 1,
                         'AC_HEADER_DIRENT' => 1,
                         'AC_CHECK_FUNCS' => 1
index 75759460c0ffc7afaf8e6f34903a7f12aba489d9..0b6f81f0f93ed6748f3966265d044dc30e758d98 100644 (file)
@@ -1,4 +1,4 @@
-m4trace:configure.in:30: -1- AC_INIT([bash], [3.2-beta], [bug-bash@gnu.org])
+m4trace:configure.in:30: -1- AC_INIT([bash], [3.2-rc], [bug-bash@gnu.org])
 m4trace:configure.in:30: -1- m4_pattern_forbid([^_?A[CHUM]_])
 m4trace:configure.in:30: -1- m4_pattern_forbid([_AC_])
 m4trace:configure.in:30: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
index 81ee0db31dfa6c045ec85861bf7486b0a9dceb79..0e1d4aa929e6343f3a7ed80cc26f32f3771f003e 100644 (file)
@@ -91,6 +91,7 @@ extern int errno;
   do { \
     char *b = 0; \
     int nw; \
+    clearerr (stdout); \
     if (have_fieldwidth && have_precision) \
       nw = asprintf(&b, f, fieldwidth, precision, func); \
     else if (have_fieldwidth) \
index 278524f66b232b5030b0d0a291240bf37293aadf..21521db0f21deaec21e94725378e2cf98d5bf793 100644 (file)
@@ -534,7 +534,10 @@ add_char:
       alist = list_string (input_string, ifs_chars, 0);
       if (alist)
        {
-         word_list_remove_quoted_nulls (alist);
+         if (saw_escape)
+           dequote_list (alist);
+         else
+           word_list_remove_quoted_nulls (alist);
          assign_array_var_from_word_list (var, alist, 0);
          dispose_words (alist);
        }
index b79186eb24c4d4902fc8ba8151dfd8fb2d88842e..b16da41f9346729bae61a752eaa61d38f078e0b3 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
 #! /bin/sh
 # From configure.in for Bash 3.2, version 3.190.
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for bash 3.2-beta.
+# Generated by GNU Autoconf 2.59 for bash 3.2-rc.
 #
 # Report bugs to <bug-bash@gnu.org>.
 #
@@ -270,8 +270,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='bash'
 PACKAGE_TARNAME='bash'
-PACKAGE_VERSION='3.2-beta'
-PACKAGE_STRING='bash 3.2-beta'
+PACKAGE_VERSION='3.2-rc'
+PACKAGE_STRING='bash 3.2-rc'
 PACKAGE_BUGREPORT='bug-bash@gnu.org'
 
 ac_unique_file="shell.h"
@@ -785,7 +785,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures bash 3.2-beta to adapt to many kinds of systems.
+\`configure' configures bash 3.2-rc to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -846,7 +846,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of bash 3.2-beta:";;
+     short | recursive ) echo "Configuration of bash 3.2-rc:";;
    esac
   cat <<\_ACEOF
 
@@ -1039,7 +1039,7 @@ fi
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-bash configure 3.2-beta
+bash configure 3.2-rc
 generated by GNU Autoconf 2.59
 
 Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1053,7 +1053,7 @@ cat >&5 <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by bash $as_me 3.2-beta, which was
+It was created by bash $as_me 3.2-rc, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   $ $0 $@
@@ -1422,7 +1422,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
 
 
 BASHVERS=3.2
-RELSTATUS=beta
+RELSTATUS=rc
 
 case "$RELSTATUS" in
 alp*|bet*|dev*|rc*)    DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
@@ -27791,7 +27791,7 @@ _ASBOX
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by bash $as_me 3.2-beta, which was
+This file was extended by bash $as_me 3.2-rc, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -27854,7 +27854,7 @@ _ACEOF
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-bash config.status 3.2-beta
+bash config.status 3.2-rc
 configured by $0, generated by GNU Autoconf 2.59,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 
index c5921eb5e47b78b5c944f138c0ae20124675c700..9246d5878afd3c8c27e9ea00a263b080d980f1a2 100644 (file)
@@ -25,7 +25,7 @@ dnl Process this file with autoconf to produce a configure script.
 AC_REVISION([for Bash 3.2, version 3.190])dnl
 
 define(bashvers, 3.2)
-define(relstatus, beta)
+define(relstatus, rc)
 
 AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
 
diff --git a/subst.c b/subst.c
index ecbe4125050e3cc1b0fa4e74bab67d4185b9c675..37f5d00b8bec812520acabb821cd0eb4e55f8232 100644 (file)
--- a/subst.c
+++ b/subst.c
@@ -205,7 +205,6 @@ static WORD_LIST *list_quote_escapes __P((WORD_LIST *));
 static char *dequote_escapes __P((char *));
 static char *make_quoted_char __P((int));
 static WORD_LIST *quote_list __P((WORD_LIST *));
-static WORD_LIST *dequote_list __P((WORD_LIST *));
 static char *remove_quoted_escapes __P((char *));
 static char *remove_quoted_nulls __P((char *));
 
@@ -3065,7 +3064,7 @@ quote_string (string)
   return (result);
 }
 
-/* De-quoted quoted characters in STRING. */
+/* De-quote quoted characters in STRING. */
 char *
 dequote_string (string)
      char *string;
@@ -3126,7 +3125,8 @@ quote_list (list)
   return list;
 }
 
-static WORD_LIST *
+/* De-quote quoted characters in each word in LIST. */
+WORD_LIST *
 dequote_list (list)
      WORD_LIST *list;
 {
diff --git a/subst.h b/subst.h
index e07055b742052f2591801160fcf67b5118b66a40..9bc6e2be0f81af1ab9574f2ad24d841e91110bd4 100644 (file)
--- a/subst.h
+++ b/subst.h
@@ -154,9 +154,12 @@ extern char *expand_assignment_string_to_string __P((char *, int));
 /* Expand an arithmetic expression string */
 extern char *expand_arith_string __P((char *, int));
 
-/* De-quoted quoted characters in STRING. */
+/* De-quote quoted characters in STRING. */
 extern char *dequote_string __P((char *));
 
+/* De-quote quoted characters in each word in LIST. */
+extern WORD_LIST *dequote_list __P((WORD_LIST *));
+
 /* Expand WORD, performing word splitting on the result.  This does
    parameter expansion, command substitution, arithmetic expansion,
    word splitting, and quote removal. */