Imported from ../bash-3.1.tar.gz.
This commit is contained in:
parent
eb87367179
commit
95732b497d
267 changed files with 24541 additions and 18843 deletions
598
CHANGES
598
CHANGES
|
@ -1,3 +1,599 @@
|
|||
This document details the changes between this version, bash-3.1-release,
|
||||
and the previous version, bash-3.1-rc2.
|
||||
|
||||
1. Changes to Readline
|
||||
|
||||
a. Several changes to the multibyte redisplay code to fix problems with
|
||||
prompts containing invisible characters.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
This document details the changes between this version, bash-3.1-rc2,
|
||||
and the previous version, bash-3.1-rc1.
|
||||
|
||||
1. Changes to Bash
|
||||
|
||||
a. Fixed a bug that caused a DEBUG trap to overwrite a command string that's
|
||||
eventually attached to a background job.
|
||||
|
||||
b. Changed some code so that filenames with leading tildes with spaces in the
|
||||
name aren't tilde-expanded by the bash completion code.
|
||||
|
||||
c. Fixed a bug that caused the pushd builtin to fail to change to
|
||||
directories with leading `-'.
|
||||
|
||||
d. Fixed a small memory leak in the programmable completion code.
|
||||
|
||||
2. Changes to Readline
|
||||
|
||||
a. Fixed a redisplay bug caused by moving the cursor vertically to a line
|
||||
with invisible characters in the prompt in a multibyte locale.
|
||||
|
||||
b. Fixed a bug that could cause the terminal special chars to be bound in the
|
||||
wrong keymap in vi mode.
|
||||
|
||||
3. New Features in Bash
|
||||
|
||||
a. If compiled for strict POSIX conformance, LINES and COLUMNS may now
|
||||
override the true terminal size.
|
||||
|
||||
4. New Features in Readline
|
||||
|
||||
a. 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.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
This document details the changes between this version, bash-3.1-rc1,
|
||||
and the previous version, bash-3.1-beta1.
|
||||
|
||||
1. Changes to Bash
|
||||
|
||||
a. Fixed a bug that could cause core dumps due of accessing the current
|
||||
pipeline while in the middle of modifying it.
|
||||
|
||||
b. Fixed a bug that caused pathnames with backslashes still quoting characters
|
||||
to be passed to opendir().
|
||||
|
||||
c. Command word completion now obeys the setting of completion-ignore-case.
|
||||
|
||||
d. Fixed a problem with redirection that caused file descriptors greater than
|
||||
2 to be inappropriately marked as close-on-exec.
|
||||
|
||||
e. In Posix mode, after `wait' is called to wait for a particular process
|
||||
explicitly, that process is removed from the list of processes known to
|
||||
the shell, and subsequent attempts to wait for it return errors.
|
||||
|
||||
f. Fixed a bug that caused extended pattern matching to incorrectly scan
|
||||
backslash-escaped pattern characters.
|
||||
|
||||
g. Fixed a synchronization problem that could cause core dumps when handling
|
||||
a SIGWINCH.
|
||||
|
||||
h. Fixed a bug that caused an unmatched backquote to be accepted without an
|
||||
error when processing here documents.
|
||||
|
||||
i. Fixed a small memory leak in the `cd' builtin.
|
||||
|
||||
j. Fix for MacOS X so it gets the values for the HOSTTYPE, MACHTYPE, and
|
||||
OSTYPE variables at build time, to support universal binaries.
|
||||
|
||||
k. Fixed a bug that could cause an exit trap to return the exit status of
|
||||
the trap command rather than the status as it was before the trap was
|
||||
run as the shell's exit status.
|
||||
|
||||
2. New Features in Bash
|
||||
|
||||
3. Changes to Readline
|
||||
|
||||
a. Fixed a bug that caused reversing the incremental search direction to
|
||||
not work correctly.
|
||||
|
||||
b. Fixed the vi-mode `U' command to only undo up to the first time insert mode
|
||||
was entered, as Posix specifies.
|
||||
|
||||
c. Fixed a bug in the vi-mode `r' command that left the cursor in the wrong
|
||||
place.
|
||||
|
||||
4. New Features in Readline
|
||||
|
||||
a. New application-callable auxiliary function, rl_variable_value, returns
|
||||
a string corresponding to a readline variable's value.
|
||||
|
||||
b. When parsing inputrc files and variable binding commands, the parser
|
||||
strips trailing whitespace from values assigned to boolean variables
|
||||
before checking them.
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
This document details the changes between this version, bash-3.1-beta1,
|
||||
and the previous version, bash-3.1-alpha1.
|
||||
|
||||
1. Changes to Bash
|
||||
|
||||
a. Added some system-specific signal names.
|
||||
|
||||
b. Fixed a typo in the ulimit builtin to make `x' the right option to
|
||||
maniuplate the limit on file locks.
|
||||
|
||||
c. Fixed a problem with using += to append to index 0 of an array variable
|
||||
when not using subscript syntax.
|
||||
|
||||
d. A few changes to configure.in to remove calls to obsolete or outdated
|
||||
macros.
|
||||
|
||||
e. Make sure changes to variables bash handles specially (e.g., LC_ALL) are
|
||||
made when the variable is set in the temporary environment to a command.
|
||||
|
||||
f. Make sure changes to variables bash handles specially (e.g., LC_ALL) are
|
||||
made when the variable is modified using `printf -v'.
|
||||
|
||||
g. The export environment is now remade on cygwin when HOME is changed, so
|
||||
DLLs bash is linked against pick up the new value. This fixes problems
|
||||
with tilde expansion when linking against and already-installed readline.
|
||||
|
||||
h. Small fix to the logic for performing tilde expansion in posix mode, so
|
||||
expansion on the right-hand side of an assignment statement takes place.
|
||||
|
||||
i. Fixed a bug that prevented redirections associated with a shell function
|
||||
from being executed when in a subshell.
|
||||
|
||||
j. Fixed `source' and `.' builtins to not require an executable file when
|
||||
searching $PATH for a file to source.
|
||||
|
||||
k. Fixed a bug that caused incorrect word splitting in a function when IFS
|
||||
was declared local, then unset.
|
||||
|
||||
l. Fixed a problem with the `kill' builtin that prevented sending signals
|
||||
to a process group under certain circumstances when providing a pid < 0.
|
||||
|
||||
m. When in POSIX mode, `pwd' now checks that the value it prints is the same
|
||||
directory as `.', even when displaying $PWD.
|
||||
|
||||
n. Fixed a problem with the `read' builtin when reading a script from standard
|
||||
input and reading data from the same file.
|
||||
|
||||
o. Fixed a problem with the `type' and `command' builtins that caused absolute
|
||||
pathnames to be displayed incorrectly.
|
||||
|
||||
p. Some changes to the `bg' builtin for POSIX conformance.
|
||||
|
||||
q. The `fc' builtin now removes the `fc' command that caused it to invoke an
|
||||
editor on specified history entries from the history entirely, rather than
|
||||
simply ignoring it.
|
||||
|
||||
r. When in POSIX mode, the `v' command in vi editing mode simply invokes vi
|
||||
on the current command, rather than checking $FCEDIT and $EDITOR.
|
||||
|
||||
s. Fixed a small memory leak in the pathname canonicalization code.
|
||||
|
||||
t. Fixed a bug that caused the expanded value of a $'...' string to be
|
||||
incorrectly re-quoted if it occurred within a double-quoted ${...}
|
||||
parameter expansion.
|
||||
|
||||
u. Restored default emacs-mode key binding of M-TAB to dynamic-complete-history.
|
||||
|
||||
v. Fixed a bug that caused core dumps when interrupting loops running builtins
|
||||
on some systems.
|
||||
|
||||
w. Make sure that some of the functions bash provides replacements for are
|
||||
not cpp defines.
|
||||
|
||||
x. The code that scans embedded commands for the parser (`...` and $(...)) is
|
||||
now more aware of embedded comments and their effect on quoted strings.
|
||||
|
||||
y. Changed the `-n' option to the `history' builtin to not reset the number of
|
||||
history lines read in the current session after reading the new lines from
|
||||
the history file if the history is being appended when it is written to
|
||||
the file, since the appending takes care of the problem that the adjustment
|
||||
was intended to solve.
|
||||
|
||||
z. Improved the error message displayed when a shell script fails to execute
|
||||
because the environment and size of command line arguments are too large.
|
||||
|
||||
aa. A small fix to make sure that $HISTCMD is evaluated whenever the shell is
|
||||
saving commands to the history list, not just when HISTSIZE is defined.
|
||||
|
||||
2. Changes to Readline
|
||||
|
||||
a. The `change-case' command now correctly changes the case of multibyte
|
||||
characters.
|
||||
|
||||
b. Changes to the shared library construction scripts to deal with Windows
|
||||
DLL naming conventions for Cygwin.
|
||||
|
||||
c. Fixed the redisplay code to avoid core dumps resulting from a poorly-timed
|
||||
SIGWINCH.
|
||||
|
||||
d. Fixed the non-incremental search code in vi mode to dispose of any current
|
||||
undo list when copying a line from the history into the current editing
|
||||
buffer.
|
||||
|
||||
e. The variable assignment code now ignores whitespace at the end of lines
|
||||
when assigning to boolean variables.
|
||||
|
||||
f. The `C-w' binding in incremental search now understands multibyte
|
||||
characters.
|
||||
|
||||
3. New Features in Bash
|
||||
|
||||
a. A new configuration option, `--enable-strict-posix-default', which will
|
||||
build bash to be POSIX conforming by default.
|
||||
|
||||
4. New Features in Readline
|
||||
|
||||
a. If the rl_completion_query_items is set to a value < 0, readline never
|
||||
asks the user whether or not to view the possible completions.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
This document details the changes between this version, bash-3.1-alpha1,
|
||||
and the previous version, bash-3.0-release.
|
||||
|
||||
1. Changes to Bash
|
||||
|
||||
a. Fixed a bug that caused bash to crash if referencing an unset local array.
|
||||
|
||||
b. Fixed a problem that caused tilde expansion to not be performed before
|
||||
attempting globbing word completion.
|
||||
|
||||
c. Fixed an incompatibility so that a first argument to trap that's a valid
|
||||
signal number will be trated as a signal rather than a command to execute.
|
||||
|
||||
d. Fixed ${#word} expansion to correctly compute the length of a string
|
||||
containing multibyte characters.
|
||||
|
||||
e. Fixed a bug that caused bash to not pass the correct flags for signal
|
||||
disposition to child processes.
|
||||
|
||||
f. Fixed a bug that caused `fc -l' to list one too many history entries.
|
||||
|
||||
g. Some fixes to `fc' for POSIX conformance.
|
||||
|
||||
h. Some fixes to job status display for POSIX conformance.
|
||||
|
||||
i. Fixed a bug that caused `command -v' to display output if a command was not
|
||||
found -- it should be silent.
|
||||
|
||||
j. In POSIX mode, `type' and `command -[vV]' do not report non-executable
|
||||
files, even if the shell will attempt to execute them.
|
||||
|
||||
k. Fixed a bug that caused the `==' operator to the [[ command to not attempt
|
||||
extended pattern matching.
|
||||
|
||||
l. Fixed the brace expansion code to handle characters whose value exceeds 128.
|
||||
|
||||
m. Fixed `printf' to handle strings with a leading `\0' whose length is
|
||||
non-zero.
|
||||
|
||||
n. Fixed a couple of problems with brace expansion where `${' was handled
|
||||
incorrectly.
|
||||
|
||||
o. Fixed off-by-one error when calculating the upper bound of `offset' when
|
||||
processing the ${array[@]:offset:length} expansion.
|
||||
|
||||
p. System-specific configuration changes for: FreeBSD 5.x, Interix, MacOS X
|
||||
10.4, Linux 2.4+ kernels, Linux 3.x kernels, Dragonfly BSD, QNX 6.x,
|
||||
Cygwin
|
||||
|
||||
q. Fixed a bug that caused the shell to ignore the status of the rightmost
|
||||
command in a pipeline when the `pipefail' option was enabled.
|
||||
|
||||
r. Fixed a completion bug that caused core dumps when expanding a directory
|
||||
name.
|
||||
|
||||
s. Fixed a bug that prevented `hash -d' from removing commands from the hash
|
||||
table.
|
||||
|
||||
t. Fixed word splitting to avoid really bad quadratic performance when
|
||||
expanding long lists.
|
||||
|
||||
u. Fixed a bug that caused negative offsets in substring expansion to use the
|
||||
wrong values.
|
||||
|
||||
v. Fixed a bug in printf that caused it to not return failure on write errors.
|
||||
|
||||
w. Fixed a bug that caused commands in subshells to not be properly timed.
|
||||
|
||||
x. The shell parser no longer attempts to parse a compound assignment specially
|
||||
unless in a position where an assignment statement is acceptable or parsing
|
||||
arguments to a builtin that accepts assignment statements.
|
||||
|
||||
y. Fixed a problem that caused a `case' statement to be added to the history
|
||||
incorrectly as a single command if the `case word' was on one line and the
|
||||
`in' on another.
|
||||
|
||||
z. Fixed a problem that caused internal shell quoting characters to be
|
||||
incorrectly quoted with backslashes under some circumstances.
|
||||
|
||||
aa. The shell now performs correct word splitting when IFS contains multibyte
|
||||
characters.
|
||||
|
||||
bb. The mail checking code now resets the cached file information if the size
|
||||
drops to 0, even if the times don't change.
|
||||
|
||||
cc. A completed command name that is found in $PATH as well as the name of a
|
||||
directory in the current directory no longer has a slash appended in certain
|
||||
circumstances: a single instance found in $PATH when `.' is not in $PATH,
|
||||
and multiple instances found in $PATH, even when `.' is in $PATH.
|
||||
|
||||
dd. Incorporated tilde expansion into the word expansion code rather than as a
|
||||
separately-called function, fixing some cases where it was performed
|
||||
inappropriately (e.g., after the second `=' in an assignment statement or
|
||||
in a double-quoted parameter expansion).
|
||||
|
||||
ee. Fixed several bugs encountered when parsing compound assignment statements,
|
||||
so that compound assignments appearing as arguments to builtins are no
|
||||
longer double-expanded.
|
||||
|
||||
ff. Fixed a bug in the command execution code that caused asynchronous commands
|
||||
containing command substitutions to not put the terminal in the wrong
|
||||
process group.
|
||||
|
||||
gg. Bash now handles the case where the WCONTINUED flag causes waitpid() to
|
||||
return -1/EINVAL at runtime as well as configuration time.
|
||||
|
||||
hh. Fixed parser to generate an error when the pipeline `argument' to `!' or
|
||||
`time' is NULL.
|
||||
|
||||
ii. The shell now takes a little more care when manipulating file descriptors
|
||||
greater than 9 with the `exec' builtin.
|
||||
|
||||
jj. Fixed a bug that caused variable assignments preceding the `command' builtin
|
||||
preceding a special builtin to be preserved after the command completed in
|
||||
POSIX mode.
|
||||
|
||||
kk. Fixed a bug that allowed variables beginning with a digit to be created.
|
||||
|
||||
ll. Fixed a bug that caused a \<newline> to be removed when parsing a $'...'
|
||||
construct.
|
||||
|
||||
mm. A shell whose name begins with `-' will now be a restricted shell if the
|
||||
remainder of the name indicates it should be restricted.
|
||||
|
||||
nn. Fixed a bug that could cause a core dump if FUNCNAME were changed or unset
|
||||
during a function's execution.
|
||||
|
||||
oo. Fixed a bug that caused executing a `return' in a function to not execute
|
||||
a RETURN trap. The RETURN trap is inherited by shell functions only if
|
||||
function tracing is globally enabled or has been enabled for that function.
|
||||
|
||||
pp. Fixed cases where var[@] was not handled exactly like var, when var is a
|
||||
scalar variable.
|
||||
|
||||
qq. Fixed a bug that caused the first character after a SIGINT to be discarded
|
||||
under certain circumstances.
|
||||
|
||||
rr. Fixed exit status code so that a suspended job returns 128+signal as its
|
||||
exit status (preventing commands after it in `&&' lists from being
|
||||
executed).
|
||||
|
||||
ss. Fixed a bug that caused the shell parser state to be changed by executing
|
||||
a shell function as a result of word completion.
|
||||
|
||||
tt. Fixed a long-standing bug that caused '\177' characters in variable
|
||||
values to be discarded when expanded in double-quoted strings.
|
||||
|
||||
uu. Fixed a bug that caused $RANDOM to be re-seeded multiple times in a
|
||||
subshell environment.
|
||||
|
||||
vv. Extensive changes to the job management code to avoid the pid-reuse and
|
||||
pid-aliasing problems caused by retaining the exit status of too many jobs,
|
||||
but still retain as many background job statuses as POSIX requires.
|
||||
|
||||
ww. Fixed a parser bug in processing \<newline> that caused things like
|
||||
|
||||
((echo 5) \
|
||||
(echo 6))
|
||||
|
||||
to not work correctly.
|
||||
|
||||
xx. `pwd -P' now sets $PWD to a directory name containing no symbolic links
|
||||
when in posix mode, as POSIX requires.
|
||||
|
||||
yy. In posix mode, bash no longer sets $PWD to a name containing no symbolic
|
||||
links if a directory is chosen from $CDPATH.
|
||||
|
||||
zz. The word splitting code now treats an IFS character that is not space,
|
||||
tab, or newline and any adjacent IFS white space as a single delimiter, as
|
||||
SUSv3/XPG6 require.
|
||||
|
||||
aaa. The `read' builtin now checks whether or not the number of fields read is
|
||||
exactly the same as the number of variables instead of just assigning the
|
||||
rest of the line (minus any trailing IFS white space) to the last
|
||||
variable. This is what POSIX/SUS/XPG all require.
|
||||
|
||||
bbb. Fixed a bug that caused `read' to always check whether or not fd 0 was a
|
||||
pipe, even when reading from another file descriptor.
|
||||
|
||||
ccc. Fixed a bug that caused short-circuiting of execution even if the return
|
||||
value was being inverted.
|
||||
|
||||
ddd. Fixed a bug that caused a core dump while decoding \W escapes in PS1 if
|
||||
PWD was unset.
|
||||
|
||||
eee. Fixed a bug in `read' that counted internal quoting characters for the
|
||||
purposes of `read -n'.
|
||||
|
||||
fff. Fixed a bug so that a function definition in a pipeline causes a child
|
||||
process to be forked at the right time.
|
||||
|
||||
ggg. Bash will not attempt to link against a readline library that doesn't
|
||||
have rl_gnu_readline_p == 1.
|
||||
|
||||
hhh. Fixed a bug that caused `read' to consume one too many characters when
|
||||
reading a fixed number of characters and the Nth character is a backslash.
|
||||
|
||||
iii. Fixed a bug that caused `unset' on variables in the temporary environment
|
||||
to leave them set when `unset' completed.
|
||||
|
||||
jjj. Fixed a bug that caused bash to close fd 2 if an `exec' failed and the
|
||||
shell didn't exit.
|
||||
|
||||
kkk. The completion code is more careful to not turn `/' or `///' into `//',
|
||||
for those systems on which `//' has special meaning.
|
||||
|
||||
lll. Fixed a bug that caused command substitution in asynchronous commands to
|
||||
close the wrong file descriptors.
|
||||
|
||||
mmm. The shell no longer prints status messages about terminated background
|
||||
processes unless job control is active.
|
||||
|
||||
nnn. Fixed a bug that prevented multiple consecutive invocations of `history -s'
|
||||
from adding all the commands to the history list.
|
||||
|
||||
ooo. Added a couple of changes to make arithmetic expansion more consistent in
|
||||
all its contexts (still not perfect).
|
||||
|
||||
ppp. Fixed a bug that caused the parser to occasionally not find the right
|
||||
terminating "`" in an old-style command substitution.
|
||||
|
||||
qqq. Fixed a bug that caused core dumps when the shell was reading its non-
|
||||
interactive input from fd 0 and fd 0 was duplicated and restored using a
|
||||
combination of `exec' (to save) and redirection (to restore).
|
||||
|
||||
rrr. Fixed a problem that caused loops in sourced scripts to not be cleaned
|
||||
up properly when a `return' is executed.
|
||||
|
||||
sss. Change internal command substitution completion function to append a slash
|
||||
to directory names in the command.
|
||||
|
||||
2. Changes to Readline
|
||||
|
||||
a. Fixed a bug that caused multiliine prompts to be wrapped and displayed
|
||||
incorrectly.
|
||||
|
||||
b. Fixed a bug that caused ^P/^N in emacs mode to fail to display the current
|
||||
line correctly.
|
||||
|
||||
c. Fixed a problem in computing the number of invisible characters on the first
|
||||
line of a prompt whose length exceeds the screen width.
|
||||
|
||||
d. Fixed vi-mode searching so that failure preserves the current line rather
|
||||
than the last line in the history list.
|
||||
|
||||
e. Fixed the vi-mode `~' command (change-case) to have the correct behavior at
|
||||
end-of-line when manipulating multibyte characters.
|
||||
|
||||
f. Fixed the vi-mode `r' command (change-char) to have the correct behavior at
|
||||
end-of-line when manipulating multibyte characters.
|
||||
|
||||
g. Fixed multiple bugs in the redisplay of multibyte characters: displaying
|
||||
prompts longer than the screen width containing multibyte characters,
|
||||
|
||||
h. Fix the calculation of the number of physical characters in the prompt
|
||||
string when it contains multibyte characters.
|
||||
|
||||
i. A non-zero value for the `rl_complete_suppress_append' variable now causes
|
||||
no `/' to be appended to a directory name.
|
||||
|
||||
j. Fixed forward-word and backward-word to work when words contained
|
||||
multibyte characters.
|
||||
|
||||
k. Fixed a bug in finding the delimiter of a `?' substring when performing
|
||||
history expansion in a locale that supports multibyte characters.
|
||||
|
||||
l. Fixed a memory leak caused by not freeing the timestamp in a history entry.
|
||||
|
||||
m. Fixed a bug that caused "\M-x" style key bindings to not obey the setting
|
||||
of the `convert-meta' variable.
|
||||
|
||||
n. Fixed saving and restoring primary prompt when prompting for incremental
|
||||
and non-incremental searches; search prompts now display multibyte
|
||||
characters correctly.
|
||||
|
||||
o. Fixed a bug that caused keys originally bound to self-insert but shadowed
|
||||
by a multi-character key sequence to not be inserted.
|
||||
|
||||
p. Fixed code so rl_prep_term_function and rl_deprep_term_function aren't
|
||||
dereferenced if NULL (matching the documentation).
|
||||
|
||||
q. Extensive changes to readline to add enough state so that commands
|
||||
requiring additional characters (searches, multi-key sequences, numeric
|
||||
arguments, commands requiring an additional specifier character like
|
||||
vi-mode change-char, etc.) work without synchronously waiting for
|
||||
additional input.
|
||||
|
||||
r. Lots of changes so readline builds and runs on MinGW.
|
||||
|
||||
s. Readline no longer tries to modify the terminal settings when running in
|
||||
callback mode.
|
||||
|
||||
t. The Readline display code no longer sets the location of the last invisible
|
||||
character in the prompt if the \[\] sequence is empty.
|
||||
|
||||
3. 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
|
||||
expansion.
|
||||
|
||||
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
|
||||
specifier.
|
||||
|
||||
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
|
||||
splitting.
|
||||
|
||||
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.
|
||||
|
||||
4. 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
|
||||
completion list.
|
||||
|
||||
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.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
This document details the changes between this version, bash-3.0-release,
|
||||
and the previous version, bash-3.0-rc1.
|
||||
|
||||
|
@ -184,7 +780,7 @@ 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
|
||||
rather than being a syntax error.
|
||||
|
||||
p. The pattern substitution coded no longer performs quote removal on the
|
||||
p. The pattern substitution code no longer performs quote removal on the
|
||||
pattern before trying to match it, as the pattern removal functions do.
|
||||
|
||||
q. Fixed a bug that could cause core dumps when checking whether a quoted
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue