[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bash-4.3 available for FTP
From: |
Lionel Cons |
Subject: |
Re: Bash-4.3 available for FTP |
Date: |
Thu, 27 Feb 2014 22:05:45 +0100 |
Thank you for the cd -@ / O_XATTR support!!
Lionel
On 27 February 2014 14:12, Chet Ramey <chet.ramey@case.edu> wrote:
> Introduction
> ============
>
> The first public release of bash-4.3 is now available with the URLs
>
> ftp://ftp.cwru.edu/pub/bash/bash-4.3.tar.gz
> ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3.tar.gz
>
> and from the usual GNU mirror sites.
>
> This tar file includes the formatted documentation (postscript, dvi, html,
> and nroffed versions of the manual pages).
>
> Diffs from bash-4.2 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 third revision to the fourth major release of bash.
>
> This release fixes many outstanding bugs in bash-4.2 and introduces several
> new features. The most significant bug fix is the reworking of signal
> handling to avoid running signal and trap handlers in a signal handler
> context. This led to issues with glibc, which uses internal locks
> extensively and handles longjmps from user code very poorly.
>
> The most notable new features are the `globasciiranges' shell option, which
> forces the pattern matching code to treat [a-z] as if in the C locale;
> nameref variables and the changes to allow assigning, referencing, and
> unsetting them; improvements to the `direxpand' option introduced in bash-4.2
> patch 29; and allowing negative subscripts when assigning and referencing
> indexed array elements.
>
> There is one incompatible change between bash-4.2 and bash-4.3. Bash now
> performs quote removal on the replacement string in pattern substitution
> (${param/pat/rep}), since the shell treats quotes as special. If you
> have to quote single quotes to get them to be treated literally, the shell
> should perform quote removal on them.
>
> Read the file NEWS in the bash-4.3 distribution for a complete description
> of the new features. A copy of the relevant portions is included below.
>
> Changes have been made to the Readline library being released at the same
> time as bash-4.3, readline-6.3, so that Bash can be linked against an
> already-installed Readline library rather than the private version in
> lib/readline. Only readline-6.2 and later versions are able to provide all
> of the symbols that bash-4.3 requires; earlier versions of the Readline
> library will not work correctly.
>
> A complete list of changes between bash-4.2 and bash-4.3 is available in
> the file CHANGES; the complete list is too large to include in this
> message.
>
> Readline
> ========
>
> Also available is a new release of the standalone Readline library,
> version 6.3, with its own configuration scripts and Makefiles.
> It can be retrieved with the URLs
>
> ftp://ftp.cwru.edu/pub/bash/readline-6.3.tar.gz
> ftp://ftp.gnu.org/pub/gnu/readline/readline-6.3.tar.gz
>
> and from the usual GNU mirror sites.
>
> Diffs from readline-6.2 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
>
> +========== NEWS ==========+
> This is a terse description of the new features added to bash-4.3 since
> the release of bash-4.2. As always, the manual page (doc/bash.1) is
> the place to look for complete descriptions.
>
> 1. New Features in Bash
>
> a. The `helptopic' completion action now maps to all the help topics, not
> just
> the shell builtins.
>
> b. The `help' builtin no longer does prefix substring matching first, so
> `help read' does not match `readonly', but will do it if exact string
> matching fails.
>
> c. The shell can be compiled to not display a message about processes that
> terminate due to SIGTERM.
>
> d. Non-interactive shells now react to the setting of checkwinsize and set
> LINES and COLUMNS after a foreground job exits.
>
> e. There is a new shell option, `globasciiranges', which, when set to on,
> forces globbing range comparisons to use character ordering as if they
> were run in the C locale.
>
> f. There is a new shell option, `direxpand', which makes filename completion
> expand variables in directory names in the way bash-4.1 did.
>
> g. In Posix mode, the `command' builtin does not change whether or not a
> builtin it shadows is treated as an assignment builtin.
>
> h. The `return' and `exit' builtins accept negative exit status arguments.
>
> i. The word completion code checks whether or not a filename containing a
> shell variable expands to a directory name and appends `/' to the word
> as appropriate. The same code expands shell variables in command names
> when performing command completion.
>
> j. In Posix mode, it is now an error to attempt to define a shell function
> with the same name as a Posix special builtin.
>
> k. When compiled for strict Posix conformance, history expansion is disabled
> by default.
>
> l. The history expansion character (!) does not cause history expansion when
> followed by the closing quote in a double-quoted string.
>
> m. `complete' and its siblings compgen/compopt now takes a new `-o noquote'
> option to inhibit quoting of the completions.
>
> n. Setting HISTSIZE to a value less than zero causes the history list to be
> unlimited (setting it 0 zero disables the history list).
>
> o. Setting HISTFILESIZE to a value less than zero causes the history file
> size
> to be unlimited (setting it to 0 causes the history file to be truncated
> to zero size).
>
> p. The `read' builtin now skips NUL bytes in the input.
>
> q. There is a new `bind -X' option to print all key sequences bound to Unix
> commands.
>
> r. When in Posix mode, `read' is interruptible by a trapped signal. After
> running the trap handler, read returns 128+signal and throws away any
> partially-read input.
>
> s. The command completion code skips whitespace and assignment statements
> before looking for the command name word to be completed.
>
> t. The build process has a new mechanism for constructing separate help files
> that better reflects the current set of compilation options.
>
> u. The -nt and -ot options to test now work with files with nanosecond
> timestamp resolution.
>
> v. The shell saves the command history in any shell for which history is
> enabled and HISTFILE is set, not just interactive shells.
>
> w. The shell has `nameref' variables and new -n(/+n) options to declare and
> unset to use them, and a `test -R' option to test for them.
>
> x. The shell now allows assigning, referencing, and unsetting elements of
> indexed arrays using negative subscripts (a[-1]=2, echo ${a[-1]}) which
> count back from the last element of the array.
>
> y. The {x}<word redirection feature now allows words like {array[ind]} and
> can use variables with special meanings to the shell (e.g.,
> BASH_XTRACEFD).
>
> z. There is a new CHILD_MAX special shell variable; its value controls the
> number of exited child statues the shell remembers.
>
> aa. There is a new configuration option (--enable-direxpand-default) that
> causes the `direxpand' shell option to be enabled by default.
>
> bb. Bash does not do anything special to ensure that the file descriptor
> assigned to X in {x}<foo remains open after the block containing it
> completes.
>
> cc. The `wait' builtin has a new `-n' option to wait for the next child to
> change status.
>
> dd. The `printf' %(...)T format specifier now uses the current time if no
> argument is supplied.
>
> ee. There is a new variable, BASH_COMPAT, that controls the current shell
> compatibility level.
>
> ff. The `popd' builtin now treats additional arguments as errors.
>
> gg. The brace expansion code now treats a failed sequence expansion as a
> simple string and will continue to expand brace terms in the remainder
> of the word.
>
> hh. Shells started to run process substitutions now run any trap set on EXIT.
>
> ii. The fc builtin now interprets -0 as the current command line.
>
> jj. Completing directory names containing shell variables now adds a trailing
> slash if the expanded result is a directory.
>
> kk. `cd' has a new `-@' option to browse a file's extended attributes on
> systems that support O_XATTR.
>
> ll. The test/[/[[ `-v variable' binary operator now understands array
> references.
>
> 2. New Features in Readline
>
> a. Readline is now more responsive to SIGHUP and other fatal signals when
> reading input from the terminal or performing word completion but no
> longer attempts to run any not-allowable functions from a signal handler
> context.
>
> b. There are new bindable commands to search the history for the string of
> characters between the beginning of the line and the point
> (history-substring-search-forward, history-substring-search-backward)
>
> c. Readline allows quoted strings as the values of variables when setting
> them with `set'. As a side effect, trailing spaces and tabs are ignored
> when setting a string variable's value.
>
> d. The history library creates a backup of the history file when writing it
> and restores the backup on a write error.
>
> e. New application-settable variable: rl_filename_stat_hook: a function
> called
> with a filename before using it in a call to stat(2). Bash uses it to
> expand shell variables so things like $HOME/Downloads have a slash
> appended.
>
> f. New bindable function `print-last-kbd-macro', prints the most-recently-
> defined keyboard macro in a reusable format.
>
> g. New user-settable variable `colored-stats', enables use of colored text
> to denote file types when displaying possible completions (colored analog
> of visible-stats).
>
> h. New user-settable variable `keyseq-timout', acts as an inter-character
> timeout when reading input or incremental search strings.
>
> i. New application-callable function: rl_clear_history. Clears the history
> list
> and frees all readline-associated private data.
>
> j. New user-settable variable, show-mode-in-prompt, adds a characters to the
> beginning of the prompt indicating the current editing mode.
>
> k. New application-settable variable: rl_input_available_hook; function to be
> called when readline detects there is data available on its input file
> descriptor.
>
> l. Readline calls an application-set event hook (rl_event_hook) after it gets
> a signal while reading input (read returns -1/EINTR but readline does not
> handle the signal immediately) to allow the application to handle or
> otherwise note it.
>
> m. If the user-settable variable `history-size' is set to a value less than
> 0, the history list size is unlimited.
>
> n. New application-settable variable: rl_signal_event_hook; function that is
> called when readline is reading terminal input and read(2) is interrupted
> by a signal. Currently not called for SIGHUP or SIGTERM.
>
> o. rl_change_environment: new application-settable variable that controls
> whether or not Readline modifies the environment (currently readline
> modifies only LINES and COLUMNS).
>
> --
> ``The lyf so short, the craft so long to lerne.'' - Chaucer
> ``Ars longa, vita brevis'' - Hippocrates
> Chet Ramey, ITS, CWRU chet@case.edu http://cnswww.cns.cwru.edu/~chet/
>
--
Lionel