X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=CWRU%2Fchangelog;h=460f6e6317062cdef9c000bd619fc1ff47464109;hb=cce855bc5b117cb7ae70064131120687bc69fac0;hp=331c9e603af32559abf3d52f17c7b727dc39cc44;hpb=e8ce775db824de329b81293b4e5d8fbd65624528;p=platform%2Fupstream%2Fbash.git diff --git a/CWRU/changelog b/CWRU/changelog index 331c9e6..460f6e6 100644 --- a/CWRU/changelog +++ b/CWRU/changelog @@ -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 + +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 before any of the bash-specific header files, + but after config.h + [in bash-2.01.1] + +test.c + - include and declare `extern int errno' before including + any of the bash-specific include files, but after + [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 and + + +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 + and , 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 + as well as , 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 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 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 ) + +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 or 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 + for compilation errors when the shell is configured --disable-alias + but with dparen arithmetic enabled + +eval.c + - fixes from Andreas Schwab 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 ) + +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]