This file documents the bugs fixed between this release, bash-1.14.3,
and the last bash release, 1.14.2.

1.  Bugs fixed in Bash

a.  There is no longer a too-easy-to-type C-e vi-mode key binding that
    switches into emacs mode.

b.  A bug in bashline.c was corrected so that the vi-mode specific features
    are installed at initialization time.

c.  Hostname completion now looks for HOSTFILE before hostname_completion_file

d.  A bug was fixed that caused command substitution command completion to
    return a corrupted list of matches.

e.  A bug was fixed that prevented a backslash from escaping a brace to
    inhibit brace expansion.

f.  A bug that caused the wrong readline keymap to be used if bind -m failed
    was fixed.

g.  A stray `\r' was removed from an error message printed when bash cannot
    find the current directory at startup.

h.  `exec' no longer tries to manipulate the job control state if in
    a subshell.

i.  `exec' in a subshell exits unconditionally on failure.

j.  If `exec' does not exit after execve() failure, bash reinitializes the
    signal handlers.

k.  Fixed a bug that caused ~/.bash_logout to be executed multiple times if
    it contained a call to `exit'.

l.  `read' now strips IFS white space from the beginning of the line read.

m.  `read' uses " \t\n" to split words if IFS is unset.

n.  A bug was fixed so that `read' will return partial lines on EOF.

o.  `read' now checks that the variable names supplied as arguments are
    legal shell identifiers.

p.  `help select' and `help variables' now work.

q.  A bug was fixed that made `readonly -n' turn off a variable's readonly
    status.

r.  `shift' now does nothing but print an error message if the supplied
    count exceeds the number of positional parameters.

s.  A bug that caused `.' to set the wrong exit value for the shell if the
    filename argument was not found was fixed.

t.  `.' now prints an error message if no filename is supplied, rather than
    failing silently.

u.  Fixes to `ulimit' were made to accommodate versions of unix where the
    resource limit type is not a `long'.

v.  References to $< were removed from cpp-Makefile except in suffix pattern
    rules.

w.  A bug was fixed that prevented an `exit' command called in an exit trap
    from setting the shell's exit status.

x.  `for' and `select' no longer make the mistake of processing any of the
    words as variable assignments.

y.  A bug that caused `select' to dump core with empty lists was fixed.

z.  A bug was fixed that caused command lookup to not find any executables if
    PATH was unset or null.

aa. Arithmetic evaluation error reporting is now much neater.

bb. Job control now uses file descriptor 2 to reach the terminal rather than
    trying to open /dev/tty.

cc. A bug that caused memory leaks in the filename globbing library was fixed.

dd. Fixes to several machine descriptions:  NetBSD, Ultrix, HPUX 8, HPUX 9,
    Cray, FreeBSD.

ee. A bug was fixed that prevented `set -o emacs' and `set -o vi' from
    working correctly in files read by `.' or in `eval' commands.

ff. Fixed a bug that caused syntax errors if a character with value octal
    255 appeared in a script.

gg. Prompt expansion no longer performs word splitting after variable and
    parameter expansion on the prompt string.

hh. A bug that caused /etc/profile to be sourced by a login shell even if
    -noprofile was gived has been fixed.

ii. If invoked non-interactively as `sh', bash no longer tries to expand
    and source $ENV

jj. A bug was fixed that caused syntax and substitution errors in a shell
    started as `bash -c command' to return incorrect exit values.

kk. A bug was fixed that caused $PROMPT_COMMAND to be executed when using
    `eval' in an interactive shell.

ll. Interactive shells now send SIGHUP to their children if a SIGHUP is
    received.  Previously, only login shells propagated SIGHUP.

mm. Fixed a bug that caused command substitution to set the SIGINT handler
    incorrectly in the calling shell.

nn. Fixed a bug with command substitution that occasionally caused processes
    to be placed into the wrong process group.

oo. Fixed a bug that prevented SIGINT from being ignored after
    `trap '' SIGINT' in an interactive shell.

pp. Command substitution no longer inherits the -e flag from the calling shell.

qq. Assignment statements not preceding a command name are not split or
    globbed.

rr. Fixed a bug that caused escaped double quotes in a double-quoted string to
    be incorrectly removed.

ss. Fixes were made to bashbug to work around ultrix and rmail problems.

tt. A bug was fixed that caused trap handlers which attempted to reset
    traps in functions that were called by the handler to set them to
    bogus values.

uu. A bug was fixed that caused $BASH to be set to a bogus value if there was
    no `bash' executable in the path.

vv. A bug that caused loops to be broken inappropriately if any child
    was stopped was fixed.

ww. bashbug.sh now tries to use /usr/lib/sendmail -t or /usr/sbin/sendmail -t
    if present.

xx. A bug that caused rl_completion_entry_function to be set incorrectly if
    readline completion was interrupted has been fixed.

yy. A bug has been fixed that caused core dumps if a `)' was missing in a
    parenthesized `test' expression.

zz. A bug causing incorrect results when using the ${param:-word} form of
    parameter expansion was fixed.

2.  Bugs fixed in Readline

a.  A completion bug was fixed that caused matches containing 8-bit characters
    to be scrambled.

b.  Username completion now produces all usernames as possible completions
    after ~M-?.

c.  A bug that caused spurious clear-to-eol terminal sequences to be sent
    by the display code was fixed.

d.  A bug was fixed that caused the display code to sometimes calculate the
    line on which to place the cursor incorrectly.

e.  A bug was fixed that caused the history library to corrupt the readline
    buffer if !$ was used after a command with no arguments.

f.  Fixed a bug in keymap initialization that manifested itself if RUBOUT was
    not decimal 127.

g.  Readline no longer tries to expand null or empty prompts.

h.  Fixed a bug with macro definitions that caused meta characters to be
    added incorrectly.

i.  Fixed a bug that caused LC_CTYPE interpretation to be performed every
    time readline was called and did not allow those values to be overridden
    by ~/.inputrc.

j.  Fixed a bug in rl_delete_text that caused buffer overruns.

k.  Fixed a bug that prevented unix-word-rubout from accepting repeat counts.

l.  Readline no longer calls abort().

m.  Readline no longer tries to manipulate the application keypad.

n.  Fixed a bug that caused readline to spin in a loop if tcgetattr failed
    after ^O was used to flush output.

o.  A bug was fixed that caused vi-mode history searches to leave the history
    pointer at the wrong position.

p.  A bug was fixed that caused the vi-mode `d%' and `c%' to delete one too
    few characters.

q.  A bug was fixed that caused the vi-mode `s' command to delete one too few
    characters at the end of a line.

r.  Readline now initializes keymaps up to a full 8 bits.

s.  A 257-character static limit on the length of the username to be tilde
    expanded was removed.
