X-Spam-Check-By: sourceware.org Date: Thu, 12 Oct 2006 09:29:33 -0400 From: Chet Ramey To: bug-bash AT gnu DOT org, gnu-announce AT gnu DOT org, cygwin AT sources DOT redhat DOT com, linux-announce AT sws1 DOT ornl DOT gov Subject: Bash-3.2 available for FTP Cc: doko AT debian DOT org, twaugh AT redhat DOT com, jkh AT apple DOT com, chet AT case DOT edu Reply-To: chet DOT ramey AT case DOT edu Message-ID: <061012132933.AA13023.SM@caleb.ins.cwru.edu> Read-Receipt-To: chet DOT ramey AT case DOT edu MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Introduction ============ The first public release of bash-3.2 is now available with the URLs ftp://ftp.cwru.edu/pub/bash/bash-3.2.tar.gz ftp://ftp.gnu.org/pub/gnu/bash/bash-3.2.tar.gz and from the usual GNU mirror sites. This tar file does not include the formatted documentation (postscript, dvi, html, and nroffed versions of the manual pages); that may be retrieved with the URLs ftp://ftp.cwru.edu/pub/bash/bash-doc-3.2.tar.gz ftp://ftp.gnu.org/pub/gnu/bash/bash-doc-3.2.tar.gz When unpacking the documentation, make sure to extract the tar file in the bash-3.2 source directory. Diffs from bash-3.1 are not available. Please use `bashbug' to report bugs with this version. It is built and installed at the same time as bash. Installation ============ Please read the README file first. Installation instructions are provided in the INSTALL file. New Features ============ This is the second maintenance release for the third major release of bash. This release fixes the relatively few remaining bugs in the bash3 line. It will probably be the final release before bash version 4. Read the file NEWS in the bash-3.2 distribution for a complete description of the new features. Changes have been made to the Readline library being released at the same time as bash-3.2, readline-5.2, so that Bash can be linked against an already-installed Readline library rather than the private version in lib/readline. Only readline-5.1 and later versions are able to provide all of the symbols that bash-3.2 requires; earlier versions of the Readline library will not work correctly. A complete list of changes between bash-3.1 and bash-3.2 is available in the file CHANGES; the relevant portions are appended. Readline ======== Also available is a new release of the standalone Readline library, version 5.2, with its own configuration scripts and Makefiles. It can be retrieved with the URLs ftp://ftp.cwru.edu/pub/bash/readline-5.2.tar.gz ftp://ftp.gnu.org/pub/gnu/readline/readline-5.2.tar.gz and from the usual GNU mirror sites. Diffs from readline-5.1 are not available. The formatted Readline documentation is included in the readline distribution tar file. A separate announcement listing the changes in Readline is being distributed. As always, thanks for your help. Chet +========== CHANGES ==========+ This document details the changes between this version, bash-3.2-release, and the previous version, bash-3.2-beta. 1. Changes to Bash a. Fixed a bug that caused the temporary environment passed to a command to affect the shell's environment under certain circumstances. b. Fixed a bug in the printf builtin that caused the %q format specifier to ignore empty string arguments. c. Improved multibyte character environment detection at configuration time. d. Fixed a bug in the read builtin that left spurious escape characters in the input after processing backslashes when assigning to an array variable. 2. Changes to Readline a. Fixed a redisplay bug that occurred in multibyte-capable locales when the prompt was one character longer than the screen width. ------------------------------------------------------------------------------ This document details the changes between this version, bash-3.2-beta, and the previous version, bash-3.2-alpha. 1. Changes to Bash a. Changed the lexical analyzer to treat locale-specific blank characters as white space. b. Fixed a bug in command printing to avoid confusion between redirections and process substitution. c. Fixed problems with cross-compiling originating from inherited environment variables. d. Added write error reporting to printf builtin. e. Fixed a bug in the variable expansion code that could cause a core dump in a multi-byte locale. f. Fixed a bug that caused substring expansion of a null string to return incorrect results. g. BASH_COMMAND now retains its previous value while executing commands as the result of a trap, as the documentation states. 2. Changes to Readline a. Fixed a bug with prompt redisplay in a multi-byte locale to avoid redrawing the prompt and input line multiple times. b. Fixed history expansion to not be confused by here-string redirection. c. Readline no longer treats read errors by converting them to newlines, as it does with EOF. This caused partial lines to be returned from readline(). ------------------------------------------------------------------------------ This document details the changes between this version, bash-3.2-alpha, and the previous version, bash-3.1-release. 1. Changes to Bash a. Fixed a source bug that caused the minimal configuration to not compile. b. Fixed memory leaks in error handling for the `read' builtin. c. Changed the [[ and (( compound commands to set PIPESTATUS with their exit status. d. Fixed some parsing problems with compound array assignments. e. Added additional configuration changes for: NetBSD (incomplete multibyte character support) f. Fixed two bugs with local array variable creation when shadowing a variable of the same name from a previous context. g. Fixed the `read' builtin to restore the correct set of completion functions if a timeout occurs. h. Added code to defer the initialization of HISTSIZE (and its stifling of the history list) until the history file is loaded, allowing a startup file to override the default value. i. Tightened up the arithmetic expression parsing to produce better error messages when presented with invalid operators. j. Fixed the cross-compilation support to build the signal list at shell invocation rather than compile time if cross-compiling. k. Fixed multibyte support for non-gcc compilers (or compilers that do not allow automatic array variable sizing based on a non-constant value). l. Several fixes to the code that manages the list of terminated jobs and their exit statuses, and the list of active and recently-terminated jobs to avoid pid aliasing/wraparound and allocation errors. m. Fixed a problem that allowed scripts to die due to SIGINT while waiting for children, even when started in the background or otherwise ignoring SIGINT. n. Fixed a bug that caused shells invoked as -/bin/bash from not being recognized as login shells. o. Fixed a problem that caused shells in the background to give the terminal to a process group other than the foreground shell process group. p. Fixed a problem with extracting the `varname' in ${#varname}. q. Fixed the code that handles SIGQUIT to not exit immediately -- thereby calling functions that may not be called in a signal handler context -- but set a flag and exit afterward (like SIGINT). r. Changed the brace expansion code to skip over braces that don't begin a valid matched brace expansion construct. s. Fixed `typeset' and `declare' to not require that their shell function operands to be valid shell identifiers. t. Changed `test' to use access(2) with a temporary uid/euid swap when testing file attributes and running setuid, and access(2) in most other cases. u. Changed completion code to not attempt command name completion on a line consisting solely of whitespace when no_empty_command_completion is set. v. The `hash' builtin now prints nothing in posix mode when the hash table is empty, and prints a message to that effect to stdout instead of stderr when not in posix mode. w. Fixed a bug in the extended pattern matching code that caused it to fail to match periods with certain patterns. x. Fixed a bug that caused the shell to dump core when performing filename generation in directories with thousands of files. y. Returned to the original Bourne shell rules for parsing ``: no recursive parsing of embedded quoted strings or ${...} constructs. z. The inheritence of the DEBUG, RETURN, and ERR traps is now dependent only on the settings of the `functrace' and `errtrace' shell options, rather than whether or not the shell is in debugging mode. aa. Fixed a problem with $HOME being converted to ~ in the expansion of members of the DIRSTACK array. bb. Fixed a problem with quoted arguments to arithmetic expansions in certain constructs. cc. The command word completion code now no longer returns matching directories while searching $PATH. dd. Fixed a bug with zero-padding and precision handling in snprintf() replacement. ee. Fixed a bug that caused the command substitution code not to take embedded shell comments into account. ff. Fixed a bug that caused $((...);(...)) to be misinterpreted as an arithmetic substitution. gg. Fixed a bug in the prompt expansion code that inappropriately added a \001 before a \002 under certain circumstances. hh. Fixed a bug that caused `unset LANG' to not properly reset the locale (previous versions would set the locale back to what it was when bash was started rather than the system's "native" locale). ii. Fixed a bug that could cause file descriptors > 10 to not be closed even when closed explicitly by a script. jj. Fixed a bug that caused single quotes to be stripped from ANSI-C quoting inside double-quoted command substitutions. kk. Fixed a bug that could cause core dumps when `return' was executed as the last element of a pipeline inside a shell function. ll. Fixed a bug that caused DEBUG trap strings to overwrite commands stored in the jobs list. 2. Changes to Readline a. Fixed a problem that caused segmentation faults when using readline in callback mode and typing consecutive DEL characters on an empty line. b. Fixed several redisplay problems with multibyte characters, all having to do with the different code paths and variable meanings between single-byte and multibyte character redisplay. c. Fixed a problem with key sequence translation when presented with the sequence \M-\C-x. d. Fixed a problem that prevented the `a' command in vi mode from being undone and redone properly. e. Fixed a problem that prevented empty inserts in vi mode from being undone properly. f. Fixed a problem that caused readline to initialize with an incorrect idea of whether or not the terminal can autowrap. g. Fixed output of key bindings (like bash `bind -p') to honor the setting of convert-meta and use \e where appropriate. h. Changed the default filename completion function to call the filename dequoting function if the directory completion hook isn't set. This means that any directory completion hooks need to dequote the directory name, since application-specific hooks need to know how the word was quoted, even if no other changes are made. i. Fixed a bug with creating the prompt for a non-interactive search string when there are non-printing characters in the primary prompt. j. Fixed a bug that caused prompts with invisible characters to be redrawn multiple times in a multibyte locale. k. Fixed a bug that could cause the key sequence scanning code to return the wrong function. l. Fixed a problem with the callback interface that caused it to fail when using multi-character keyboard macros. m. Fixed a bug that could cause a core dump when an edited history entry was re-executed under certain conditions. n. Fixed a bug that caused readline to reference freed memory when attmpting to display a portion of the prompt. 3. New Features in Bash a. Changed the parameter pattern replacement functions to not anchor the pattern at the beginning of the string if doing global replacement - that combination doesn't make any sense. b. When running in `word expansion only' mode (--wordexp option), inhibit process substitution. c. Loadable builtins now work on MacOS X 10.[34]. d. Shells running in posix mode no longer set $HOME, as POSIX requires. e. The code that checks for binary files being executed as shell scripts now checks only for NUL rather than any non-printing character. f. Quoting the string argument to the [[ command's =~ operator now forces string matching, as with the other pattern-matching operators. 4. New Features in Readline a. Calling applications can now set the keyboard timeout to 0, allowing poll-like behavior. b. The value of SYS_INPUTRC (configurable at compilation time) is now used as the default last-ditch startup file. c. The history file reading functions now allow windows-like \r\n line terminators. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer Live Strong. No day but today. Chet Ramey, ITS, CWRU chet AT case DOT edu http://cnswww.cns.cwru.edu/~chet/ -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/