Imported from ../bash-2.02.tar.gz.
[platform/upstream/bash.git] / CWRU / changelog
index 331c9e6..460f6e6 100644 (file)
@@ -1717,3 +1717,2018 @@ builtins/type.def
        - free the value returned by find_hashed_filename
 
 [bash-2.01-release frozen]
+
+                                   6/6
+                                   ---
+configure.in
+       - force shlicc2 and libc malloc for BSD/OS 3.0
+
+                                   6/9
+                                   ---
+doc/Makefile.in
+       - don't create ${man3dir}, since we're not installing the readline
+         manual page
+
+lib/readline/readline.h
+       - rl_dispatching should be declared `extern'
+         [in bash-2.01.1]
+
+                                  6/10
+                                  ----
+lib/malloc/Makefile.in
+       - make sure ${ALLOCA_SOURCE} is preceded by ${srcdir} so that things
+         work when building in a directory other than the source directory
+         [in bash-2.01.1]
+
+                                  6/30
+                                  ----
+lib/readline/examples/rltest.c
+       - don't free the value returned by history_list()
+
+lib/readline/histfile.c
+       - open the history file for writing with mode 0600 for better
+         security
+         [in bash-2.01.1]
+
+execute_cmd.c
+       - select_query now uses legal_number to decide whether the user's
+         selection is a valid number, and just executes the loop again if
+         invalid input is entered
+         [in bash-2.01.1]
+
+                                   7/1
+                                   ---
+builtins/evalstring.c
+       - fix to parse_and_execute so `bash -c 'time [-p] zzz'' works right
+         [in bash-2.01.1]
+
+execute_cmd.c
+       - fix to execute_command_internal so that `bash -c time [-p] (zzz)''
+         works right
+         [in bash-2.01.1]
+       - print_formatted_time should pass a long as the fourth parameter
+         to mkfmt 
+         [in bash-2.01.1]
+
+externs.h, shell.c
+       - `exit_shell' is now a void function
+
+hashlib.c
+       - print_table_stats is now a void function
+
+mailcheck.c
+       - made add_mail_file check for the filename in the mail file list
+         using the expanded filename, since that is what it puts into
+         the list
+         [in bash-2.01.1]
+
+variables.c
+       - for the time being, PWD will be auto-exported, since some systems
+         seem to expect it
+
+doc/bashref.texi, lib/readline/doc/{hist,rlman}.texinfo
+       - added necessary `dircategory' and `direntry' commands to make
+         `install-info' work correctly
+
+Makefile.in
+       - move $(LDFLAGS) after $(BUILTINS_LDFLAGS) and $(LIBRARY_LDFLAGS) on
+         the line that links bash
+
+doc/texinfo.tex
+       - upgraded to version 2.185 from the texinfo-3.9 distribution
+
+lib/tilde/tilde.c
+       - fixed a bug in tilde_expand so that enough space is allocated for
+         the string and terminating null byte if a `~' does not appear.
+         This was masked before by the bash malloc()
+         [in bash-2.01.1]
+
+                                   7/3
+                                   ---
+aclocal.m4
+       - new test, BASH_TYPE_INT32_T, to check which builtin C type is
+         32 bits wide
+       - new test, BASH_TYPE_PTRDIFF_T, to check which builtin C type is
+         appropriate for pointer arithmetic
+
+configure.in
+       - check sizes of int and long, and for the existence of an int32_t
+         basic system type.  Call BASH_TYPE_INT32_T if int32_t is not
+         defined anywhere in the system header files
+       - check size of (char *), and for the existence of a ptrdiff_t
+         basic system type.  Call BASH_TYPE_PTRDIFF_T if ptrdiff_t is not
+         defined anywhere in the system header files
+       - added a check for <stddef.h>
+
+config.h.in
+       - add lines for SIZEOF_INT, SIZEOF_LONG, SIZEOF_CHAR_P, int32_t,
+         u_int32_t, and ptrdiff_t
+       - added line for HAVE_STDDEF_H
+
+lib/malloc/malloc.c
+       - new version, with many changes and much better memory usage; old
+         (bash-2.01) version is lib/malloc/omalloc.c
+
+lib/malloc/gmalloc.c
+       - new version, with a number of changes and range checking included
+         by default; old (bash-2.01) version is lib/malloc/ogmalloc.c
+
+execute_cmd.c
+       - applied patch from 5/27 to make execute_simple_command fork early
+         if it's part of a pipeline.  This keeps assignment statements or
+         other commands that don't require a builtin, function, or disk
+         command to be executed from modifying the shell's environment
+
+tests/exec?.sub
+       - renamed from tests/execscript.sub? because those filenames are
+         too long for System V 14-char filename systems
+
+tests/source?.sub
+       - renamed from tests/source.sub? because those filenames are bad
+         for DOS/Windows
+
+tests/getopts?.sub
+       - renamed from tests/getopts.sub? because those filenames are bad
+         for DOS/Windows
+
+tests/histexp.{tests,right}
+       - renamed from histexpand.{tests,right} because those filenames are
+         too long for System V 14-char filename systems
+
+tests/trap1.sub
+       - renamed from trap.sub1 because that filename was bad for DOS/Windows
+
+tests/ifs-[123].right
+       - renamed from ifs.[123].right because those filenames were bad for
+         DOS/Windows
+
+tests/ifs-[123].test
+       - renamed from ifs-test-[123].sh because those filenames were bad
+         for DOS/Windows
+
+examples/startup-files/Bashrc.bfox
+       - renamed from examples/startup-files/Bashrc because that filename
+         conflicts with examples/startup-files/bashrc on case-insensitive
+         file systems
+
+tests/exec.right
+       - renamed from execscript.right because that filename is too long
+         for System V 14-char filename systems
+
+tests/run-set-e
+       - renamed from run-set-e-test
+
+tests/misc/perftest
+       - renamed from tests/misc/haertel.perftest because that filename is
+         too long for System V 14-char filename systems
+
+lib/glob/fnmatch.c
+       - new version with full POSIX.2 BRE matching (character classes,
+         collating symbols, equivalence classes), full support for
+         strcoll(3), and case-insensitive pattern matching
+
+lib/glob/fnmatch.h
+       - new version, with necessary symbols for the new fnmatch.c
+
+tests/posixpat.{tests,right}, tests/run-posixpat
+       - test suite for the POSIX.2 BRE pattern matching code
+
+variables.c
+       - make sure that array assignment using the compound syntax empties
+         the array before doing the assignment
+         [in bash-2.01.1]
+
+trap.c
+       - new function, trap_to_sighandler(sig), which returns the correct
+         trap handler for SIG depending on the information in sigmodes[sig]
+         [in bash-2.01.1]
+
+sig.h
+       - extern declarations for trap_handler and trap_to_sighandler
+         [in bash-2.01.1]
+
+jobs.c
+       - if we get an interrupt while waiting for a command to complete,
+         and there was a trap set on SIGINT that resets the handler to
+         SIG_DFL, the value that waitchld uses for old_trap_handler will
+         be wrong (it will be trap_handler, but trap_handler no longer
+         knows anything about SIGINT).  If old_signal_handler is trap_handler,
+         but signal_is_trapped(SIGINT) returns 0, we need to call
+         trap_to_sighandler to decide what to do
+         [in bash-2.01.1]
+
+                                   7/7
+                                   ---
+locale.c
+       - fix to set_locale_var to handle an assignment to LC_ALL (e.g., as
+         the result of `unset LANG') when default_locale is null
+         [in bash-2.01.1]
+
+                                   7/8
+                                   ---
+builtins/umask.def, doc/{bash.{1,html},bashref.texi}
+       - added `-p' option for umask to print output in a reusable form
+
+                                   7/9
+                                   ---
+doc/{bash.{1,html},bashref.texi}
+       - removed descriptions of `-type', `-path', and `-all' options to
+         the `type' builtin in preparation for removing them in the next
+         release
+
+builtins/type.def
+       - removed mention of `-type', `-path', and `-all' options from the
+         long help description
+
+error.c, error.h
+       - new function: internal_warning, for warning messages
+
+variables.c
+       - changed a call to internal_error to use internal_warning
+       - modified change of 7/3 so that arrays are not emptied until
+         just before the shell is about to assign the new values, so
+         the old value can be used to generate the rhs of the assignment,
+         if necessary.  This is how `normal' shell variables work
+         [in bash-2.01.1]
+
+jobs.c, jobs.h
+       - delete_job now takes a second int argument and prints a warning
+         message when deleting a stopped job if the second argument is
+         non-zero
+
+jobs.c, builtins/jobs.def
+       - changed all calls to delete_job to provide a proper second arg
+
+lib/readline/bind.c
+       - broke rl_read_init_file into an `upper' and `lower' half in
+         preparation for adding file inclusion capability to inputrc
+         parsing
+       - handle_parser_directive now displays an error message if an
+         unknown directive is encountered
+       - parser_endif now prints an error message if an $endif without
+         a matching $if is found
+       - added `$include' parser directive to read bindings and commands
+         from another file at that point
+
+lib/readline/doc/rluser.texinfo, doc/{bash.{1,html},readline.3}
+       - documented new readline `$include' parser directive
+
+shell.c, parse.y
+       - added a new invocation option, --dump-po-strings, and code to
+         make it dump translatable strings ($"...") in GNU gettext
+         `po' format
+
+doc/{bash.{1,html},bashref.texi}
+       - documented new `--dump-po-strings' invocation option
+
+lib/readline/{{kill,funmap}.c,readline.h}
+       - added `rl_paste_from_clipboard()', bound to `paste-from-clipboard'
+         for CYGWIN32 users
+
+lib/readline/kill.c
+       - incorporated bfox's patches for `iterative' yank-last-arg handling.
+         This means that one can keep pressing M-. and move backwards in
+         the history, yanking the last argument of successive history lines
+
+lib/readline/rlwinsize.h
+       - new file, encapsulates various locations of the definition for
+         `struct winsize'
+
+aclocal.m4
+       - augmented BASH_STRUCT_WINSIZE to look in termios.h as well as
+         sys/ioctl.h for definition of `struct winsize'
+
+lib/readline/rltty.h
+       - include "rlwinsize.h" after including tty-driver-specific header
+         file
+
+                                  7/10
+                                  ----
+support/config.guess
+       - add better support for SunOS on M68K (old Sun3 machines)
+
+parse.y
+       - check for compound array assignment in read_token_word only if
+         there are characters before the `=' (which would make it a legal
+         assignment statement).  This fixes the problem with defining a
+         function named `=' with `=() { echo foo; }'
+         [in bash-2.01.1]
+
+jobs.c, jobs.h
+       - nohup_all_jobs and delete_all_jobs now take a parameter which
+         says whether or not to restrict their operation to only running
+         jobs
+
+jobs.c
+       - changed all calls to delete_all_jobs
+
+builtins/jobs.def
+       - added `-a' (all jobs) and `-r' (running jobs only) options to
+         `disown'
+
+doc/{bash.{1,html},bashref.texi}
+       - documented new `-a' and `-r' options to `disown'
+
+findcmd.c, findcmd.h
+       - new files with command searching code from execute_cmd.c and
+         function declarations from execute_cmd.h
+
+Makefile.in, builtins/Makefile.in
+       - updated dependencies to account for new findcmd.[ch]
+       - updated dependencies to account for new redir.[ch]
+
+redir.c, redir.h
+       - new files with code that sets up lists and performs redirections
+         from execute_cmd.c and execute_cmd.h
+
+execute_cmd.c
+       - include new findcmd.h, redir.h
+
+                                  7/11
+                                  ----
+Makefile.in, configure.in
+       - PROFILE_FLAGS is now substituted into the Makefile by configure
+
+                                  7/14
+                                  ----
+print_cmd.c
+       - make sure single_quote is called from xtrace_print_word_list
+         to correctly quote each word of trace output, especially those
+         with embedded quotes
+         [in bash-2.01.1]
+
+aclocal.m4
+       - extended BASH_CHECK_GETPW_FUNCS so that it checks that getpwuid
+         and getpwnam can also be declared, as well as getpwent
+         [in bash-2.01.1]
+       - in BASH_FUNC_PRINTF, cast printf to type `_bashfunc' before trying
+         to assign it to `pf' to avoid any prototype problems in the
+         declaration
+         [in bash-2.01.1]
+
+trap.c
+       - include <unistd.h> before any of the bash-specific header files,
+         but after config.h
+         [in bash-2.01.1]
+
+test.c
+       - include <errno.h> and declare `extern int errno' before including
+         any of the bash-specific include files, but after <unistd.h>
+         [in bash-2.01.1]
+
+builtins/Makefile.in
+       - PROFILE_FLAGS is now substituted into the Makefile by configure
+
+configure.in
+       - new options, --enable-profiling and --enable-static-link, to turn
+         on profiling with gprof and link bash statically (if using gcc)
+         for use as a root shell.  The former implies the latter.  If
+         we're linking statically, dynamic loading of new builtins is not
+         available
+
+doc/bashref.texi
+       - documented new --enable-profiling and --enable-static-link
+         options in installation section; regenerated INSTALL
+
+lib/glob/glob.[ch]
+       - new global variable, glob_ignore_case, turns on case-insensitive
+         filename matching in fnmatch() using the FNM_CASEFOLD flag
+
+doc/{bash.{1,html},bashref.texi}
+       - documented new shopt `nocaseglob' option
+
+                                  7/15
+                                  ----
+bashline.c
+       - when glob_complete_word is called with state == 0, make sure we
+         set rl_filename_completion_desired so that proper quoting of
+         the resultant filenames is performed
+         [in bash-2.01.1]
+
+                                  7/16
+                                  ----
+externs.h, oslib.c
+       - strcasecmp and strncasecmp replacements should have `const char *'
+         as the first two arguments, to match OS definitions
+         [in bash-2.01.1]
+
+                                  7/17
+                                  ----
+(many files)
+       - changes for minix-2.0, mostly just adding #ifndef _MINIX around
+         include files that minix doesn't provide, like <sys/param.h> and
+         <sys/file.h>
+
+lib/readline/terminal.c
+       - removed `outchar' function; use _rl_output_character_function in
+         its place
+
+support/config.guess
+       - changes to recognize HP_ARCH of `hppa2.0'
+
+test.c
+       - new `-N' option: `test -N file' returns true if FILE exists and
+         has been modified since it was last accessed
+
+doc/{bash.{1,html},bashref.texi}
+       - documented new `test -N' option
+
+                                  7/22
+                                  ----
+aclocal.m4
+       - prefer /var/spool/mail to /usr/spool/mail in BASH_DEFAULT_MAIL_DIR
+         [in bash-2.01.1]
+
+lib/readline/{complete,bind}.c
+       - new readline variable, print-completions-horizontally, which causes
+         matches to be printed across the screen (like `ls -x') rather than
+         up-and-down (like `ls')
+       - new readline variable, completion-ignore-case, which causes filename
+         completion and matching to be performed case-insensitively
+
+doc/{bash.{1,html},readline.3}, lib/readline/doc/rluser.texinfo
+       - documented new print-completions-horizontally variable
+       - documented new completion-ignore-case variable
+
+_distribution, Makefile.in
+       - bumped the version number up to 2.02-alpha1
+
+bracecomp.c
+       - fixes so that the braces are not quoted by the filename quoting
+         function when complete-into-braces is executed with M-{.  The
+         brace completion functions do filename quoting themselves
+         [in bash-2.01.1]
+
+pathexp.c
+       - changed quote_string_for_globbing so that it takes a flags word
+         as its second argument
+
+pathexp.h
+       - defines for flags passed to quote_string_for_globbing
+
+subst.c,execute_cmd.c
+       - changed calls to quote_string_for_globbing to pass the correct
+         flag arguments
+
+expr.c
+       - added a `**' binary operator to do exponentiation (2**16 == 65536).
+         precedence is lower than arithmetic operators, higher than unary
+         operators (2**16-1 == 65535)
+
+doc/{bash.{1,html},bashref.texi}
+       - documented new `**' arithmetic binary operator
+
+                                  7/24
+                                  ----
+shell.c
+       - added new (currently undocumented) `--wordexp' option to do the
+         job required by POSIX.2 wordexp().  If -n is supplied along with
+         --wordexp, command substitution is disallowed and the shell
+         exits with a status of 125 if one is attempted.  If there is an
+         expansion error, the shell exits with a status of 127.  If there
+         is a shell parsing error, the shell exits with a status of 126.
+         Otherwise, the exit status is 0.  The current output is
+
+               number of words\n
+               number of bytes\n
+               expanded words, one per line, separated by newlines
+
+         This will have to be changed when an interface to glibc is coded
+
+                                  7/28
+                                  ----
+hashcmd.h
+       - reduced the default size of the filename hash table from 631
+         to 107
+
+sig.c
+       - don't call initialize_siglist if HAVE_UNDER_SYS_SIGLIST is defined
+         [in bash-2.01.1]
+
+siglist.c
+       - don't compile this file if HAVE_UNDER_SYS_SIGLIST is defined
+         [in bash-2.01.1]
+
+variables.c
+       - fix to make $RANDOM work better in subshells
+         [in bash-2.01.1]
+
+aclocal.m4
+       - new macro, BASH_DECL_UNDER_SYS_SIGLIST, looks for _sys_siglist in
+         <signal.h> and <unistd.h>, defines UNDER_SYS_SIGLIST_DECLARED if
+         found
+         [in bash-2.01.1]
+       - change BASH_UNDER_SYS_SIGLIST to require BASH_DECL_UNDER_SYS_SIGLIST,
+         like BASH_SYS_SIGLIST requires AC_DECL_SYS_SIGLIST
+         [in bash-2.01.1]
+
+config.h.in
+       - add a line for UNDER_SYS_SIGLIST_DECLARED
+         [in bash-2.01.1]
+
+configure.in
+       - make sure that SVR4_2 is defined for machines that have $host_os
+         sysv4.2* (e.g., sysv4.2MP) as well as $host == sysv4.2
+         [in bash-2.01.1]
+
+                                  7/29
+                                  ----
+command.h
+       - new command type, ARITH_COM, used to create and execute a ((...))
+         command without translating it into let "..."
+
+parse.y
+       - changes to the grammar and lexer so that ((...)) is parsed as a
+         command of type ARITH_CMD.  An ARITH_CMD is a WORD_LIST, for
+         future expansion, even though only the first word is used
+
+make_cmd.c, make_cmd.h
+       - definition and declaration of a function to build an arithmetic
+         command
+
+dispose_cmd.c
+       - added code to dispose of arithmetic commands
+
+print_cmd.c
+       - added code to print arithmetic commands, both `regularly' and
+         when they're being traced with `set -x'
+
+externs.h
+       - extern declaration for xtrace_print_arith_cmd
+
+copy_cmd.c
+       - added code to copy arithmetic commands
+
+execute_cmd.c
+       - added code to directly execute arithmetic commands -- they are
+         a shell_control_structure, so just about everything like
+         redirections and piping is taken care of by the boilerplate code.
+         All that's needed is to expand the expression (which is within
+         double quotes -- added by parse.y:parse_arith_cmd()), print it
+         if tracing is enabled, call the expression evaluator, and return
+         an appropriate result
+
+                                  7/30
+                                  ----
+input.c
+       - new function, set_buffered_stream(fd, bp), sets the buffered stream
+         associated with FD to BP and returns the old buffered stream
+
+input.h
+       - extern declaration for set_buffered_stream
+
+parse.y
+       - call set_buffered_stream rather than manipulating the BUFFERS array
+         directly
+
+shell.c
+       - unset_bash_input now takes an argument, CHECK_ZERO.  This tells it
+         whether to check whether default_buffered_input is >= 0 or just > 0
+
+externs.h
+       - changed extern declaration for unset_bash_input
+
+execute_cmd.c, jobs.c, nojobs.c
+       - changed calls to unset_bash_input to add appropriate argument
+
+input.h
+       - #undef B_* before defining them as flag values for b_flags.  Some
+         systems, like SVR4, have a B_ERROR define in a file included by
+         jobs.c and nojobs.c, and it causes a warning
+
+                                  7/31
+                                  ----
+fnmatch.c
+       - rewrote most of fnmatch(), so that it now implements ksh-88 style
+         pattern matching (`[@+*?!](patlist)') if the FNM_EXTMATCH flag
+         is set
+
+fnmatch.h
+       - added a define for FNM_EXTMATCH
+
+                                   8/4
+                                   ---
+lib/readline/display.c
+       - fixed _rl_redisplay_after_sigwinch () so that it really redisplays
+         only the portion after the final newline of a multi-line prompt
+         [in bash-2.01.1]
+
+bashline.c
+       - attempt_shell_completion no longer returns matches if a glob pattern
+         matches more than one filename -- it caused too many problems
+         [in bash-2.01.1]
+
+                                   8/5
+                                   ---
+lib/glob/glob.c
+       - updated glob_pattern_p so that the extended matching operators
+         are recognized
+
+pathexp.c
+       - udpated unquoted_glob_pattern_p so that the extended matching
+         operators are recognized
+       - udpated quote_globbing_chars so that the extended matching
+         operators are recognized and quoted appropriately
+
+subst.c
+       - updated match_pattern_char so that the extended matching operators
+         are recognized
+
+parse.y
+       - updated read_token_word so that it parses an extended matching
+         pattern as a single word
+
+jobs.c
+       - if a job is suspended with SIGTSTP, and the user has set
+         checkwinsize with `shopt', update the window size
+         [in bash-2.01.1]
+
+pathexp.c, pathexp.h
+       - new global variable, extended_glob, controls whether the extended
+         pattern matching features are enabled
+
+pathexp.h
+       - new define, FNMATCH_EXTFLAG, to be OR'd with other values for
+         flags argument to fnmatch to enable the extended pattern matching
+         features if extended_glob is set
+
+{pathexp,execute_cmd,bashhist,subst,test}.c, builtins/help.def
+       - changed calls to fnmatch to add FNMATCH_EXTFLAG to the flags arg if
+         extended_glob is non-zero
+
+lib/glob/glob.c
+       - changed flags arg passed to fnmatch to include FNM_EXTMATCH if
+         extended_glob is non-zero (#ifdef SHELL)
+
+                                   8/6
+                                   ---
+builtins/shopt.def
+       - added a new `extglob' shell option, controls the value of
+         extended_glob
+
+                                   8/7
+                                   ---
+doc/{bash.{1,html},bashref.texi}
+       - documented new extended pattern matching operators and the `extglob'
+         shell option
+
+tests/{extglob.{tests,right},run-extglob}
+       - test suite for the new extended globbing features
+
+                                   8/8
+                                   ---
+parse.y, pathexp.h, lib/glob/fnmatch.c
+       - made the extended globbing code #ifdef EXTENDED_GLOB
+
+config.h.in
+       - added a line for EXTENDED_GLOB, controlled by configure
+
+configure.in
+       - new option, --enable-extended-glob, controls defining of
+         EXTENDED_GLOB (on by default)
+
+doc/bashref.texi
+       - documented new `configure' `--enable-extended-glob' option
+
+                                  8/11
+                                  ----
+builtins/printf.def
+       - new `printf' builtin, implemented according to POSIX.2 spec
+         for printf(1)
+
+Makefile.in,builtins/Makefile.in
+       - added necessary stuff for new printf builtin
+
+                                  8/12
+                                  ----
+lib/readline/isearch.c
+       - change to make ^G interrupt the incremental search correctly
+         [in bash-2.01.1]
+
+configure.in, config.h.in
+       - configure now checks for the availability of strtoul(3)
+
+builtins/printf.def
+       - use strtoul for the `%o', `%u', `%x', and `%X' formats if it
+         is available
+
+                                  8/13
+                                  ----
+tests/{printf.{right,tests},run-printf}
+       - extensive test suite for the new `printf' builtin
+
+builtins/Makefile.in
+       - change so that `builtext.h' is not recreated every time the source
+         file for a builtin is changed if the contents are the same.  This
+         keeps many files from being recompiled
+
+                                  8/14
+                                  ----
+subst.c
+       - changed verify_substring_values so that it returns -1 for substring
+         range errors, 0 for expression errors, and 1 for success
+         [in bash-2.01.1]
+       - changed parameter_brace_substring to return an error if
+         verify_substring_values returns 0, and a null string if it returns
+         -1.  This matches the ksh93 behavior
+         [in bash-2.01.1]
+
+trap.c
+       - changed decode_signal so that it makes sure the first three
+         characters of a signal name are `SIG' before allowing the `SIG'
+         prefix to be omitted.  This is so a signal spec of `T' does not
+         match `EXIT', for instance
+         [in bash-2.01.1]
+
+builtins/trap.def
+       - make sure that showtrap() displays traps for signals with unknown
+         names using the signal number
+         [in bash-2.01.1]
+shell.c
+       - make sure that `bash -r' doesn't turn on the restricted mode until
+         after the startup files are executed
+         [in bash-2.01.1]
+
+doc/{bash.{1,html},bashref.texi}
+       - documented printf builtin
+
+                                  8/15
+                                  ----
+general.c
+       - added \xNNN escape to ansicstr -- NNN are up to three hex digits.
+         This affects $'...', `echo -e', and printf
+
+builtins/printf.def
+       - added \xNNN escape to bexpand -- NNN are up to three hex digits.
+         This affects printf's `%b' conversion specifier
+
+doc/{bash.{1,html},bashref.texi}
+       - documented new \xNNN escape sequence for echo, $'...', and printf
+
+builtins/setattr.def
+       - make sure that a variable found in the temp environment does not
+         cause a null string to be assigned by bind_variable (e.g.,
+               foo="" export foo
+         )
+         [in bash-2.01.1]
+
+                                  8/18
+                                  ----
+subst.c
+       - fixed a bug that sometimes caused bad memory (pointer into an
+         allocated block) to be passed to free when doing arithmetic
+         substitution.  Bug report from stevet@myofb.org
+         [in bash-2.01.1]
+
+                                  8/19
+                                  ----
+subst.c
+       - considerable changes:  moved the code that expands a single
+         $... parameter expansion into a separate function: param_expand()
+         This function returns a string, which may contain characters
+         quoted with CTLESC or CTLNUL without doing word splitting
+       - changed expand_word_internal to not remove the expansion of "$*"
+         if the number of positional parameters is > 0
+       - changed the '"' case of expand_word_internal to remove quoted
+         nulls from the resultant word if the expansion was not "$@", and
+         the word is not a quoted null string ([] == CTLNUL, [1] == '\0')
+
+subst.c, variables.c
+       - moved the code that handles special variables from subst.c to
+         variables.c
+
+                                  8/20
+                                  ----
+subst.c
+       - rearranged the source a bit to group functions with similar
+         operation together
+       - fixed parameter_brace_expand so that it no longer allows
+         indirect expansion of `special' variables
+       - fixed parameter_brace_expand so taking the length of some of
+         the shell's special parameters works again
+       - moved all of the code that computes the length of a shell
+         parameter (the ${#xxx} expansion) into parameter_brace_expand_length.
+         Previously, the code that handled the lengths of the shell's
+         special parameters was in parameter_brace_expand_word
+       - valid indirect expansions are now only variable names or positional
+         parameters
+
+                                  8/21
+                                  ----
+subst.c
+       - fixed param_expand to raise an expansion error if $! is being
+         expanded and no asynchronous processes have been created
+       - an expression error in a $((...)) arithmetic expansion now causes
+         a non-interactive shell running in POSIX mode to exit
+       - relaxed change of 8/20 to allow indirect references to $#, $@, $*
+
+builtins/bashref.texi
+       - documented new posix-mode exit on invalid expressions in $((...))
+
+lib/readline/complete.c
+       - don't call rl_strpbrk unless rl_filename_quote_characters is not
+         NULL -- strpbrk requires non-NULL arguments
+         [in bash-2.01.1]
+
+                                  8/22
+                                  ----
+bashline.c
+       - don't make `history-expand-line' a bindable command unless
+         BANG_HISTORY is defined, and don't compile the code for that
+         command in unless BANG_HISTORY is defined
+       - make history_expand_line(), tcsh_magic_space(), alias_expand_line(),
+         and history_and_alias_expand_line() int-returning functions that
+         return 0 for success and non-zero on error.  This allows
+         tcsh_magic_space() to just call history_expand_line() and insert
+         a space if that returns successfully
+       - `magic-space' is now a bindable readline command
+
+doc/bash.{1,html}, lib/readline/doc/rluser.texinfo
+       - documented new `magic-space' bindable readline command
+
+                                  8/25
+                                  ----
+parse.y
+       - fixed decode_prompt_string so that values of $PWD longer than
+         PATH_MAX don't cause buffer overruns (char t_string[PATH_MAX])
+         [in bash-2.01.1]
+
+general.c
+       - fixed polite_directory_format so that values of $HOME longer
+         than PATH_MAX don't cause buffer overruns (char tdir[PATH_MAX])
+         [in bash-2.01.1]
+
+subst.c
+       - fix to expansion of $* so that the positional parameters are
+         separated by the first character of $IFS, even when the expansion
+         is not within double quotes, so the correct split is still
+         performed even when IFS does not contain a space.  Works for
+         ${*}, too
+       - fix to expansion of $@ so that the positional parameters are
+         separated by the first character of $IFS, even when the expansion
+         is not within double quotes, so the correct split is still
+         performed even when IFS does not contain a space.  Works for
+         ${@}, too
+       - new function, string_list_dollar_at(), which is to $@ as
+         string_list_dollar_star is to $*
+       - fixed expansion of $@ so that splitting is still done even if
+         IFS is unset or NULL, as POSIX.2 specifies (section 3.5.2)
+       - fixed expansion of $* so that it expands to multiple words if there
+         is more than one positional parameter, just like $@, even if
+         IFS is unset or NULL
+       - new function list_quote_escapes, quotes (with CTLESC) all
+         CTLESC and CTLNUL characters in each member of the list
+
+tests/dollar-{at,star}.sh
+       - combined into dollar-at-star, changed run-dollars accordingly
+
+                                  8/26
+                                  ----
+Makefile.in
+       - make the `tests' target use $(SHELL) instead of hardcoding `sh'
+
+                                  8/29
+                                  ----
+subst.c
+       - expand_word_list_internal now takes a flags word as the second
+         argument, telling which expansions to perform on the WORD_LIST
+       - broke expand_word_list_internal into several functions: one
+         each to do brace expansion, glob expansion, and the `normal'
+         shell expansions
+       - new extern function: expand_words_shellexp() to perform the
+         `normal' shell expansions on a WORD_LIST
+
+subst.h
+       - extern declaration for expand_words_shellexp
+
+bashline.c
+       - fixed a problem with attempt_shell_completion where it attempted
+         to refer to rl_line_buffer[-1] (completion at the start of the
+         line, which means that ti == -1, which means that the test for
+         rl_line_buffer[ti] at line 715 was an array bounds error
+         [in bash-2.01.1]
+
+eval.c
+       - new function, parse_string_to_word_list(), which takes a string
+         and runs it through the parser, returning the resultant word
+         list
+
+externs.h
+       - new extern declaration for parse_string_to_word_list()
+
+variables.c
+       - change assign_array_var_from_string to first split the string
+         between the parens on whitespace, then expand the resultant
+         list of words with all the shell expansions before doing the
+         assignment
+
+                                   9/4
+                                   ---
+redir.c, redir.h
+       - redirection_error is no longer a static function
+
+builtins/evalstring.c
+       - changes to handle $( < filename ) (equivalent to $(cat filename))
+         as in ksh
+
+lib/readline/bind.c
+       - added two new functions: rl_unbind_function_in_map(func, map),
+         which unbinds all keys that execute FUNC in MAP; and
+         rl_unbind_command_in_map(command, map), which unbinds all keys
+         bound to COMMAND in MAP
+
+lib/readline/readline.h
+       - extern declarations for rl_unbind_{function,command}_in_map
+
+lib/readline/doc/rltech.texi
+       - documented rl_unbind_{function,command}_in_map
+
+builtins/bind.def
+       - added a new option, -u FUNCNAME, which unbinds all key sequences
+         bound to FUNCNAME in the specified (or current) keymap
+
+doc/{bash.{1,html},bashref.texi}
+       - documented new $( < filename ) command substitution
+       - documented new bind -u FUNCNAME option
+
+                                   9/5
+                                   ---
+shell.c
+       - send SIGHUP to all jobs when an interactive login shell exits if
+         the variable `hup_on_exit' is non-zero
+       - modified run_startup_files so that if `NON_INTERACTIVE_LOGIN_SHELLS'
+         is #define'd (perhaps in config.h.top, though there is nothing there
+         for it), all login shells (interactive and non-interactive) run
+         /etc/profile and one of the per-user login shell startup files
+
+builtins/shopt.def
+       - new shopt option `huponexit' to control the value of hup_on_exit
+
+doc/{bash.{1,html},bashref.texi}
+       - documented new `huponexit' shell option
+
+                                   9/8
+                                   ---
+builtins/common.c
+       - changed contains_shell_metas to return 1 if a tilde appears at the
+         start of a string or after a `=' or `:'
+       - changed backslash_quote to quote a tilde if it appears at the start
+         of a string or after a `=' or `:'
+
+lib/readline/complete.c
+       - moved rl_tilde_expand to util.c; it doesn't really have anything
+         to do with completion
+       - moved insert_text to readline.c, renamed it _rl_replace_text (since
+         that's really what it does), changed callers
+       - moved code that postprocesses the list of completion matches into
+         a new function: postprocess_matches
+       - new implementation of tcsh-like menu completion in a single new
+         function: rl_menu_complete
+
+lib/readline/{funmap.c,readline.h}
+       - necessary declarations for binding rl_menu_complete to the
+         new `menu-complete' command
+
+doc/{bash.{1,html},readline.3}, lib/readline/doc/rluser.texinfo
+       - documented new `menu-complete' bindable readline command
+
+                                   9/9
+                                   ---
+jobs.c
+       - delete_job should print a warning only if subshell_environment
+         is 0, so we don't print bogus warnings when shell scripts without
+         a leading #! are executed
+
+                                  9/10
+                                  ----
+builtins/read.def
+       - fixed the code so that the `read' is automatically restarted when
+         it returns -1 with errno == EINTR.  SIGINT is handled by the
+         interrupt handler, since interrupt_immediately is set to 1, so
+         this handles things like SIGCHLD
+         [in bash-2.01.1]
+
+                                  9/11
+                                  ----
+test.c
+       - reorganized the code slightly to make it easier to add the ksh-like
+         [[...]] compound command
+
+test.h
+       - new file, with extern declarations for functions available in test.c
+
+externs.h
+       - moved declaration of test_command to test.h
+
+builtins/test.def
+       - include `test.h'
+
+                                  9/16
+                                  ----
+{command,make_cmd,dispose_cmd,externs,subst}.h
+parse.y, subst.c
+{make,dispose,copy,print,execute}_cmd.c
+       - changes to add the new ksh-93 compatible [[...]] conditional command
+
+configure.in
+       - new enable option, --enable-cond-command, to compile in the [[...]]
+         command code
+
+config.h.in
+       - new #define, COND_COMMAND, to compile in the [[...]] command code
+
+tests/{run-cond,cond.{tests,right}}
+       - test suite for the new [[...]] command
+
+{builtins,lib/{readline,glob,tilde}}/Makefile.in
+       - explicit dependencies for .o files on .c files for losing makes
+         like Solaris
+
+doc/{bash.{1,html},bashref.texi}
+       - documented the new `[[' compound command
+       - documented the test/[ builtin behavior based on the number of
+         arguments in the description of the builtin
+       - made a new section for conditional expressions that just lists
+         the available primaries -- the connectives and other operators
+         are listed in the description of the [[ command and the test/[
+         builtin
+
+                                  9/18
+                                  ----
+builtins/set.def
+       - minus_o_option_commands is now a global function so the shopt
+         code can use it
+       - minus_o_option_commands now takes an argument telling it which
+         options to print, just like list_minus_o_options
+       - new function, print_minus_o_option, which prints the value of
+         a `set -o' option either in the traditional format or in the
+         format used by `set +o'
+       - changed list_minus_o_opts and minus_o_option_commands to call
+         print_minus_o_option
+
+builtins/shopt.def
+       - `shopt -p' now causes output to be printed in a format reusable
+         as input (the format is a series of shopt commands, like the
+         output of `set +o')
+       - fixed a bug that made `shopt -so' and `shopt -uo' not work
+       - fixed list_shopt_o_options so that `shopt -op' acts like `set +o'
+       - fixed list_shopt_o_options to that `shopt -op optname' prints the
+         value of optname in a reusable format
+       - fixed list_some_o_options so that `shopt -ops' and `shopt -opu'
+         work and display output in a reusable format
+
+                                  9/19
+                                  ----
+doc/{bash.{1,html},bashref.texi}
+       - documented new `shopt -p' behavior
+
+shell.c
+       - made `bash +o' display the same output as `set +o' and then
+         start an interactive shell (previously `bash -o' and `bash +o'
+         displayed the same thing)
+
+builtins/common.h
+       - added prototypes to the extern function declarations
+
+                                  9/22
+                                  ----
+builtins/evalstring.c
+       - fixed the DISCARD case of the jump_to_top_level so that it
+         doesn't try to call dispose_command(command) after the
+         `pe_dispose' unwind frame gets run, since that disposes the
+         command
+
+                                  9/23
+                                  ----
+test.[ch]
+       - test_eaccess is now a global function so that globbing code can
+         use it
+
+lib/glob/glob.c
+       - rewrote glob_vector to be slightly more efficient and to not
+         read the directory if the filename pattern does not contain
+         any globbing chars.  This satisfies the POSIX requirement that
+         read permission is not required for a directory when the
+         pathname component does not contain a pattern character (bug
+         reported by jsm28@cam.ac.uk)
+
+subst.c
+       - fixed parameter_brace_expand so that ${array[@]} and ${array[*]}
+         behave correctly when IFS is unset or set to something that does
+         not contain a space (they should result in separate words, just
+         like $@ and $*)
+
+tests/{run-array2,array-at-star,array2.right}
+       - tests for the expansions of ${array[@]} and ${array[*]}, derived
+         from the tests in dollar-at-star
+
+                                  9/24
+                                  ----
+jobs.c
+       - fixed cleanup_dead_jobs so that it doesn't remove the job
+         containing last_asynchronous_pid from the job table.  This
+         fixes the POSIX.2 `wait' requirement problem
+
+                                  9/25
+                                  ----
+parse.y
+       - added `\r' escape sequence to the prompt expansion code
+
+lib/readline/chardefs.h
+       - added defines for ISOCTAL, OCTVALUE, isxdigit (if not defined),
+         and HEXVALUE
+
+lib/readline/bind.c
+       - added `normal' echo/printf-like backslash escapes to the
+         key sequence translation code, with the addition that \d
+         expands to RUBOUT.  This means that key sequence definitions
+         (before the `:') and macro values may contain these special
+         backslash-escape sequences
+       - now that we can translate octal escape sequences in key bindings,
+         change _rl_get_keyname so that it turns characters with values
+         128-159 inclusive into octal escape sequences (\200-\237), since
+         those characters are not ASCII or ISO Latin 1
+
+doc/{bash.{1,html},readline.3}, lib/readline/doc/rluser.texinfo
+       - documented new backslash escapes for readline key sequence and
+         macro translation
+
+builtins/pushd.def
+       - new function, get_dirstack_from_string(char *string), returns an
+         element from the directory stack or null, treating the argument
+         exactly as `dirs string' would, with the exception that if
+         the first character of `string' is not `+' or `-', a `+' is
+         assumed
+
+builtins/common.h
+       - new extern declaration for get_dirstack_from_string
+
+general.c
+       - added code to bash_special_tilde_expansions to get the expansion
+         using get_dirstack_from_string() if the first character of the
+         tilde-prefix is a digit or the first character is a `+' or `-'
+         and the second is a digit
+
+tests/dstack.{tests,right}
+       - renamed from dirstack.{tests,right}
+
+tests/dtack2.{tests,right}
+       - new tests for the directory stack tilde expansion code
+
+tests/run-dirstack
+       - now runs both dstack and dstack2
+
+                                  10/3
+                                  ----
+trap.c
+       - reordered header file inclusion for irix 4
+
+execute_cmd.c
+       - fixed select_query so that a reply that is not a number is treated
+         the same as a numeric reply that is out of range
+
+lib/readline/util.c
+       - added a backwards-compatibility definition of _rl_savestring()
+
+builtins/set.def
+       - initialize_shell_options now takes an argument saying whether or
+         not we should parse $SHELLOPTS from the environment.  The shell
+         does not parse the value if it's restricted, running setuid, or
+         running in `privileged mode'
+
+shell.c
+       - change call to initialize_shell_options to add the correct argument
+
+builtins/common.h
+       - changed extern declaration for initialize_shell_options
+
+doc/{bash.{1,html},bashref.texi}
+       - added note that the shell ignores $SHELLOPTS in the environment at
+         startup if running in privileged mode
+       - added note that the restricted shell does not parse $SHELLOPTS from
+         the environment at startup
+
+                                  10/6
+                                  ----
+aclocal.m4
+       - change BASH_RLIMIT_TYPE so that it looks for rlim_t in
+         <sys/resource.h> as well as <sys/types.h>, for Solaris 2.6
+       - new macro, BASH_LARGE_FILE_SUPPORT, to enable special compilation
+         options for large files on Solaris 2.6 (from eggert@twinsun.com)
+
+mailcheck.c
+       - the `file_size' member of the FILEINFO struct should be of
+         type `off_t'
+       - the `size' variable in file_has_grown should be of type `off_t'
+       - the RESET_MAIL_FILE macro should initialize file_size to 0, not 0L
+
+builtins/Makefile.in
+       - LDFLAGS and LOCAL_LDFLAGS are now set by configure
+       - `mkbuiltins' is now created from `mkbuiltins.o' instead of directly
+         from the source to the executable
+
+builtins/evalfile.c
+       - fixed _evalfile so that it handles large files correctly on
+         systems where the st_size member of `struct stat' will not fit
+         into an `int'
+
+builtins/mkbuiltins.c
+       - don't assume that st_size fits into an int
+
+input.[ch]
+       - the `b_size' member of a struct BSTREAM is now of type `size_t'
+       - changed third argument to make_buffered_stream to size_t; changed
+         caller
+       - changed `size' variable in fd_to_buffered_stream to type `size_t'
+
+general.h
+       - include <sys/resource.h> if HAVE_SYS_RESOURCE_H and RLIMTYPE are
+         both defined, for possible necessary definition of RLIMTYPE
+         (e.g., on Solaris 2.6)
+
+{execute_cmd,jobs}.c, builtins/times.def
+       - don't include <sys/resource.h> explicitly if RLIMTYPE is defined,
+         since general.h will include it in that case
+
+lib/readline/bind.c
+       - new function, char *_rl_read_file(filename, sizep), which reads
+         FILENAME into a malloced buffer, returning the buffer and the
+         size of the buffer in *SIZEP
+
+lib/readline/histfile.c
+       - changed read_history_range and history_truncate_file to handle
+         large files
+
+hashcmd.c
+       - find_hashed_filename should not add `./' to the front of a pathname
+         that already begins with `./'
+
+                                  10/8
+                                  ----
+support/config.sub
+       - recognize `hppa2.0' as a valid machine architecture
+
+aclocal.m4
+       - changed BASH_CHECK_LIB_TERMCAP so that `gnutermcap' is not chosen
+         if `$prefer_curses' is set to something
+
+bashhist.c
+       - don't use HISTCONTROL or HISTIGNORE to remove lines from the
+         second and subsequent lines of a multi-line command
+         (current_command_line_count > 1).  Old code did this only when
+         command-oriented-history was enabled
+
+doc/{bash.{1,html},bashref.texi}
+       - changed descriptions of HISTCONTROL and HISTIGNORE to state that
+         these variables are not applied to the second and subsequent
+         lines of a multi-line command
+
+builtins/hash.def, {copy,dispose}_cmd.c
+       - include "bashtypes.h" -- cray machines need it because of their
+         oddball definition of `word'
+
+configure.in
+       - changed check of ${host_cpu} to check for `*cray*' and `*Cray*'
+         when deciding whether to include the GNU malloc, since it
+         seems that ${host_cpu} gets set to `CrayYMP'
+
+                                  10/9
+                                  ----
+configure.in
+       - look for strtod and strtol in libc
+       - make lib/sh directory in build directory if not there
+       - create lib/sh/Makefile
+
+config.h.in
+       - added HAVE_STRTOD and HAVE_STRTOL
+
+Makefile.in
+       - changes for lib/sh/libsh.a (shell library)
+
+builtins/printf.def
+       - took out the `#ifdef STRTOUL' code, since strtoul is in libsh.a,
+         and will be resolved from there if it's not in libc
+
+variables.c
+       - call strtol() instead of string_to_long()
+
+general.c, general.h
+       - removed string_to_long
+       - changed legal_number to use strtol so it correctly sets errno
+         to ERANGE on overflow
+       - moved bash_getcwd_errstr here from lib/sh/oslib.c
+
+externs.h
+       - moved extern declarations for functions defined in libsh to a
+         separate section of the file, added extern declarations for
+         other functions in libsh
+
+builtins/ulimit.def
+       - changed macro definition for string_to_rlimtype to call strtol
+         directly instead of string_to_long
+
+lib/sh/clktck.c
+       - moved get_clock_tck to its own file, since it's compiled in
+         unconditionally
+
+                                  10/10
+                                  -----
+lib/sh/getenv.c
+       - moved getenv() and __getenv() here from lib/sh/oslib.c
+
+lib/sh/{setlinebuf,strerror,strcasecmp}.c
+       - moved {setlinebuf,strerror,strcasecmp}() from oslib.c to
+         individual files
+
+lib/sh/Makefile.in, Makefile.in
+       - changes for new files in lib/sh
+
+aclocal.m4
+       - new macro BASH_SYS_RESTARTABLE_SYSCALLS, which does what
+         AC_SYS_RESTARTABLE_SYSCALLS does, but using posix sigaction()
+
+configure.in
+       - call BASH_SYS_RESTARTABLE_SYSCALLS if ac_cv_sys_restartable_syscalls
+         is `no'
+
+                                  10/13
+                                  -----
+builtins/jobs.def
+       - catch out-of-range jobs better in disown_builtin
+
+configure.in
+       - don't build with GNU malloc on cygwin32
+
+trap.c
+       - change signal_name to handle the case where signal_names[sig] is
+         NULL, which can happen on cygwin32
+
+execute_cmd.c
+       - changes to do_piping to make pipes text mode (O_TEXT) on cygwin32
+
+cross-build
+       - new directory with cache files and other stuff for cross-compiling
+         bash (currently only for building for cygwin32 on a Unix machine)
+
+cross-build/cygwin32.cache
+       - new file containing configuration variable assignments for
+         cygwin32 that would otherwise require a default case for AC_TRY_RUN
+
+configure.in
+       - source ${srcdir}/cross-build/cygwin32.cache on CYGWIN32 systems
+         if we're cross-compiling on a unix machine
+       - set $CC_FOR_BUILD for cygwin32 cross-compiling environment
+
+Makefile.in
+       - CC_FOR_BUILD is now a variable set by configure
+
+builtins/mkbuiltins.c
+       - only check for read(2) returning <= 0 in extract_info() (error
+         and exit on < 0, warning and return on == 0)
+
+builtins/evalfile.c
+       - only check for read(2) returning <= 0 in _evalfile() (error and
+         and failure return on < 0, success on == 0 while short-circuting
+         rest of operation)
+
+                                  10/14
+                                  -----
+
+vprint.c
+       - moved to lib/sh/vprint.c
+
+lib/sh/Makefile.in
+       - added entries for vprint.[co] in the appropriate places
+
+cross-build/win32sig.h
+       - a version of signames.h for cross-compiling for the CYGWIN32
+         environment on a Unix machine (from noer@cygnus.com)
+
+aclocal.m4
+       - made all cases of AC_TRY_RUN and AC_TRY_COMPILE have reasonable
+         default cases for cross-compiling, and tell the user what they are
+
+Makefile.in
+       - removed vprint.c from shell sources and vprint.o from shell
+         objects
+       - added a level of indirection for signames.h -- the variable
+         SIGNAMES_H is set by configure to either `lsignames.h' or
+         a file for a cross-compilation environment (currently only
+         the cygwin32 stuff is supported).  Then that file is copied
+         to `signames.h'.  `lsignames.h' is created by `mksignames' as
+         was previously used to create signames.h directly
+
+configure.in
+       - set SIGNAMES_H to either `$(srcdir)/cross-build/win32sig.h' or
+         `lsignames.h' as appropriate, substitute into Makefile
+
+                                  10/15
+                                  -----
+builtins/Makefile.in
+       - CC_FOR_BUILD is now set by configure and used to build mkbuiltins
+         and psize.aux
+
+variables.h
+       - new variable attribute `att_tempvar', set if the SHELL_VAR * was
+         constructed on the fly from the temporary environment
+
+variables.c
+       - find_name_in_env_array now sets the `att_tempvar' attribute on
+         the SHELL_VAR it creates
+
+findcmd.c
+       - search_for_command now disposes the SHELL_VAR created by searching
+         the temporary environment for $PATH, if it is found there
+       - _find_user_command_internal also disposes of the SHELL_VAR if it
+         has the `att_tempvar' attribute set
+
+builtins/setattr.c
+       - show_name_attributes looks in the temporary environemnt, so it needs
+         to dispose the SHELL_VAR if it has the att_tempvar attribute set
+
+subst.c
+       - parameter_brace_expand_word now disposes of the SHELL_VAR returned
+         by find_variable if it has the att_tempvar attribute set
+       - ditto for param_expand and word_split
+
+builtins/kill.def
+       - disallow null pid arguments instead of treating them as 0
+       - display a usage message and return failure if no pid or job
+         arguments are supplied
+
+                                  10/16
+                                  -----
+builtins/declare.def
+       - make `var=value declare -x var' behave the same as
+         `var=value export var' and `var=value declare -r var' behave the
+         same as `var=value readonly var', now that we have the `tempvar'
+         attribute
+
+                                  10/22
+                                  -----
+jobs.c
+       - non-interactive shells shouldn't report jobs killed by a SIGINT,
+         even if the standard output is to a terminal
+       - pretty_print_job should add a CR at the end of its output if the
+         shell is interactive and asynchronous notification is being
+         performed.  This fixes the problem with extra CRs in the output
+         of $(jobs)
+
+general.c
+       - changed canonicalize_pathname to change `//' into `/', but leave
+         other pathnames starting with two consecutive slashes alone
+
+                                  10/27
+                                  -----
+
+lib/readline/histexpand.c
+       - fixed history_expand so that the appearance of the history
+         comment character at the beginning of a word inhibits history
+         expansion for the rest of the line
+
+                                  10/29
+                                  -----
+jobs.c,variables.c
+       - moved set_pipestatus_array to variables.c
+
+variables.c
+       - new function, set_pipestatus_from_exit(int), which sets the
+         PIPESTATUS variable from a command's exit status
+
+variables.h
+       - extern declarations for set_pipestatus_from_exit and
+         set_pipestatus_array
+
+execute_cmd.c
+       - fixed execute_simple_command to call set_pipestatus_from_exit
+         if a foreground builtin or function, or a foreground null
+         command is executed
+
+                                  10/31
+                                  -----
+shell.c
+       - fixed run_startup_files to detect being run by sshd, and treat
+         that case as equivalent to being run by rshd
+
+                                  11/3
+                                  ----
+builtins/set.def
+       - make sure `set -a' doesn't cause SHELLOPTS to be exported when
+         a change is made to one of the shell options
+
+                                  11/4
+                                  ----
+pathexp.c
+       - fix to shell_glob_filename in the code that uses a POSIX glob
+         library
+
+                                  11/5
+                                  ----
+jobs.c
+       - fix cleanup_dead_jobs to hang onto the job corresponding to
+         last_asynchronous_pid only if the shell is not interactive
+         (this still has the problem that until a new async process
+         is started, the job will stay in the jobs table)
+
+configure.in,aclocal.m4
+       - added a new macro, BASH_TYPE_U_INT32_T, to check for u_int32_t
+         separately from int32_t, since there are systems (HP-UX 10.20)
+         that have a define for the latter but not the former
+
+                                  11/6
+                                  ----
+jobs.c
+       - cleanup_dead_jobs no longer checks whether the job it is deleting
+         corresponds to last_asynchronous_pid
+       - notify_of_job_status and mark_dead_jobs_as_notified now will not
+         mark the job corresponding to last_asynchronous_pid as notified
+         if the shell is not interactive
+       - wait_for_single_pid, if told to wait for last_asynchronous_pid,
+         or the job of which it is a member, will take care of marking
+         the job as notified after calling wait_for and collecting the
+         status.  This means that two successive `wait' calls for $! will
+         succeed the first time and fail the second, as POSIX.2 specifies
+         (take this code out if it causes problems)
+
+                                  11/7
+                                  ----
+jobs.c
+       - wait_for_job, if told to wait for the job corresponding to the
+         last async pid, will mark the job as notified after waiting for
+         it and collecting the status
+
+general.h
+       - fixed MEMBER macro to avoid reading past end of S (it used to
+         test s[1] before s[0], which is an error if s == "")
+
+subst.c
+       - expand_word_internal should free ISTRING before returning if
+         param_expand returns an error
+       - parameter_brace_expand_word should free the memory it allocates
+         and passes to param_expand
+
+execute_cmd.c
+       - execute_arith_command should call dispose_words on the list
+         returned by expand_words
+
+parse.y
+       - after calling parse_arith_command, read_token needs to free the
+         string value that parse_arith_command fills in, since make_word
+         makes a copy of the string it's passed
+
+                                  11/10
+                                  -----
+subst.c
+       - cond_expand_word needs to free the value returned by string_list
+         after it is run through quote_string_for_globbing
+
+parse.y
+       - make sure cond_term frees yylval.word if it is just a `!' and
+         it's parsed as a term negation operator
+
+variables.c
+       - assign_array_var_from_string needs to free the word list returned
+         by parse_string_to_word_list after calling expand_words_shellexp
+         on it
+
+execute_cmd.c
+       - changed execute_simple_command to avoid saving the_printed_command
+         into command_line until just before it's needed.  This should save
+         time and prevent memory leaks on errors, but it must be watched
+         closely to make sure that the_printed_command doesn't change out
+         from under execute_simple_command before we copy it
+
+                                  11/12
+                                  -----
+builtins/alias.def
+       - alias and unalias should print error messages when passed an
+         argument that is not an alias for printing or deletion,
+         respectively, even if the shell is not interactive
+
+builtins/exit.def
+       - `logout' will no longer exit a non-login non-interactive shell
+
+                                  11/17
+                                  -----
+lib/readline/nls.c
+       - add `koi8-r' as a legal LANG value
+
+builtins/alias.def
+       - if `alias' or `alias -p' is executed when no aliases are defined,
+         the return status should be 0, according to POSIX.2
+
+                                  11/18
+                                  -----
+subst.c
+       - changed a couple of calls to make_word_list (make_word(z), ...)
+         to add_string_to_list (z, ...)
+
+execute_cmd.c
+       - execute_cond_command now sets this_command_name to `[['
+
+                                  11/21
+                                  -----
+variables.c
+       - all_visible_{function,variable}s and the functions they call
+         should be compiled in only if READLINE is defined
+
+                                  11/24
+                                  -----
+aclocal.m4
+       - remove some leading whitespace before preprocessor statements in
+         BASH_KERNEL_RLIMIT_CHECK
+
+general.[ch]
+       - fix declarations for group_member so the extern declaration in
+         general.h agrees with the definition in general.c (fix from
+         Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>)
+
+builtins/cd.def
+       - print the new working directory if the shell is interactive
+         and `cd -' succeeds
+       - don't print the new working directory if it's found in $CDPATH
+         if the shell is not interactive
+
+                                  11/25
+                                  -----
+builtins/cd.def
+       - fixes to bindpwd so that it copes with get_working_directory
+         returning NULL (bug from schwab@issan.informatik.uni-dortmund.de)
+
+                                  12/2
+                                  ----
+support/config.guess
+       - add support for new OS name for SINIX SVR4 systems
+
+                                  12/3
+                                  ----
+
+builtins/set.def
+       - `unset' should check that a function it's trying to unset is a
+         legal identifier only when in POSIX mode
+
+redir.c
+       - changed here_document_to_fd to try and make sure the filename
+         used for the here document is `more unique', since the old
+         version would fail if two here documents were created in less
+         than a second
+
+                                  12/4
+                                  ----
+builtins/cd.def
+       - POSIX.2 says that if CDPATH is used to find the new directory,
+         and it's not relative to the current directory, the new directory
+         name should be displayed on stdout even if the shell is not
+         interactive
+
+                                  12/5
+                                  ----
+parse.y
+       - changes so that `time' is recognized as a reserved word only at
+         the beginning of a pipeline (the last read token is one of 0,
+         `;', `\n', `&&', `||', or `&'):
+
+               o add clause to special_case_tokens that does the check
+                 and returns TIME if the conditions are met
+               o take check for `TIME' out of CHECK_FOR_RESERVED_WORD, but
+                 leave it in the word_token_alist so that `type' still
+                 reports it as a `keyword'
+               o new function, time_command_acceptable(), encapsulates the
+                 necessary conditions for `time' to be returned as a 
+                 reserved word
+
+[bash-2.02-alpha1 frozen]
+
+                                 1/6/98
+                                 ------
+lib/glob/fnmatch.c
+       - fix define for isgraph so that it does not return success for space
+       - fix strcompare() so that the call to strcoll is surrounded by
+         #ifdef HAVE_STRCOLL
+
+                                   1/7
+                                   ---
+lib/glob/fnmatch.c
+       - the `test' argument to brackmatch() should be of type `unsigned char'
+
+                                  1/11
+                                  ----
+execute_cmd.c
+       - make sure execute_arith_command sets this_command_name to `(('
+
+                                  1/29
+                                  ----
+parse.y
+       - make sure the code for pushing and popping strings is compiled in
+         if either ALIAS or DPAREN_ARITHMETIC is defined, because the ((
+         code uses push_string in the case of a nested subshell
+       - fix cond_skip_newlines so it resets the prompt to $PS2 while
+         parsing an unfinished conditional command
+
+dispose_cmd.c, copy_cmd.c, builtins/hash.def
+       - fixes to not use `word' as a variable name or the name of a
+         function parameter to get around stuff in the Cray Unix include
+         files
+
+builtins/printf.def
+       - return failure immediately if an illegal format character is
+         encountered
+
+redir.c
+       - make the code that creates here-documents behave better if the
+         file it's trying to create already exists for some reason
+
+lib/readline/complete.c
+       - changed print_filename to return the number of characters it
+         outputs; changed callers to use that value.  This makes columns
+         line up when printing completion listings with filenames
+         containing control characters
+
+doc/bash.{1,html}
+       - fixed a typo in the quote removal section
+
+                                  1/30
+                                  ----
+parse.y
+       - free_string_list() needs to check that t->expander is not NULL
+         before trying to dereference it
+       - reset_parser() doesn't need to set pushed_string_list to NULL
+         after calling free_string_list(), since free_string_list does it
+
+configure.in,cross-build/cygwin32.cache
+       - fixes from Geoff Noer for better cygwin32 cross-compilation
+
+tests/printf.{tests,right}
+       - removed test for integer overflow, since error messages differ
+         across systems
+
+pathexp.c
+       - fixed a problem with unquoted_glob_pattern_p that made things
+         like `x+*' not expand correctly
+
+lib/glob/glob.c
+       - fixed a problem with glob_pattern_p that made things like `x+*'
+         not expand correctly
+
+builtins/cd.def
+       - if `cd -P' is executed, or `set -o physical' has been executed,
+         the value of $PWD after a successful cd will not contain any
+         symlinks, regardless of whether or not the shell is in posix mode
+
+                                   2/3
+                                   ---
+lib/readline/shell.c
+       - include <string.h> or <strings.h> as appropriate
+
+                                   2/4
+                                   ---
+builtins/common.c
+       - take out the code in backslash_quote() that looks for tildes to
+         quote, for the time being
+       - if getcwd() fails, get_working_directory now prints the error
+         message corresponding to errno in addition to the rest of the
+         information -- TENTATIVE CHANGE
+
+lib/sh/getcwd.c
+       - fix from Paul Smith to make getcwd() behave better in the presence
+         of lstat(2) failures
+
+stringlib.c
+       - when copying the replacement string into the output string being
+         constructed, strsub() needs to make sure enough space for the
+         replacement string is allocated, not the length of the pattern
+         (use REPLEN, not PATLEN)
+
+mailcheck.c
+       - make sure make_default_mailpath() has a valid current_user struct
+         before trying to construct the default mailpath
+
+                                   2/5
+                                   ---
+execute_cmd.c
+       - execute_builtin needs to call run_unwind_frame if the builtin is
+         `source' or `eval' and we're not in a subshell rather than just
+         calling dispose_builtin_env, because not all invocations copy 
+         the temporary_env to builtin_env, and nested calls to `.' require
+         that the temporary env given to the first persist until that first
+         call to `.' finishes
+
+parse.y
+       - fix to history_delimiting_chars so that function definitions like
+
+               function xyz
+               {
+                       echo a
+               }
+
+         are saved to the history correctly when command_oriented_history
+         is enabled, but literal_history is not
+
+bashhist.c
+       - when calling internal_error from pre_process_line, use "%s" as
+         the format with history_value as the argument to avoid the
+         problem with the failed history event containing printf escape
+         sequences
+
+                                  2/13
+                                  ----
+shell.c
+       - if shell_initialized is non-zero, don't line-buffer stderr and
+         stdout in shell_initialize on SunOS5 -- see if this fixes the
+         crashing problems for scripts without a leading `#! /bin/sh'
+
+                                  2/17
+                                  ----
+bashline.c
+       - added diffs to _ignore_completion_names from Andreas Schwab to
+         complete names that would otherwise be ignored with FIGNORE if
+         they are the only possible completions.  Define NO_FORCE_FIGNORE
+         if you want this; it is not defined by default
+
+                                  2/19
+                                  ----
+support/bashbug.sh
+       - changed the bug-bash address to bug-bash@gnu.org
+
+examples/loadables/Makefile.in
+       - converted from `Makefile' with some boilerplate configure variables
+         to find the source and build directories -- still requires some
+         hand-editing to get the right CFLAGS and LDFLAGS for shared object
+         creation
+
+Makefile.in
+       - create examples/loadables/Makefile with `make makefiles'
+
+configure.in
+       - create examples/loadables directory so `make makefiles' can write a
+         makefile there
+
+general.c
+       - make sure initialize_groups_array always sets things up so that
+         ${GROUPS[0]} is the user's primary group (current_user.gid)
+
+                                  2/20
+                                  ----
+lib/readline/parens.c
+       - change the time delay when showing matching parens from 1.5 sec to
+         0.5 sec
+
+                                  2/23
+                                  ----
+shell.c
+       - isnetconn() should call getpeername(fd,...) instead of using 0
+         (though fileno(stdin) should always be 0)
+
+support/config.guess
+       - updates from master FSF copy
+
+                                  2/24
+                                  ----
+support/man2html.c
+       - modified version of man2html to convert bash.1 into bash.html
+
+support/Makefile.in
+       - simple Makefile to create man2html
+
+configure.in
+       - make sure support/Makefile is created
+
+Makefile.in
+       - make sure support/Makefile is created and cleaned
+
+doc/Makefile.in
+       - changes to suffix rules to say how to make .html from .1 
+       - `bash.html' is now a makefile target, created by man2html from
+         bash.1 rather than being hand-modified
+
+lib/sh/itos.c, general.c
+       - new file, itos() from general.c.  This is here because the
+         implementation of strerror in lib/sh/strerror.c uses itos()
+
+Makefile.in, lib/sh/Makefile.in
+       - changes to add itos.c in libsh.a
+
+externs.h, general.h
+       - moved extern declaration of itos() from general.h to externs.h
+
+aclocal.m4
+       - changes to BASH_LARGE_FILE_SUPPORT for the LFS64_* variables in
+         Solaris 2.6
+
+Makefile.in
+       - make sure configure sets CPPFLAGS in this file
+
+                                  2/27
+                                  ----
+
+builtins/command.def
+       - make sure get_standard_path returns the value of
+         STANDARD_UTILS_PATH if _CS_PATH is defined, but confstr(3)
+         returns 0, indicating that _CS_PATH does not have a defined
+         value
+
+bashhist.c
+       - fixed bash_history_inhibit_expansion() so that extended globbing
+         expressions like *.!(c) are not history expanded if extended_glob
+         is non-zero (shopt -s extglob has been executed)
+
+                                   3/2
+                                   ---
+Makefile.in
+       - changed release status to `beta1'
+
+[bash-2.02-beta1 frozen]
+
+                                  3/17
+                                  ----
+lib/readline/vi_mode.c
+       - make sure _rl_vi_save_insert() gets a non-null UNDO_LIST pointer
+         before trying to do anything with it
+
+jobs.c
+       - add a call to internal_warning from wait_for_job if the job is
+         stopped
+       - changed notify_of_job_status to not report pipelines exiting due to
+         SIGPIPE in non-interactive shells if the shell is compiled with
+         -DDONT_REPORT_SIGPIPE
+
+builtins/psize.sh
+       - some fixes to try to avoid /tmp file races and surreptitious
+         substitutions
+
+version.c
+       - changed the extended version info to show 1998 as the copyright year
+
+parse.y
+       - fixes from Andreas Schwab <schwab@LS5.informatik.uni-dortmund.de>
+         for compilation errors when the shell is configured --disable-alias
+         but with dparen arithmetic enabled
+
+eval.c
+       - fixes from Andreas Schwab <schwab@LS5.informatik.uni-dortmund.de> to
+         make sure the input stream is popped correctly when performing an
+         array assignment in the command argument to `bash -c', e.g.,
+         `bash -c 'A=()''
+
+builtins/kill.def
+       - make `kill' with no arguments print a usage message and return a
+         failure status
+
+alias.c
+       - fix so that rd_token doesn't dump core when trying to do alias
+         expansion on a line containing an unclosed single quote (fix from
+         Vasco Pedro <vp@di.fct.unl.pt>)
+
+builtins/cd.def
+       - fix so that using a non-empty directory from CDPATH to construct
+         the name of the directory to change to results in an absolute
+         pathname of the new current working directory being displayed,
+         as POSIX.2 specifies
+
+support/bashbug.sh
+       - a couple of small fixes to minimize /tmp file races -- the script
+         is still raceable, the window is just smaller
+
+                                  3/24
+                                  ----
+variables.c
+       - make sure assign_in_env passes a malloc'd string to
+         expand_string_unsplit, because some of the error code assumes that
+         it is malloc'd and frees it (bug reported by Marko.Makela@HUT.FI)
+
+                                  3/25
+                                  ----
+doc/bashref.texi
+       - changed the email addresses to use the @email texinfo tag
+
+trap.c
+       - call reset_parser from the exit trap code before calling
+         parse_and_execute, so reserved words are parsed correctly
+
+subst.c
+       - make sure parameter_brace_patsub expands the pattern string as if
+         the expression were not in double quotes, even if the entire
+         expansion is enclosed in double quotes, so that quote removal
+         on embedded double quotes is performed correctly (bug report from
+         schwab@issan.informatik.uni-dortmund.de)
+
+                                  3/27
+                                  ----
+support/config.guess
+       - changes to allow Power PCs running Apple's Rhapsody to configure
+
+                                  3/31
+                                  ----
+
+Makefile.in
+       - changed release status to `beta2'
+
+[bash-2.02-beta2 frozen]
+
+                                   4/6
+                                   ---
+subst.c
+       - make sure command_substitute does not try to set the terminal's
+         process group to a background job
+
+[bash-2.02 frozen]