This is the mail archive of the
mailing list for the Cygwin project.
[ANNOUNCEMENT] Updated [experimental]: bash-3.1-1
- From: Eric Blake <ebb9 at byu dot net>
- To: cygwin at cygwin dot com
- Date: Sat, 31 Dec 2005 07:41:12 -0700
- Subject: [ANNOUNCEMENT] Updated [experimental]: bash-3.1-1
- Reply-to: cygwin at cygwin dot com
- Reply-to: The Cygwin Mailing List <cygwin at cygwin dot com>
-----BEGIN PGP SIGNED MESSAGE-----
A new release of bash, 3.1-1, is available for experimental use.
This is a new upstream release, and includes all official upstream
patches. It also contains various cygwin-specific patches to speed up
completion within the // file system, to behave correctly with ACLs, and
to behave correctly in the presence of windows-style drive letter paths.
This build requires features that have been added to cygwin since
cygwin-1.5.18-1, so I am leaving 3.0-14 as the current version until
sometime after cygwin-1.5.19-1 is released and upstream bash patches have
stabilized. To use this release, you MUST install a recent snapshot of
cygwin (20051222 or later), as well as use the experimental
readline-5.1-1. If you don't know what this means, then stick with
3.0-14. A list of changes from the NEWS file appears below; see also
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.
As of the bash 3.0 series, cygwin /bin/sh defaults to bash, not ash,
similar to Linux distributions.
Since this is an experimental release, you must first install a recent
cygwin snapshot. From there, once you click on the "Install Cygwin now"
link on the http://cygwin.com/ web page, you will have to use the "Exp"
radio button in setup.exe. Look for 'bash' in the 'Base' category (it
should already be selected).
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:
If you want to make a point or ask a question the Cygwin mailing list is
the appropriate place.
volunteer cygwin bash maintainer
CYGWIN-ANNOUNCE UNSUBSCRIBE INFO:
To unsubscribe to the cygwin-announce mailing list, look at the
"List-Unsubscribe: " tag in the email header of this message. Send email
to the address specified there. It will be in the format:
If you need more information on unsubscribing, start reading here:
Please read *all* of the information on unsubscribing that is available
starting at this URL.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
This is a terse description of the new features added to bash-3.1 since
the release of bash-3.0. As always, the manual page (doc/bash.1) is
the place to look for complete descriptions.
1. New Features in Bash
a. Bash now understands LC_TIME as a special variable so that time display
tracks the current locale.
b. BASH_ARGC, BASH_ARGV, BASH_SOURCE, and BASH_LINENO are no longer created
as `invisible' variables and may not be unset.
c. In POSIX mode, if `xpg_echo' option is enabled, the `echo' builtin doesn't
try to interpret any options at all, as POSIX requires.
d. The `bg' builtin now accepts multiple arguments, as POSIX seems to specify.
e. Fixed vi-mode word completion and glob expansion to perform tilde
f. The `**' mathematic exponentiation operator is now right-associative.
g. The `ulimit' builtin has new options: -i (max number of pending signals),
-q (max size of POSIX message queues), and -x (max number of file locks).
h. A bare `%' once again expands to the current job when used as a job
i. The `+=' assignment operator (append to the value of a string or array) is
now supported for assignment statements and arguments to builtin commands
that accept assignment statements.
j. BASH_COMMAND now preserves its value when a DEBUG trap is executed.
k. The `gnu_errfmt' option is enabled automatically if the shell is running
in an emacs terminal window.
l. New configuration option: --single-help-strings. Causes long help text
to be written as a single string; intended to ease translation.
m. The COMP_WORDBREAKS variable now causes the list of word break characters
to be emptied when the variable is unset.
n. An unquoted expansion of $* when $IFS is empty now causes the positional
parameters to be concatenated if the expansion doesn't undergo word
o. Bash now inherits $_ from the environment if it appears there at startup.
p. New shell option: nocasematch. If non-zero, shell pattern matching ignores
case when used by `case' and `[[' commands.
q. The `printf' builtin takes a new option: -v var. That causes the output
to be placed into var instead of on stdout.
r. By default, the shell no longer reports processes dying from SIGPIPE.
s. Bash now sets the extern variable `environ' to the export environment it
creates, so C library functions that call getenv() (and can't use the
shell-provided replacement) get current values of environment variables.
t. A new configuration option, `--enable-strict-posix-default', which will
build bash to be POSIX conforming by default.
u. If compiled for strict POSIX conformance, LINES and COLUMNS may now
override the true terminal size.
2. New Features in Readline
a. The key sequence sent by the keypad `delete' key is now automatically
bound to delete-char.
b. A negative argument to menu-complete now cycles backward through the
c. A new bindable readline variable: bind-tty-special-chars. If non-zero,
readline will bind the terminal special characters to their readline
equivalents when it's called (on by default).
d. New bindable command: vi-rubout. Saves deleted text for possible
reinsertion, as with any vi-mode `text modification' command; `X' is bound
to this in vi command mode.
e. A new external application-controllable variable that allows the LINES
and COLUMNS environment variables to set the window size regardless of
what the kernel returns: rl_prefer_env_winsize
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html