Newsgroups: comp.unix.shell
From: c...@nike.ins.cwru.edu (Chet Ramey)
Date: 27 Jul 2004 19:17:30 GMT
Local: Tues, Jul 27 2004 3:17 pm
Subject: Bash-3.0 available for FTP
Introduction
============ The first public release of bash-3.0 is now available with the URLs ftp://ftp.cwru.edu/pub/bash/bash-3.0.tar.gz and from the usual GNU mirror sites. This tar file does not include the formatted documentation ftp://ftp.cwru.edu/pub/bash/bash-doc-3.0.tar.gz When unpacking the documentation, make sure to extract the tar file Diffs from bash-2.05b are available with the URLs ftp://ftp.cwru.edu/pub/bash/bash-2.05b-3.0.diff.gz Make sure to apply the diffs using `patch -p1' from within a Please use `bashbug' to report bugs with this version. It is built Installation Please read the README file first. Installation instructions are provided in the INSTALL file. New Features This is the third major release of bash. Bash-3.0 provides a number of bug fixes and cleanups to the features Read the file NEWS in the bash-3.0 distribution for a complete description o Features to support the bash debugger have been implemented, and there o HISTCONTROL is now a colon-separated list of options and has been o Brace expansion has been extended with a new {x..y} form, producing o Timestamps are now kept with history entries, with an option to save o The `[[' command can now perform extended regular expression (egrep-like) o A new `pipefail' option causes a pipeline to return a failure status if o The `jobs', `kill', and `wait' builtins now accept job control notation Changes have been made to the Readline library being released at A complete list of changes between bash-2.05b and bash-3.0 is Readline Also available is a new release of the standalone readline library, ftp://ftp.cwru.edu/pub/bash/readline-5.0.tar.gz and from the usual GNU mirror sites. Diffs from readline-4.3 are available with the URLs ftp://ftp.cwru.edu/pub/bash/readline-4.3-5.0.diff.gz Make sure to install the patches using `patch -p1 < patch-file' from The formatted Readline documentation is included in the readline A separate announcement listing the changes in Readline is being As always, thanks for your help. Chet +========== CHANGES ==========+ 1. Changes to Bash a. Fixed a boundary overrun that could cause segmentation faults when the b. Changed posix mode behavior so that an error in a variable assignment c. Change the directory expansion portion of the completion code to not d. Fixed a problem that caused `bash -r' to turn on restrictions before e. Fixed a problem with the default operation of the `umask' builtin. 2. Changes to Readline a. Fixed a problem with readline saving the contents of the current line b. Fixed a problem with EOF detection when using rl_event_hook. c. Fixed a problem with the vi mode `p' and `P' commands ignoring numeric --------------------------------------------------------------------------- --- 1. Changes to Bash a. Fixed a bug that caused incorrect behavior when referecing element 0 of b. System-specific changes for: SCO Unix 3.2, Tandem. c. Fixed a bug that caused inappropriate word splitting when a variable was d. Fixed a bug that caused `pwd' to not display anything in physical mode e. Fixed a bug in the pre- and post- increment and decrement parsing in the f. Fixed a bug that caused `history -p' to add an entry to the history list, g. Fixed a bug that could cause a core dump if `cd' is asked to print out a h. Fixed a bug that caused jobs to be put into the wrong process group under i. `unalias' now returns failure if no alias name arguments are supplied. j. Documented the characters not allowed to appear in an alias name. k. $* is no longer expanded as if in double quotes when it appears in the l. The `bashbug' script now uses a directory in $TMPDIR for exclusive m. Fixed a few problems with `cd' and `pwd' when asked to operate on pathnames n. Fixed a memory leak caused when creating multiple local array variables o. Fixed a problem with calls to getcwd() so that bash now operates better p. The `trap' builtin now reports an error if a single non-signal argument q. Fixed a bug that caused `umask' to not work correctly when presented r. When `getopts' reaches the end of options, OPTARG is unset, as POSIX s. Interactive mode now depends on whether or not stdin and stderr are t. Fixed vi-mode completion to work more as POSIX specifies (e.g., doing the 2. Changes to Readline a. Fixed a problem that could cause readline to refer to freed memory when b. Improvements to the code that expands and displays prompt strings c. Fixed a problem with vi-mode not correctly remembering the numeric argument d. Fixed a bug in vi-mode that caused multi-digit count arguments to work e. Fixed a problem in vi-mode that caused the last text modification command f. Fixed problems with changing characters and changing case at the end of 3. New Features in Bash a. The `jobs', `kill', and `wait' builtins now accept job control notation b. The historical behavior of `trap' that allows a missing `action' argument 4. New Features in Readline a. When listing completions, directories have a `/' appended if the --------------------------------------------------------------------------- --- 1. Changes to Bash a. Fixes to build correctly when arrays are not compiled into the shell. b. Fixed command substitution to run any exit trap defined in the command c. Fixes to process group synchronization code so that every child process d. Fixed processing of octal and hex constants in printf builtin for POSIX.2 e. Fixed a couple of core dumps in the pattern removal code. f. Fixes to the array subrange extraction code to deal better with sparse g. Parser errors and other errors that result in the shell exiting now cause h. Change the command substitution completion functions to not append any i. Fix history initialization so assignments to $histchars made in startup j. If an exit trap does not contain a call to `exit', the shell now uses k. The parser now prompts with $PS2 if it reads a newline while parsing a l. When performing a compound array assignment, the parser doesn't treat m. Fixed a bug that caused `return' executed in a trap command to make the n. Fixed the value of errno set by the pathname canonicalization functions. o. Changed the grammar so that `time' alone on a line times a null command p. The pattern substitution coded no longer performs quote removal on the q. Fixed a bug that could cause core dumps when checking whether a quoted r. Fixes to the pattern removal and pattern replacement expansions to deal s. Fix to the substring expansion (${param:off[:len]}) to deal with (possibly t. Fixed a bug that caused some key bindings set in an inputrc to be ignored u. Fixed a bug that caused unsetting a local variable within a function to v. Fixed a bug that caused invalid variables to be created when using w. Fixed a bug that caused "$@" to expand incorrectly when used as the right x. Fixed a slight cosmetic problem when printing commands containing a y. Fixed a problem that could cause here documents to not be created correctly 2. Changes to Readline a. Change to history expansion functions to treat `^' as equivalent to word b. Some changes to the display code to improve display and redisplay of c. Changes to speed up the multibyte character redisplay code. d. Fixed a bug in the vi-mode `E' command that caused it to skip over the e. Fixed a bug that could cause incorrect filename quoting when f. Fixed a bug in redisplay triggered when the prompt string contains g. Fixed some display (and other) bugs encountered in multibyte locales h. Fixed some display bugs caused by multibyte characters in prompt strings. i. Fixed a problem with history expansion caused by non-whitespace characters 3. New Features in Bash a. printf builtin understands two new escape sequences: \" and \?. b. `echo -e' understands two new escape sequences: \" and \?. c. The GNU `gettext' package and libintl have been integrated; the shell's d. The `\W' prompt expansion now abbreviates $HOME as `~', like `\w'. e. The error message printed when bash cannot open a shell script supplied 4. New Features in Readline a. New application variable, rl_completion_quote_character, set to any b. New application variable, rl_completion_suppress_quote, settable by an c. New application variable, rl_completion_found_quote, set to a non-zero d. New function hook, rl_completion_word_break_hook, called when readline e. New bindable command: unix-filename-rubout. Does the same thing as --------------------------------------------------------------------------- --- 1. Changes to Bash a. Fixes so that the shell will compile without some of the default options b. Fixed an error message that did not pass enough arguments to printf. c. Fixed a bug that caused input redirection to a builtin inside a script d. Fixed a bug that caused subshell initialization to close the file e. Fixed a bug that caused the shell to not advance a string pointer over f. Fixed the internal logout code so that shells that time out waiting for g. Portability and configuration changes for: cygwin, HP/UX, GNU/FreeBSD. h. The parser no longer adds implicit double quotes to ((...)) arithmetic i. The ((...)) arithmetic command evaluation code was fixed to not dump core j. The ((...)) arithmetic command evaluation code was fixed to not perform k. Fixed a bug that caused word splitting to be performed incorrectly when l. Fixed a bug in brace expansion that caused a quoted `$' preceding an m. Fixed a bug that caused a leading `-' in the shell's name to cause it to n. Fixed a bug in the arithmetic evaluation code that could cause longjmps o. Fixed a bug in the calculation of how many history lines are new in a p. Fixed a bug in pathname canonicalization that caused the shell to dump q. Fixed the parser so that it doesn't try to compare a char variable to r. Fixed a bug in the simple command execution code that caused occasional s. The shell does a better job of saving any partial parsing state during t. The completion code now splits words more like the expansion code when u. The locale code does a better job of recomputing the various locale v. The programmable completion code does a better job of dequoting expanded w. The shell no longer seg faults if the expanded value of $PS4 is null x. Fixed a bug that caused core dumps when a here string expanded to NULL. y. The mail checking code now makes sure the mailbox is bigger before z. The parser does not try to expand $'...' and $"..." when the appear aa. Fixed a bug that caused `for x; do ...' and `select x; do ... to use bb. Fixed a bug that caused a subshell of a restricted shell (e.g., one cc. Fixed a problem with empty replacements for a pattern that doesn't match dd. Word expansions performed while expanding redirections no longer search ee. Improvements to the alias expansion code when expanding subsequent words ff. `cd -' now prints the current working directory after a successful chdir gg. The shell does a better job of ensuring a child process dies of SIGINT hh. The arithmetic expansion variable assignment code now does the right ii. When history expansion verification is enabled, the bash readline helper jj. Fixed bugs with multiple consecutive alias expansion when one of the kk. Fixed a problem in the programmable completion code that could cause core ll. The \[ and \] escape characters are now ignored when decoding the prompt mm. Fixed a bug that could leave extra characters in a string when doing nn. Command substitution and other subshell operations no longer reset the oo. Better line number management when executing simple commands, conditional pp. The globbing code now uses malloc, with its better failure properties, qq. Fixed a bug that caused expansions like #{a[2]:=value} to create the rr. Fixed a bug in the handling of a `?(...)' pattern immediately following ss. Fixed a bug that caused a `return' invoked in an exit trap when exit is tt. Fixed a bug that caused CTLESC and CTLNUL characters to not be escaped uu. Fixed a bug that caused quoted null characters in an expanded word list vv. Fixed a bug that caused redirections accompanying a null command to persist ww. Fixed a bug that caused the prompt to be printed when the shell was xx. Fixed a bug that resulted in core dumps when the completion for a command yy. Fixed a bug that caused evaluation of programmable completions to print zz. Bash now disables line editing when $EMACS == `t' and $TERM == `dumb' aaa. In posix mode, `kill -l' causes signal names to be displayed without bbb. Clear error flag on standard output so it doesn't persist across multiple ccc. In posix mode, `alias' displays alias values without the leading `alias', ddd. In posix mode, the `trap' builtin doesn't check whether or not its eee. Fixed several bugs in the handling of "$*" and "${array[*]}" by the fff. Fixed several problems with the handling of ${array[@]}, ${array[*]}, ggg. Fixed a bug that did not allow `time' to be aliased. hhh. Improved the mail checking code so it won't check (and possibly cause an iii. If the `chkwinsize' option is enabled, the shell checks for window size jjj. Removed the attempts to avoid adding a slash at the end of a completed kkk. Fixed PATH lookup code so it treats the permission bits separately for lll. Fixed the locale code to reset the parser's idea of the character class mmm. The shell now binds its special readline functions and key bindings only nnn. The shell now reports on processes that dump core due to signals when 2. Changes to Readline a. Fixes to avoid core dumps because of null pointer references in the b. Fix to avoid infinite recursion caused by certain key combinations. c. Fixed a bug that caused the vi-mode `last command' to be set incorrectly. d. Readline no longer tries to read ahead more than one line of input, even e. Fixed the code that adjusts the point to not mishandle null wide f. Fixed a bug in the history expansion `g' modifier that caused it to skip g. Fixed a bug that caused the prompt to overwrite previous output when the h. History traversal with arrow keys in vi insertion mode causes the cursor i. The locale initialization code does a better job of using the right j. Fixed the history word tokenizer to handle <( and >( better when used as k. The overwrite mode code received several bug fixes to improve undo. l. Many speedups to the multibyte character redisplay code. m. The callback character reading interface should not hang waiting to read n. Fixed a bug with redoing vi-mode `s' command. o. The code that initializes the terminal tracks changes made to the terminal p. Fixed a bug that could cause garbage to be inserted in the buffer when q. Fixed a bug in the redisplay code that caused problems on systems r. Undo and redo now work better after exiting vi insertion mode. s. Make sure system calls are restarted after a SIGWINCH is received using t. Improvements to the code that displays possible completions when using u. Fixed a problem when parsing nested if statements in inputrc files. v. The completer now takes multibyte characters into account when looking for w. The history search functions now perform better bounds checking on the 3. New Features in Bash a. ANSI string expansion now implements the \x{hexdigits} escape. b. There is a new loadable `strftime' builtin. c. New variable, COMP_WORDBREAKS, which controls the readline completer's d. The `type' builtin no longer reports on aliases unless alias expansion e. HISTCONTROL is now a colon-separated list of values, which permits f. HISTCONTROL may now include the `erasedups' option, which causes all lines g. `configure' has a new `--enable-multibyte' argument that permits multibyte h. New variables to support the bash debugger: BASH_ARGC, BASH_ARGV, i. FUNCNAME has been changed to support the debugger: it's now an array j. for, case, select, arithmetic commands now keep line number information k. There is a new `RETURN' trap executed when a function or sourced script l. New invocation option: --debugger. Enables debugging and turns on new m. New `functrace' and `errtrace' options to `set -o' cause DEBUG and ERR n. The DEBUG trap is run before binding the variable and running the action o. New `--enable-debugger' option to `configure' to compile in the debugger p. `declare -F' now prints out extra line number and source file information q. If `extdebug' is enabled, a non-zero return value from a DEBUG trap causes r. New `caller' builtin to provide a call stack for the bash debugger. s. The DEBUG trap is run just before the first command in a function body is t. `for', `select', and `case' command heads are printed when `set -x' is u. There is a new {x..y} brace expansion, which is shorthand for {x.x+1, v. New ksh93-like ${!array[@]} expansion, expands to all the keys (indices) w. New `force_fignore' shopt option; if enabled, suffixes specified by x. New `gnu_errfmt' shopt option; if enabled, error messages follow the `gnu y. New `-o bashdefault' option to complete and compgen; if set, causes the z. New `-o plusdirs' option to complete and compgen; if set, causes directory aa. `kill' is available as a builtin even when the shell is built without bb. New HISTTIMEFORMAT variable; value is a format string to pass to cc. The [[ ... ]] command has a new binary `=~' operator that performs dd. `configure' has a new `--enable-cond-regexp' option (enabled by default) ee. Subexpressions matched by the =~ operator are placed in the new ff. New `failglob' option that causes an expansion error when pathname gg. New `set -o pipefail' option that causes a pipeline to return a failure 4. New Features in Readline a. History expansion has a new `a' modifier equivalent to the `g' modifier b. History expansion has a new `G' modifier equivalent to the BSD csh `g' c. All non-incremental search operations may now undo the operation of d. The text inserted by an `a' command in vi mode can be reinserted with e. New bindable variable, `show-all-if-unmodified'. If set, the readline f. There is a new application-callable `free_history_entry()' function. g. History list entries now contain timestamp information; the history file h. Four new key binding functions have been added: rl_bind_key_if_unbound() -- You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
| ||||||||||||||