From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4095 invoked by alias); 7 Jul 2005 15:25:57 -0000 Mailing-List: contact cygwin-announce-help@cygwin.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-announce-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Reply-To: The Cygwin Mailing List Received: (qmail 28314 invoked by uid 22791); 7 Jul 2005 15:18:35 -0000 Message-ID: <42CD34A0.5020509@byu.net> Date: Thu, 07 Jul 2005 15:25:00 -0000 From: Eric Blake Reply-To: The Cygwin Mailing List User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317) MIME-Version: 1.0 To: cygwin-announce@cygwin.com Subject: Updated: bash-3.0-7 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-SW-Source: 2005-07/txt/msg00014.txt.bz2 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 A new release of bash, 3.0-7, is available, replacing 2.05b-17. ======================================================================== CAUTION: A bug in the postinstall script of ash-20040127-2 and bash-3.0-6 lets you end up with no /bin/sh.exe at all. Do not install these versions if your mirror of choice only provides these versions. Wait for 20040127-3 and bash-3.0-7 to show up on the mirror and install these. ======================================================================== NEWS ==== This is a new (well, 11 month old) upstream release, and includes all official upstream patches. It also contains various cygwin-specific patches to work around known bugs in the 2.05b release that were not fixed upstream by the 3.0 release. It requires cygwin 1.5.18 or later. This release also marks the switch in the cygwin distribution such that /bin/sh is now bash, not ash, similar to Linux distributions. Both the ash and bash packages have cooperated, so hopefully there will be no problems performing the upgrade regardless of how you use setup.exe to select the new versions. DESCRIPTION =========== Bash is an sh-compatible shell that incorporates useful features from the Korn shell (ksh) and C shell (csh). It is intended to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It offers functional improvements over sh for both programming and interactive use. In addition, most sh scripts can be run by Bash without modification. UPDATE ====== To update your installation, click on the "Install Cygwin now" link on the http://cygwin.com/ web page. This downloads setup.exe to your system. Save it and run setup, answer the questions, then look for 'bash' in the 'Base' category (it should already be selected). DOWNLOAD: ========= Note that downloads from sources.redhat.com (aka cygwin.com) aren't allowed due to bandwidth limitations. This means that you will need to find a mirror which has this update, please choose the one nearest to you: http://cygwin.com/mirrors.html QUESTIONS: ========== If you want to make a point or ask a question the Cygwin mailing list is the appropriate place. - -- Eric Blake (new) cygwin bash maintainer Excerpt from /usr/share/doc/bash-3.0/NEWS: This is a terse description of the new features added to bash-3.0 since the release of bash-2.05b. As always, the manual page (doc/bash.1) is the place to look for complete descriptions. 1. 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 idea of word break characters. d. The `type' builtin no longer reports on aliases unless alias expansion will actually be performed. e. HISTCONTROL is now a colon-separated list of values, which permits more extensibility and backwards compatibility. f. HISTCONTROL may now include the `erasedups' option, which causes all lines matching a line being added to be removed from the history list. g. `configure' has a new `--enable-multibyte' argument that permits multibyte character support to be disabled even on systems that support it. h. New variables to support the bash debugger: BASH_ARGC, BASH_ARGV, BASH_SOURCE, BASH_LINENO, BASH_SUBSHELL, BASH_EXECUTION_STRING, BASH_COMMAND i. FUNCNAME has been changed to support the debugger: it's now an array variable. j. for, case, select, arithmetic commands now keep line number information for the debugger. k. There is a new `RETURN' trap executed when a function or sourced script returns (not inherited child processes; inherited by command substitution if function tracing is enabled and the debugger is active). l. New invocation option: --debugger. Enables debugging and turns on new `extdebug' shell option. m. New `functrace' and `errtrace' options to `set -o' cause DEBUG and ERR traps, respectively, to be inherited by shell functions. Equivalent to `set -T' and `set -E' respectively. The `functrace' option also controls whether or not the DEBUG trap is inherited by sourced scripts. n. The DEBUG trap is run before binding the variable and running the action list in a `for' command, binding the selection variable and running the query in a `select' command, and before attempting a match in a `case' command. o. New `--enable-debugger' option to `configure' to compile in the debugger support code. p. `declare -F' now prints out extra line number and source file information if the `extdebug' option is set. q. If `extdebug' is enabled, a non-zero return value from a DEBUG trap causes the next command to be skipped, and a return value of 2 while in a function or sourced script forces a `return'. 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 executed, for the debugger. t. `for', `select', and `case' command heads are printed when `set -x' is enabled. u. There is a new {x..y} brace expansion, which is shorthand for {x.x+1, x+2,...,y}. x and y can be integers or single characters; the sequence may ascend or descend; the increment is always 1. v. New ksh93-like ${!array[@]} expansion, expands to all the keys (indices) of array. w. New `force_fignore' shopt option; if enabled, suffixes specified by FIGNORE cause words to be ignored when performing word completion even if they're the only possibilities. x. New `gnu_errfmt' shopt option; if enabled, error messages follow the `gnu style' (filename:lineno:message) format. y. New `-o bashdefault' option to complete and compgen; if set, causes the whole set of bash completions to be performed if the compspec doesn't result in a match. z. New `-o plusdirs' option to complete and compgen; if set, causes directory name completion to be performed and the results added to the rest of the possible completions. aa. `kill' is available as a builtin even when the shell is built without job control. bb. New HISTTIMEFORMAT variable; value is a format string to pass to strftime(3). If set and not null, the `history' builtin prints out timestamp information according to the specified format when displaying history entries. If set, bash tells the history library to write out timestamp information when the history file is written. cc. The [[ ... ]] command has a new binary `=~' operator that performs extended regular expression (egrep-like) matching. dd. `configure' has a new `--enable-cond-regexp' option (enabled by default) to enable the =~ operator and regexp matching in [[ ... ]]. ee. Subexpressions matched by the =~ operator are placed in the new BASH_REMATCH array variable. ff. New `failglob' option that causes an expansion error when pathname expansion fails to produce a match. gg. New `set -o pipefail' option that causes a pipeline to return a failure status if any of the processes in the pipeline fail, not just the last one. hh. printf builtin understands two new escape sequences: \" and \?. ii. `echo -e' understands two new escape sequences: \" and \?. jj. The GNU `gettext' package and libintl have been integrated; the shell's messages can be translated into different languages. kk. The `\W' prompt expansion now abbreviates $HOME as `~', like `\w'. ll. The error message printed when bash cannot open a shell script supplied as argument 1 now includes the name of the shell, to better identify the error as coming from bash. mm. The parameter pattern removal and substitution expansions are now much faster and more efficient when using multibyte characters. nn. The `jobs', `kill', and `wait' builtins now accept job control notation even if job control is not enabled. oo. The historical behavior of `trap' that allows a missing `action' argument to cause each specified signal's handling to be reset to its default is now only supported when `trap' is given a single non-option argument. 2. New Features in Readline a. History expansion has a new `a' modifier equivalent to the `g' modifier for compatibility with the BSD csh. b. History expansion has a new `G' modifier equivalent to the BSD csh `g' modifier, which performs a substitution once per word. c. All non-incremental search operations may now undo the operation of replacing the current line with the history line. 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 completer will list possible completions immediately if there is more than one completion and partial completion cannot be performed. f. There is a new application-callable `free_history_entry()' function. g. History list entries now contain timestamp information; the history file functions know how to read and write timestamp information associated with each entry. h. Four new key binding functions have been added: rl_bind_key_if_unbound() rl_bind_key_if_unbound_in_map() rl_bind_keyseq_if_unbound() rl_bind_keyseq_if_unbound_in_map() i. New application variable, rl_completion_quote_character, set to any quote character readline finds before it calls the application completion function. j. New application variable, rl_completion_suppress_quote, settable by an application completion function. If set to non-zero, readline does not attempt to append a closing quote to a completed word. k. New application variable, rl_completion_found_quote, set to a non-zero value if readline determines that the word to be completed is quoted. Set before readline calls any application completion function. l. New function hook, rl_completion_word_break_hook, called when readline needs to break a line into words when completion is attempted. Allows the word break characters to vary based on position in the line. m. New bindable command: unix-filename-rubout. Does the same thing as unix-word-rubout, but adds `/' to the set of word delimiters. n. When listing completions, directories have a `/' appended if the `mark-directories' option has been enabled. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFCzTSg84KuGfSFAYARApr6AKC0sqPCG2rkhfNvt/v1wbUMb2XPngCcD1xX peu6e/xFybAH6eIz5NGwiYc= =bv7d -----END PGP SIGNATURE-----