Here's a short list of differences between the CWRU version of bash (for
which this manual is written) and the distributed version.  Nearly all
of the diffs for these changes have been sent to Brian.

Most of the differences are for greater compatibility with Posix.2 and
ksh, in that order.

DIFFERENCES

-s option at invocation to set dollar vars for interactive shell

`!' reserved word to invert return value of pipeline (not heavily
tested yet)

Expansion behavior of $* when in double quotes (using $IFS)

$_ used to hold the value of the last argument to the last command,
after expansion

$RANDOM, $SECONDS, $TMOUT

Arithmetic expansion with $[]

The word splitting algorithm (if $IFS == ' \t\n' use regular Bourne shell
splitting semantics, otherwise use ksh semantics)

The fact that no splitting on IFS is done if no expansion occurs

Redirecting file descriptors for reading and writing (<>)

The token-based alias implementation that handles quoting and recursive
aliases correctly

The whole ARITHMETIC EVALUATION section

The `-' argument to cd to swap $PWD and $OLDPWD

The `-i' option to declare/typeset to force to integer and to cause
arithmetic evaluation when the variable is assigned to

The `\a' (alert) escape sequence to echo -e

The `fc' builtin command and FCEDIT

The `let' builtin command

The `+' option to set to list all variable names without their values

That `set --' will unset the positional parameters if no other arguments
are given

The `-r' option to `read'

The `-a' option to ulimit and the fact that ulimit changes things in the
shell as well as the shell's children

The specific completion functions for readline

The `-o option' part of `set', to wit:

	$ help set

		...

        -o option-name
            Set the variable corresponding to option-name:
                allexport       same as -a
                braceexpand     the shell will perform brace expansion
                emacs           use an emacs-style line editing interface
                errexit         same as -e
                histexpand      same as -H
                ignoreeof       the shell will not exit upon reading EOF
                monitor         same as -m
                noclobber       disallow redirection to existing files
                noexec          same as -n
                noglob          same as -f
		nohash		same as -d
                notify          notify of job termination immediately
                nounset         same as -u
                verbose         same as -v
                vi              use a vi-style line editing interface
                xtrace          same as -x

What used to be set -o is now set -H (history expansion)

The >| redirection operator to override noclobber

ENV is run through parameter expansion, command substitution, and arithmetic
substitution before being sourced when bash runs a script.  From P1003.2a

Aliases may not be used to redefine shell reserved words in their proper
places.  From P1003.2a

The `name' in an `alias name=value' must be a valid shell identifier (all
alphanumeric or underscores, may not start with a digit).  From P1003.2a

The LINENO variable from P1003.2a (sort of, when it comes to functions).

The expansion of PS4 like PS1 and PS2.  From P1003.2a

bg now prints out the job number and a character denoting current or
previous job (if necessary), like the output of `jobs'.  From P1003.2a

`jobs' has a -p flag that restricts the output to just the pid of the
pgrp leader.  From P1003.2a

`jobs' now takes job-specs as arguments.  From P1003.2a

$_ is put into the environment of each command, set to the full pathname of
that command.  From P1003.2a

The `type' builtin accepts -a, -t, and -p as synonyms for -all, -type,
and -path respectively

The ksh ^O line editing command (operate and get next history line)

The `times' command prints out times down to 100ths of a second, like ksh

The `getopts' command, from the s5r3 sh and Posix.2

The `-p' (pipe buffer size) and `-n' (maximum number of open files) options
to `ulimit'

The `-' command line option to disable further option processing

The `prefer-visible-bell' readline variable

Searching the PATH for `file' in `bash file' if it is not found in the
current directory

Characters between single quotes are not interpreted, even '\!'.

The `xx <> bb' redirection opens bb for both standard input and output.  A
convenient special case.

Lots of bug fixes, most of which I'm sure Brian has or will pick up
