]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
commit bash-20060824 snapshot
authorChet Ramey <chet.ramey@case.edu>
Sun, 4 Dec 2011 03:51:55 +0000 (22:51 -0500)
committerChet Ramey <chet.ramey@case.edu>
Sun, 4 Dec 2011 03:51:55 +0000 (22:51 -0500)
CWRU/CWRU.chlog
CWRU/CWRU.chlog~
Makefile.in
autom4te.cache/output.0
autom4te.cache/requests
builtins/caller.def
execute_cmd.c
execute_cmd.c~
lib/readline/rlprivate.h
subst.c
support/mkversion.sh

index da1cb68973b01188d7301739b62e191385a306d9..0f27170e6f155db26dfd324543227ee047d902a0 100644 (file)
@@ -13486,7 +13486,8 @@ print_cmd.c
                                   ----
 configure.in
        - set CROSS_COMPILE to the empty string by default, so we don't inherit
-         a random value from the environment
+         a random value from the environment.   Bug reported by
+         Lee Revell <rlrevell@joe-job.com>
 
                                   6/29
                                   ----
@@ -13525,6 +13526,10 @@ lib/readline/display.c
        - save and restore local_prompt_len in rl_{save,restore}_prompt
          [in bash-3.2-alpha]
 
+                                   7/8
+                                   ---
+[bash-3.2-alpha released]
+
                                    7/9
                                    ---
 lib/readline/display.c
@@ -13553,7 +13558,8 @@ lib/readline/display.c
        - in _rl_move_cursor_relative, we can use _rl_term_forward_char to
          move the cursor forward in a multibyte locale, if it's available.
          Since that function doesn't have a handle on where the cursor is in
-         the display buffer, it has to output a cr and print all the data
+         the display buffer, it has to output a cr and print all the data.
+         Fixes rest of problem reported by Egmont Koblinger
        - change variable denoting the position of the cursor in the line buffer
          from c_pos (variable local to rl_redisplay) to cpos_buffer_position
          (variable local to file) for future use by other functions
@@ -13603,9 +13609,23 @@ lib/readline/readline.c
        - if rl_read_key returns READERR to readline_internal_char[loop],
          abort as if it had read EOF on an empty line, without any conversion
          to newline, which would cause a partial line to be executed.  This
-         fixes the bug reported by mathieu Bonnet <mathieu.bonnet@nalkym.org>
+         fixes the bug reported by Mathieu Bonnet <mathieu.bonnet@nalkym.org>
 
 aclocal.m4
        - when testing for validity of /dev/fd/3, use /dev/null instead of
          standard input, since the standard input fails with linux and `su'.
          Bug reported by Greg Shafer <gschafer@zip.com.au>
+
+                                  8/17
+                                  ----
+Makefile.in
+       - switch the TAGS and tags targets so TAGS is the output of `etags' and
+         tags is the output of `ctags'.  Suggested by Masatake YAMATO
+
+                                  8/25
+                                  ----
+execute_cmd.c
+       - change code to match documentation: set BASH_COMMAND (which takes its
+         value from the_printed_command_except_trap) only when not running a
+         trap.  Rocky says the debugger is ok with this, and this is what his
+         original diffs did
index 8af91ae2b0759230d306efd5ddf6b16ce39b30a2..a5f61fbd93bd0571f3341e9da992a998094557b1 100644 (file)
@@ -13486,7 +13486,8 @@ print_cmd.c
                                   ----
 configure.in
        - set CROSS_COMPILE to the empty string by default, so we don't inherit
-         a random value from the environment
+         a random value from the environment.   Bug reported by
+         Lee Revell <rlrevell@joe-job.com>
 
                                   6/29
                                   ----
@@ -13525,6 +13526,10 @@ lib/readline/display.c
        - save and restore local_prompt_len in rl_{save,restore}_prompt
          [in bash-3.2-alpha]
 
+                                   7/8
+                                   ---
+[bash-3.2-alpha released]
+
                                    7/9
                                    ---
 lib/readline/display.c
@@ -13553,7 +13558,8 @@ lib/readline/display.c
        - in _rl_move_cursor_relative, we can use _rl_term_forward_char to
          move the cursor forward in a multibyte locale, if it's available.
          Since that function doesn't have a handle on where the cursor is in
-         the display buffer, it has to output a cr and print all the data
+         the display buffer, it has to output a cr and print all the data.
+         Fixes rest of problem reported by Egmont Koblinger
        - change variable denoting the position of the cursor in the line buffer
          from c_pos (variable local to rl_redisplay) to cpos_buffer_position
          (variable local to file) for future use by other functions
@@ -13603,9 +13609,15 @@ lib/readline/readline.c
        - if rl_read_key returns READERR to readline_internal_char[loop],
          abort as if it had read EOF on an empty line, without any conversion
          to newline, which would cause a partial line to be executed.  This
-         fixes the bug reported by mathieu Bonnet <mathieu.bonnet@nalkym.org>
+         fixes the bug reported by Mathieu Bonnet <mathieu.bonnet@nalkym.org>
 
 aclocal.m4
        - when testing for validity of /dev/fd/3, use /dev/null instead of
          standard input, since the standard input fails with linux and `su'.
-         Bug reported by 
+         Bug reported by Greg Shafer <gschafer@zip.com.au>
+
+                                  8/17
+                                  ----
+Makefile.in
+       - switch the TAGS and tags targets so TAGS is the output of `etags' and
+         tags is the output of `ctags'.  Suggested by Masatake YAMATO
index f753631005b3dce2d335663bd84f050d615d7523..b5339b72bb0a18bd7d6c2d5e7786fb4dafedbe54 100644 (file)
@@ -707,10 +707,10 @@ info dvi ps: force
 
 force:
 
-tags:  $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE)
+TAGS:  $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE)
        etags $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE)
 
-TAGS:  $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE)
+tags:  $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE)
        ctags -x $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE) > $@
 
 # Targets that actually do things not part of the build
index cd8c83b7507bf4d82b4667fbb39f1b274e5ad985..f81a663322ba1b453d364218a47dbf0b3264fa0a 100644 (file)
@@ -26872,7 +26872,7 @@ else
   bash_cv_dev_fd=""
 if test -d /dev/fd  && test -r /dev/fd/0 < /dev/null; then
 # check for systems like FreeBSD 5 that only provide /dev/fd/[012]
-   exec 3<&0
+   exec 3</dev/null
    if test -r /dev/fd/3; then
      bash_cv_dev_fd=standard
    else
index d1194287b88aa8265b9667ca99d0a874eb2f5637..84e4075e3c65875aa1f7dcc2ad2003258d75c6bc 100644 (file)
                         'AC_HEADER_DIRENT' => 1,
                         'AC_CHECK_FUNCS' => 1
                       }
-                    ], 'Autom4te::Request' ),
-             bless( [
-                      '1',
-                      1,
-                      [
-                        '/usr/share/autoconf'
-                      ],
-                      [
-                        '/usr/share/autoconf/autoconf/autoconf.m4f',
-                        '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_FUNC_FORK' => 1,
-                        'AC_DECL_SYS_SIGLIST' => 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_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_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' )
            );
 
index b6e8238829dc37eb3fda053dfd8a44595486a6a1..f5f2c0836649a704ed588e3e6afca3c18c3cbc9a 100644 (file)
@@ -28,9 +28,9 @@ $SHORT_DOC caller [EXPR]
 
 Returns the context of the current subroutine call.  
 
-Without EXPR, returns returns "$line $filename".  With EXPR,
+Without EXPR, returns "$line $filename".  With EXPR,
 returns "$line $subroutine $filename"; this extra information
-can be used used to provide a stack trace.
+can be used to provide a stack trace.
 
 The value of EXPR indicates how many call frames to go back before the
 current one; the top frame is frame 0.
index 5d2ae1220aec734561d6f14f1d402874d1b6c304..dde6b52c40ebe42f65da4ad4322b3107ec2797c5 100644 (file)
@@ -1670,7 +1670,11 @@ execute_for_command (for_command)
 
       /* Save this command unless it's a trap command and we're not running
         a debug trap. */
+#if 0
       if (signal_in_progress (DEBUG_TRAP) == 0 && (this_command_name == 0 || (STREQ (this_command_name, "trap") == 0)))
+#else
+      if (signal_in_progress (DEBUG_TRAP) == 0 && running_trap == 0)
+#endif
        {
          FREE (the_printed_command_except_trap);
          the_printed_command_except_trap = savestring (the_printed_command);
@@ -2089,7 +2093,11 @@ execute_select_command (select_command)
   if (echo_command_at_execute)
     xtrace_print_select_command_head (select_command);
 
+#if 0
   if (signal_in_progress (DEBUG_TRAP) == 0 && (this_command_name == 0 || (STREQ (this_command_name, "trap") == 0)))
+#else
+  if (signal_in_progress (DEBUG_TRAP) == 0 && running_trap == 0)
+#endif
     {
       FREE (the_printed_command_except_trap);
       the_printed_command_except_trap = savestring (the_printed_command);
@@ -2221,7 +2229,11 @@ execute_case_command (case_command)
   if (echo_command_at_execute)
     xtrace_print_case_command_head (case_command);
 
+#if 0
   if (signal_in_progress (DEBUG_TRAP) == 0 && (this_command_name == 0 || (STREQ (this_command_name, "trap") == 0)))
+#else
+  if (signal_in_progress (DEBUG_TRAP) == 0 && running_trap == 0)
+#endif
     {
       FREE (the_printed_command_except_trap);
       the_printed_command_except_trap = savestring (the_printed_command);
@@ -2758,7 +2770,11 @@ execute_simple_command (simple_command, pipe_in, pipe_out, async, fds_to_close)
   command_string_index = 0;
   print_simple_command (simple_command);
 
+#if 0
   if (signal_in_progress (DEBUG_TRAP) == 0 && (this_command_name == 0 || (STREQ (this_command_name, "trap") == 0)))
+#else
+  if (signal_in_progress (DEBUG_TRAP) == 0 && running_trap == 0)
+#endif
     {
       FREE (the_printed_command_except_trap);
       the_printed_command_except_trap = the_printed_command ? savestring (the_printed_command) : (char *)0;
index 2450810017c9ada87d57e647a99b67142bf21f22..5d2ae1220aec734561d6f14f1d402874d1b6c304 100644 (file)
@@ -1259,6 +1259,11 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
   reset_terminating_signals ();                /* in sig.c */
   /* Cancel traps, in trap.c. */
   restore_original_signals ();
+
+  /* Make sure restore_original_signals doesn't undo the work done by
+     make_child to ensure that asynchronous children are immune to SIGINT
+     and SIGQUIT.  Turn off asynchronous to make sure more subshells are
+     not spawned. */
   if (asynchronous)
     {
       setup_async_signals ();
index 50c02ec438088be9e4d6857df6a5077feb88c88c..64aa7bdd3fa4339e72afe3bfc278f39a279f533f 100644 (file)
@@ -33,7 +33,6 @@
  * Global structs undocumented in texinfo manual and not in readline.h   *
  *                                                                      *
  *************************************************************************/
 /* search types */
 #define RL_SEARCH_ISEARCH      0x01            /* incremental search */
 #define RL_SEARCH_NSEARCH      0x02            /* non-incremental search */
diff --git a/subst.c b/subst.c
index 07e0dbbcfddab72cafb8787d18d938dc81337c79..ecbe4125050e3cc1b0fa4e74bab67d4185b9c675 100644 (file)
--- a/subst.c
+++ b/subst.c
@@ -3005,7 +3005,9 @@ dequote_escapes (string)
   return result;
 }
 
-/* Return a new string with the quoted representation of character C. */
+/* Return a new string with the quoted representation of character C.
+   This turns "" into QUOTED_NULL, so the W_HASQUOTEDNULL flag needs to be
+   set in any resultant WORD_DESC where this value is the word. */
 static char *
 make_quoted_char (c)
      int c;
@@ -3027,7 +3029,9 @@ make_quoted_char (c)
   return (temp);
 }
 
-/* Quote STRING.  Return a new string. */
+/* Quote STRING, returning a new string.  This turns "" into QUOTED_NULL, so
+   the W_HASQUOTEDNULL flag needs to be set in any resultant WORD_DESC where
+   this value is the word. */
 char *
 quote_string (string)
      char *string;
@@ -3117,6 +3121,7 @@ quote_list (list)
       w->word->word = quote_string (t);
       free (t);
       w->word->flags |= W_QUOTED;
+      /* XXX - turn on W_HAVEQUOTEDNULL here? */
     }
   return list;
 }
@@ -3133,6 +3138,7 @@ dequote_list (list)
       s = dequote_string (tlist->word->word);
       free (tlist->word->word);
       tlist->word->word = s;
+      /* XXX - turn off W_HAVEQUOTEDNULL here? */
     }
   return list;
 }
@@ -5011,9 +5017,7 @@ parameter_brace_expand_rhs (name, value, c, quoted, qdollaratp, hasdollarat)
         a $@ in TEMP.  It does not matter if the $@ is quoted, as long as
         it does not expand to anything.  In this case, we want to return
         a quoted empty string. */
-      temp = (char *)xmalloc (2);
-      temp[0] = CTLNUL;
-      temp[1] = '\0';
+      temp = make_quoted_char ('\0');
       w->flags |= W_HASQUOTEDNULL;
     }
   else
index 6aca944fe72fa459ec9275c4820f733a425ffe15..92fa77c739e04a2303eb8d860479a64d2b192cbb 100644 (file)
@@ -67,7 +67,7 @@ fi
 # increment the build version if that's what's required
 
 if [ -n "$inc_build" ]; then
-       build_ver=`expr $build_ver + 1`
+       build_ver=`expr 1 + $build_ver`
 fi
 
 # what's the patch level?