8399 lines
252 KiB
Text
8399 lines
252 KiB
Text
6/2
|
|
---
|
|
lib/readline/readline.c
|
|
- fixed an off-by-one error in the kill ring reallocation code
|
|
in rl_kill_text
|
|
|
|
Makefile
|
|
- replaced instances of /bin/sh with $(SHELL)
|
|
|
|
Makefile, cpp-Makefile, documentation/Makefile
|
|
- added a working `uninstall' target
|
|
|
|
[1.14.0 FCS release made available for FTP]
|
|
|
|
6/3
|
|
---
|
|
README
|
|
- added note about building with gcc, same as in Makefile
|
|
|
|
documentation/Makefile
|
|
- some versions of make don't understand `$*' in a regular recipe;
|
|
replace with features.dvi in the recipe for features.ps
|
|
|
|
6/4
|
|
---
|
|
subst.c
|
|
- fix up the calls to string_extract_double_quoted and
|
|
string_extract_single_quoted in char_is_quoted so the initial
|
|
value of the index is *after* the opening quote character
|
|
- make sure we only return 1 from char_is_quoted if the index
|
|
into the string after a call to string_extract_double_quoted or
|
|
string_extract_single_quoted is *greater than* `eindex'
|
|
|
|
lib/readline/complete.c
|
|
- change the order and sense of the quoting tests in
|
|
rl_complete_internal so that the expensive char_is_quoted
|
|
is only called if `scan' actually is a word break character
|
|
|
|
shell.c
|
|
- fixed a typo in the test for a restricted shell
|
|
|
|
builtins/exec.def
|
|
- need to include flags.h
|
|
|
|
6/6
|
|
---
|
|
make_cmd.c
|
|
- make sure that we don't try to walk down a null command tree
|
|
in connect_async_list (tickled by `(command &) &')
|
|
- if a command has the CMD_WANT_SUBSHELL bit set in its flags,
|
|
don't even try to walk the command tree and move the `&';
|
|
just connect the command with a null command using `&'
|
|
|
|
execute_cmd.c
|
|
- make sure we don't try to reference a command struct without
|
|
first checking it (case '&')
|
|
|
|
6/7
|
|
---
|
|
machines.h
|
|
- fix a typo in the NeXT/i386 description; change the NeXT description
|
|
to #define HAVE_RESOURCE if not already defined rather than putting
|
|
-DHAVE_RESOURCE into the SYSDEP_CFLAGS
|
|
|
|
6/9
|
|
---
|
|
Makefile
|
|
- make sure all of the rules that reinvoke `make' have the
|
|
`-f bash-Makefile' before the assignment statements; some
|
|
versions of make like it that way
|
|
|
|
variables.c
|
|
- make sure that `interactive' is set to 0 before evaluating the
|
|
string containing an exported function obtained from the
|
|
environment, so that it does not try to execute PROMPT_COMMAND
|
|
(this may not be the best fix)
|
|
|
|
6/13
|
|
----
|
|
documentation/Makefile
|
|
- make sure all of the directories exist before trying to install
|
|
doc files into them
|
|
|
|
lib/readline/history.c
|
|
- add a missing O_TRUNC to the open call for writing in
|
|
history_truncate_file
|
|
|
|
trap.c
|
|
- run_interrupt_trap should only try to run the trap command if
|
|
the value is not IMPOSSIBLE_TRAP_HANDLER
|
|
|
|
Makefile
|
|
- add `realclean'
|
|
|
|
lib/readline/complete.c
|
|
- do the same kind of double-quoting a replacement string if the
|
|
user supplies the opening double quote as we would if we were
|
|
adding both quotes ourselves
|
|
|
|
variables.c
|
|
- fixed the variable initialization so that history_control/HISTCONTROL
|
|
can be inherited from a parent shell
|
|
|
|
INSTALL, README, cpp-Makefile, documentation/bash.1, documentation/readline.3
|
|
- ai.mit.edu -> prep.ai.mit.edu
|
|
|
|
shell.c
|
|
- fixed a problem with setting no_line_editing to the result of the
|
|
check for running inside emacs, thereby losing any value
|
|
initialized by the `-nolineediting' flag
|
|
|
|
cpp-Makefile
|
|
- `make distclean' will now remove the `installed-bash' link
|
|
|
|
print_cmd.c
|
|
- fixed a problem with undefined variables when HAVE_VARARGS_H is
|
|
not defined
|
|
|
|
6/14
|
|
----
|
|
lib/readline/history.c
|
|
- fixed an error in the csh history expansion code so that the
|
|
`-y' word designator now expands to `0-y' rather than `1-y'
|
|
|
|
lib/readline/isearch.c
|
|
- changed an absolute check for a character falling within the
|
|
ASCII 32-126 range (printable chars) with checks for CTRL_P
|
|
and META_CHAR and a check against the value RUBOUT
|
|
- changed a `break' to a `continue' so that the first non-matching
|
|
character in the search string does not cause the search to
|
|
end abruptly
|
|
- initialize prev_line_found to 0 at the top of rl_search_history
|
|
to avoid duplicate history lines being saved across searches
|
|
|
|
lib/readline/rltty.c
|
|
- consolidated repeated code for setting special characters into
|
|
`SET_SPECIAL' defines
|
|
|
|
lib/readline/readline.c
|
|
- include <sys/ioctl.h> if VSTATUS is defined
|
|
- add bindable command rl_tty_status (unbound by default)
|
|
|
|
lib/readline/funmap.c
|
|
- assign bindable command name `tty-status' to rl_tty_status
|
|
|
|
INSTALL
|
|
- add note about compiling with gcc, same text as README
|
|
|
|
lib/readline/display.c
|
|
- many changes and tweaks to make redisplay work better when the
|
|
prompt has invisible characters. These changes are non-optimal
|
|
in that the prompt is redrawn more than it needs to be, but
|
|
things are a hell of a lot better than they were
|
|
|
|
6/15
|
|
----
|
|
documentation/Makefile
|
|
- make a variable NROFF that people can set to `groff -Tascii' if
|
|
they don't have real nroff
|
|
- changed the suffix rules to use $<
|
|
|
|
support/bashbug.sh
|
|
- if rmail doesn't exist or fails, save the bug report in
|
|
~/dead.bashbug
|
|
|
|
execute_cmd.c
|
|
- in setup_async_signals, only ignore SIGINT and SIGQUIT if job
|
|
control is not active. If it is active and the job is restarted,
|
|
SIGINT remains ignored, and the now-foregrounded job is not
|
|
interruptible
|
|
|
|
subst.c
|
|
- fixed up a problem with char_is_quoted that caused backslash-
|
|
escaped characters to cause incorrect results
|
|
|
|
tests/run-dollars, tests/dollar-at.sh, tests/dollar-star.sh
|
|
- since the error messages produced by `cat' vary, changed `cat'
|
|
to `recho' and updated the correct answers file
|
|
|
|
machines.h
|
|
- fixes to CRAY_STACKSEG_END definitions for different versions of
|
|
Unicos on the YMP (from Bill Jones)
|
|
- Motorola SVR4 machines have getcwd() and should not undef
|
|
HAVE_GETCWD
|
|
- on hpux 9.x, don't try to link with -lPW if compiling with gcc
|
|
(for alloca)
|
|
|
|
parse.y
|
|
- an ugly fix for a compiler problem with structure assignment on
|
|
the cray
|
|
|
|
6/16
|
|
----
|
|
builtins/wait.def
|
|
- replaced a call to sscanf with a validity check using all_digits()
|
|
and a call to atoi, since a pid_t is not necessarily an int, and
|
|
the sscanf clobbered the stack frame on systems where it is shorter
|
|
than an int (e.g., SCO)
|
|
|
|
lib/readline/display.c
|
|
- since META_CHAR and the other macros only work with unsigned
|
|
chars, make rl_character_len convert its argument to an unsigned
|
|
char before testing it
|
|
|
|
documentation/Makefile
|
|
- use $(INSTALL_DATA) instead of $(CP) to install the man pages and
|
|
info files
|
|
|
|
cpp-Makefile
|
|
- use INSTALL_PROGRAM and INSTALL_DATA to install binaries and
|
|
documentation; pass both values to installs in subdirectories
|
|
|
|
6/18
|
|
----
|
|
builtins/ulimit.def
|
|
- compensate for systems which define RLIMIT_OFILE instead of
|
|
RLIMIT_NOFILE, or don't provide such a compatibility define
|
|
themselves
|
|
|
|
shell.c
|
|
- make maybe_execute_file check for directories and print an
|
|
appropriate error message, since it's doing an fstat anyway
|
|
|
|
support/mksysdefs
|
|
- added support for a `-s srcdir' option so it can find
|
|
cpp-Makefile if ansi-Makefile is to be created
|
|
|
|
Makefile
|
|
- call mksysdefs with -s $(srcdir)
|
|
|
|
jobs.c
|
|
- add the magic #undef lines to avoid redefinition warnings on
|
|
SunOS 4 only
|
|
|
|
6/20
|
|
----
|
|
cpp-Makefile
|
|
- install `bashbug' with `make install'
|
|
|
|
trap.c
|
|
- make sure that `interactive' is set to 0 when running trap
|
|
commands
|
|
|
|
builtins/umask.c
|
|
- fixed typo in usage error message
|
|
|
|
subst.c
|
|
- fix process_substitute to set subshell_environment
|
|
|
|
jobs.c, nojobs.c
|
|
- only mess with the terminal settings for an interactive shell
|
|
that is not in a subshell environment
|
|
|
|
6/21
|
|
----
|
|
lib/readline/history.h
|
|
- add extern declaration of history_get
|
|
|
|
builtins/fc.def
|
|
- make history replacement when using `r' or `fc -s' obey the
|
|
setting of HISTCONTROL
|
|
|
|
general.c
|
|
- in canonicalize_pathname, preserve a double // at the start
|
|
of an absolute pathname, since that means something special
|
|
for the network directory system
|
|
|
|
README, INSTALL
|
|
- updated information about submitting bug reports
|
|
|
|
lib/readline/vi_mode.c, lib/readline/isearch.c
|
|
- make sure unistd.h is included before rldefs.h, if
|
|
HAVE_UNISTD_H is defined
|
|
|
|
6/24
|
|
----
|
|
lib/readline/complete.c
|
|
- add `#' to the list of characters which cause a completed filename
|
|
to be quoted
|
|
|
|
execute_cmd.c
|
|
- be more careful about closing pipe file descriptors in do_piping;
|
|
don't want to have `dup2(i, i); close(i);' problem
|
|
|
|
lib/readline/{keymaps,readline}.h
|
|
- include local copies of include files if READLINE_LIBRARY is
|
|
defined, otherwise include the `official, installed' versions
|
|
using #include <readline/xxx.h>
|
|
|
|
lib/readline/*.c
|
|
- define READLINE_LIBRARY before including any files
|
|
- include only `local' copies of include files using #include "xxx.h"
|
|
rather than #include <readline/xxx.h>
|
|
|
|
6/26
|
|
----
|
|
execute_cmd.c
|
|
- check for clobbering the bash input stream before closing a file
|
|
descriptor due to an r_close_this redirection
|
|
|
|
lib/readline/history.c
|
|
- made history_expand inhibit history expansion if the history
|
|
expansion char is set to 0
|
|
|
|
lib/readline/chardefs.h
|
|
- moved savestring() definition to rldefs.h
|
|
- changed lowercase_p, uppercase_p, to_lower, to_upper defines to
|
|
use <ctype.h> macros rather than assume ASCII
|
|
|
|
lib/readline/bind.c, general.c, general.h
|
|
- use strcasecmp, strncasecmp instead of str[n]icmp if
|
|
HAVE_STRCASECMP is defined
|
|
|
|
cpp-Makefile
|
|
- pass -DHAVE_STRCASECMP to builds in the libraries, primarily
|
|
readline
|
|
|
|
machines.h
|
|
- add HAVE_STRCASECMP to the entries for BSD/386, NetBSD, FreeBSD,
|
|
and 4.4 BSD
|
|
|
|
builtins/hash.def
|
|
- add a fourth parameter to remember_filename, the initial value
|
|
of times_found (0 if we're just looking it up for `hash', 1
|
|
for the command execution code)
|
|
|
|
execute_cmd.c
|
|
- call remember_filename with an initial value of 1 for times_found
|
|
|
|
builtins/wait.def
|
|
- handle a null argument with an error message
|
|
|
|
builtins/common.c
|
|
- parse_and_execute now takes a third parameter: the value for
|
|
`interactive' while it is executing commands
|
|
|
|
bashline.c, jobs.c, parse.y, shell.c, subst.c, trap.c, variables.c
|
|
- set the new third argument to parse_and_execute appropriately
|
|
|
|
builtins/eval.def, builtins/fc.def, builtins/source.def
|
|
- set the new third argument to parse_and_execute appropriately
|
|
|
|
builtins/help.def
|
|
- changed a call to strnicmp to strncmp when trying to find what
|
|
to give help on; it seems more correct
|
|
|
|
6/27
|
|
----
|
|
machines.h
|
|
- cleaned up the SunOS section so it no longer relies on
|
|
HAVE_SHARED_LIBS being defined; it uses SunOS4 and SunOS5
|
|
instead
|
|
|
|
support/mksysdefs
|
|
- define SYSDEF to be SunOS4 or SunOS5 depending on the output
|
|
of uname rather than looking for ld.so
|
|
|
|
6/29
|
|
----
|
|
machines.h
|
|
- minor change to the ardent titan machine description
|
|
- move the ardent and stardent descriptions before the
|
|
mips riscos description
|
|
|
|
print_cmd.c
|
|
- ardent machines also need the extern declaration for printf
|
|
|
|
make_cmd.c
|
|
- connect_async_list should do its work only if the lists to be
|
|
backgrounded are connected with `;'. This makes `;' bind tighter
|
|
than `&', so only the last job in the list is backgrounded. All
|
|
other lists should have the entire thing put in the background
|
|
|
|
parse.y
|
|
- added a function `print_prompt' to take care of displaying the
|
|
prompt string if readline is not being used. This fixes problems
|
|
with the prompt being displayed before the status of completed
|
|
jobs is printed
|
|
|
|
6/30
|
|
----
|
|
builtins/fg_bg.def
|
|
- `fg' and `bg' now print error messages if invoked when job control
|
|
is disabled
|
|
|
|
lib/readline/rltty.c
|
|
- if not compiled into the shell, make get_tty_settings get and set
|
|
the window size. This noop stops the process if it is started in
|
|
the background
|
|
|
|
lib/readline/readline.c
|
|
- provide a function version of savestring, if not being compiled
|
|
into the shell, since the macro has been removed from the
|
|
`public' header files
|
|
|
|
lib/readline/readline.h
|
|
- provide all extern function declarations without checking whether
|
|
VI_MODE or PAREN_MATCHING are defined. It does not hurt to define
|
|
them if they are not used and not in the library, and other
|
|
applications using readline can't tell whether or not VI_MODE was
|
|
defined when the library was compiled anyway
|
|
|
|
7/1
|
|
---
|
|
machines.h
|
|
- add #undef HAVE_DIRENT_H to the ardent titan description
|
|
|
|
7/2
|
|
---
|
|
lib/readline/chardefs.h
|
|
- removed META_P define, renamed CTRL_P to CTRL_CHAR
|
|
|
|
lib/readline/bind.c, lib/readline/isearch.c
|
|
- changed instances of CTRL_P to CTRL_CHAR
|
|
|
|
lib/readline/search.c
|
|
- include <unistd.h> before rldefs.h, if HAVE_UNISTD_H is defined
|
|
|
|
lib/readline/readline.c
|
|
- declare PC, UP, and BC as extern rather than `local' to the
|
|
readline library
|
|
|
|
7/5
|
|
---
|
|
bashline.c
|
|
- implement command word completion inside of command substitution
|
|
with a new function: `command_subst_completion_function'
|
|
|
|
subst.c
|
|
- new function to help with command subst completion: unclosed_pair
|
|
|
|
lib/readline/complete.c
|
|
- new variable rl_filename_quoting_desired, which can be set to 0
|
|
to inhibit the quoting of filenames after completion
|
|
|
|
lib/readline/readline.h
|
|
- declare rl_filename_completion_desired and
|
|
rl_filename_quoting_desired
|
|
|
|
builtins/bind.def
|
|
- don't save the old value of rl_outstream before initializing
|
|
readline -- it saves garbage values and screws up readline
|
|
|
|
parse.y
|
|
- don't have private state telling whether or not readline has
|
|
been initialized -- use bash_readline_initialized like other
|
|
functions in bashline.c
|
|
|
|
lib/readline/readline.c
|
|
- make the default 8-bit behavior be based on whether LC_CTYPE is
|
|
defined and its value (accept iso-8859-1 or iso_8859_1)
|
|
|
|
7/6
|
|
---
|
|
variables.c
|
|
- fix up the declaration of getenv() for convex machines
|
|
|
|
7/7
|
|
---
|
|
lib/readline/readline.c
|
|
- fixed up typos in the declaration of `savestring'
|
|
|
|
lib/readline/history.c
|
|
- fixed an off-by-one error in the ADD_CHAR macro which caused one
|
|
extra character to be overwritten, causing the gnu malloc to abort
|
|
when that one character was at the end of an allocated block
|
|
- changed the ADD_STRING macro to avoid some unnecessary xreallocs
|
|
|
|
lib/readline/display.c
|
|
- fixed a problem with move_cursor_relative -- function now returns
|
|
immediately if it has nothing to do
|
|
- fixed another problem with displaying prompts with invisible chars
|
|
|
|
lib/readline/chardefs.h
|
|
- fixed the CTRL macro to be right (agree with the BSD kernel, for
|
|
example)
|
|
|
|
cpp-Makefile
|
|
- fixed typo in the `install' recipe
|
|
|
|
7/8
|
|
---
|
|
support/srcdir
|
|
- fixed to handle srcdir when it begins with ./ or ../ to handle
|
|
$(srcdir) being a relative path better
|
|
|
|
cpp-Makefile
|
|
- changed some include paths to $(BUILTIN_ABSSRC) when building in
|
|
`builtins' to handle $(srcdir) being a relative path
|
|
- change the `chmod' on bashbug to turn on read and execute for all
|
|
- added a couple of definitions to make it easier for a later
|
|
`configure' program
|
|
|
|
support/mksysdefs
|
|
- added a -i option to specify an alternate set of directories to
|
|
search for include files
|
|
|
|
lib/readline/bind.c
|
|
- in rl_read_init_file, when skipping whitespace at the start of
|
|
the line, decrement `i' so that we don't jump past the start
|
|
of the next line
|
|
|
|
machines.h
|
|
- SCOv4 has a `robust' opendir that checks that you're actually
|
|
opening a directory
|
|
|
|
7/11
|
|
----
|
|
lib/readline/complete.c
|
|
- make sure a word break character is unquoted before using it to
|
|
separate out the current word for completing
|
|
|
|
machines.h
|
|
- new machine description: NetBSD on motorola m68k machines like
|
|
the hp300
|
|
- undef HAVE_GETWD in the generic svr4 machine description, like
|
|
other svr4 descriptions
|
|
|
|
lib/readline/rltty.c
|
|
- make sure to fflush (rl_outstream) after toggling the setting
|
|
of the keypad and meta key
|
|
|
|
portbash/libc.sh
|
|
- add a test for OPENDIR_NOT_ROBUST
|
|
|
|
support/getcppsyms.c
|
|
- output __svr4__ if we find __uxps__ (this makes the Fujitsu port of
|
|
SVR4 to the sparc build OK)
|
|
|
|
7/12
|
|
----
|
|
lib/readline/display.c
|
|
- more display-related fixes when the prompt has invisible chars;
|
|
this time for screen updates when moving between screen lines
|
|
|
|
lib/readline/readline.c, lib/readline/display.c
|
|
- changes to make readline work with terminals that have auto-wrap
|
|
from Per Bothner (new function _rl_update_final, term_xn changes,
|
|
some efficiency speedups, new function space_to_eol)
|
|
|
|
7/13
|
|
----
|
|
lib/readline/display.c
|
|
- after moving up screen lines using term_up in _rl_move_vert, if
|
|
the new screen line is 0, _rl_last_c_pos needs to be adjusted
|
|
to take invisible characters into account. This was the source
|
|
of many bugs
|
|
|
|
|
|
7/14
|
|
----
|
|
documentation/Makefile
|
|
- change instances of `groff' to `${GROFF}', GROFF is set to
|
|
`groff' by default
|
|
|
|
general.c, variables.c
|
|
- moved `qsort_string_compare' from variables.c to general.c
|
|
|
|
general.h, variables.h
|
|
- moved declaration of `qsort_string_compare' from variables.h
|
|
to general.h
|
|
|
|
alias.c, lib/readline/funmap.c
|
|
- moved qsort auxiliary functions after their use and added
|
|
forward declarations to avoid warnings from ANSI C compilers
|
|
|
|
memalloc.h
|
|
- hpux_9 needs alloca declared as `extern void *' if __STDC__
|
|
is defined
|
|
|
|
support/mksysdefs
|
|
- removed HAVE_SHARED_LIBS entirely
|
|
- make a call to /bin/uname -X for SCO machines to avoid running
|
|
a different uname from the $PATH
|
|
|
|
machines.h
|
|
- new descriptions: Intel i860 running SVR4, Tahoe running 4.3 BSD
|
|
- changed descriptions: Mips/RiscOS, DG AViiON, unknown machine
|
|
|
|
jobs.c
|
|
- changes to how the shell handles foreground jobs dying of SIGINT:
|
|
an interactive shell using job control will no longer
|
|
act as if it received a SIGINT if the foreground job
|
|
dies from a SIGINT
|
|
|
|
a non-interactive shell or shell without job control tries
|
|
to differentiate between SIGINTs it has seen (in
|
|
wait_sigint_handler) and a foreground job dying of a SIGINT
|
|
not sent from the keyboard, and runs the normal SIGINT code
|
|
only in the former case
|
|
|
|
7/15
|
|
----
|
|
support/mksysdefs
|
|
- check for ${UNAME}${RELEASE} expanding to `SunOS4*' or `SunOS5*'
|
|
to set SYSDEF to SunOS4 or SunOS5, respectively. Apparently
|
|
this does not work for Solbourne
|
|
|
|
7/18
|
|
----
|
|
|
|
lib/readline/rltty.c
|
|
- if output is being flushed on termios systems, loop until the
|
|
FLUSHO bit is no longer set in the termios struct
|
|
|
|
support/mksysdefs
|
|
- added a -A flag to force creation of ansi-Makefile
|
|
|
|
machines.h
|
|
- new entry for Tandem machines running SVR3
|
|
|
|
7/19
|
|
----
|
|
lib/readline/rldefs.h
|
|
- include <termcap.h> if HAVE_TERMCAP_H is defined
|
|
- use <termio.h> stuff if HAVE_TERMIO_H is defined and _POSIX_VERSION
|
|
is not defined
|
|
|
|
lib/readline/rldefs.h, lib/readline/history.c
|
|
- include "config.h" if HAVE_CONFIG_H is defined
|
|
|
|
lib/readline/{rldefs.h,signals.c,readline.c}
|
|
- WINSIZE_IN_IOCTL_H -> GWINSZ_IN_SYS_IOCTL for compatibility with
|
|
other GNU programs
|
|
|
|
lib/readline/doc/Makefile
|
|
- fixed up to create the readline and history manuals in dvi and
|
|
ps format
|
|
|
|
lib/readline/Makefile
|
|
- changes inspired by the standalone readline-2.0 distribution
|
|
|
|
7/20
|
|
----
|
|
lib/readline/history.c
|
|
- new function, history_is_stifled (), returns history_stifled
|
|
- set history_state flags member in the history state functions
|
|
|
|
lib/readline/history.h
|
|
- reorganized the function declarations, added missing declarations
|
|
- history_stifled is no longer exported by the library
|
|
- added a `flags' member to the HISTORY_STATE structure
|
|
|
|
bashline.c
|
|
- use history_is_stifled () instead of history_stifled
|
|
|
|
lib/readline/readline.c, lib/readline/vi_mode.c
|
|
- filled in correct argument declarations for functions called via
|
|
keymaps (count, key)
|
|
|
|
lib/readline/complete.c
|
|
- efficiency improvement for compare_strings
|
|
|
|
7/21
|
|
----
|
|
examples/dirfuncs
|
|
- new directory functions from ksh book, contributed by
|
|
Ken Konecki (kenk@wfg.com)
|
|
|
|
machines.h
|
|
- hpux_8 and hpux_9 should both #undef HAVE_ALLOCA unless gcc is
|
|
being used
|
|
|
|
7/22
|
|
----
|
|
bashline.c
|
|
- fixed up command_word_completion_function so that filenames with
|
|
leading tildes are completed correctly
|
|
|
|
7/26
|
|
----
|
|
builtins/read.def
|
|
- if -r not given, make sure CTLESC is removed from input string
|
|
when reading \<newline>
|
|
|
|
lib/readline/readline.c
|
|
- new function bind_arrow_keys, which binds vt100/ansi arrow key
|
|
escape sequences after reading the termcap definition and the
|
|
inputrc file
|
|
- new function rl_yank_last_arg, which does what insert-last-arg
|
|
does in bash
|
|
|
|
lib/readline/emacs_keymap.c
|
|
- remove default bindings to rl_arrow_keys for M-[ and M-O
|
|
- rl_yank_last_arg is now bound to `M-.' and `M-_' in
|
|
emacs_meta_keymap
|
|
|
|
subst.c
|
|
- when performing process substitution on systems with /dev/fd,
|
|
make sure the child clears the slot in dev_fd_list it gets
|
|
from its parent so the file descriptor does not get closed
|
|
inappropriately if reallocated by, e.g., pipe(2)
|
|
|
|
bashline.c
|
|
- removed insert_last_arg and the calls to bind in to `M-.' and `M-_'.
|
|
`insert-last-argument' is now bound to rl_yank_last_arg for
|
|
backwards compatibility
|
|
|
|
lib/readline/funmap.c
|
|
- `yank-last-arg' is now a named command for rl_yank_last_arg
|
|
|
|
|
|
documentation/bash.1, documentation/readline.3
|
|
- add description of yank-last-arg as one of the readline user
|
|
commands
|
|
|
|
lib/readline/doc/rluser.texinfo
|
|
- added description of yank-last-arg
|
|
|
|
builtins/getopts.def
|
|
- fixed a typo in the int-to-string code computing the value to set
|
|
OPTIND to: had '\0' instead of '0'
|
|
- made getopts handle the case where there are more than 9 dollar
|
|
variables (where rest_of_args is non-null) correctly
|
|
|
|
7/28
|
|
----
|
|
lib/readline/display.c
|
|
- fixes to the display code for single-line-display in the presence
|
|
of prompts containing invisible characters
|
|
|
|
lib/readline/readline.c
|
|
- if we are using horizontal scrolling and we have term_xn, decrement
|
|
the screenwidth by 1, since we won't be doing any line wrapping
|
|
|
|
7/31
|
|
----
|
|
jobs.c
|
|
- new variable `freeze_jobs_list' to set when changes to the jobs
|
|
list or status of jobs in the list (other than calling something
|
|
like `jobs -n') are undesirable. This is set when execuing traps
|
|
on SIGCHLD
|
|
|
|
8/1
|
|
---
|
|
subst.c
|
|
- check that `~' is unquoted before performing tilde expansion in
|
|
an assignment statement
|
|
|
|
8/3
|
|
---
|
|
bracecomp.c
|
|
- keep brace completion from dumping core if there is only one
|
|
match
|
|
|
|
lib/readline/chardefs.h
|
|
- add a define for digit_p, which returns the value of isdigit()
|
|
|
|
lib/readline/readline.c
|
|
- added function equivalents for uppercase_p, lowercase_p, to_upper,
|
|
to_lower, pure_alphabetic, digit_p, and digit_value
|
|
- replaced calls to numeric () with calls to digit_p, removed
|
|
definition of numeric ()
|
|
|
|
lib/readline/history.c
|
|
- digit -> digit_p
|
|
|
|
lib/readline/vi_mode.c
|
|
- replaced uses of the `isletter' define to use pure_alphabetic
|
|
from chartypes.h
|
|
- replaced uses of `numeric' with calls to digit_p
|
|
- added do...while(0) to `exchange' define
|
|
|
|
|
|
8/4
|
|
---
|
|
execute_cmd.c
|
|
- make sure execute_function saves and restores the current loop
|
|
count with unwind_protect_int
|
|
|
|
documentation/features.texi
|
|
- change the `Shell Command Line Options' section to `Invoking
|
|
Bash' to be closer to the GNU coding standards
|
|
|
|
8/5
|
|
---
|
|
builtins/read.def
|
|
- fixed up a memory leak and made behavior correct when no
|
|
variables given and backslash escaped at least one input char
|
|
- if we added CTLESC anywhere while reading the input string,
|
|
make sure we call dequote_string on each word of the input
|
|
before calling bind_variable with that string
|
|
|
|
8/6
|
|
---
|
|
lib/readline/readline.h
|
|
- removed definition of rl_show_star -- the variable no longer
|
|
exists
|
|
|
|
lib/readline/readline.h, lib/readline/history.h
|
|
- reorganized to follow texinfo manual structure
|
|
|
|
lib/readline/bind.c
|
|
- rl_function_dumper is now static
|
|
- rl_list_funmap names does not take any arguments
|
|
|
|
builtins/bind.def
|
|
- rl_list_funmap names does not take any arguments
|
|
|
|
lib/readline/readline.c, lib/readline/signals.c
|
|
- rl_init_argument ->_rl_init_argument
|
|
|
|
lib/readline/rltty.c
|
|
- remove declaration and references to output_was_flushed
|
|
|
|
support/getcppsyms.c
|
|
- if __uxps__ is defined, define __uxps__ and __svr4__
|
|
|
|
8/9
|
|
---
|
|
support/mkdist
|
|
- added a -r option to set the `root name' of the distribution
|
|
(e.g., `bash' or `readline')
|
|
|
|
8/10
|
|
----
|
|
input.c
|
|
- if check_bash_input sees that default_buffered_input is about
|
|
to be the target of a redirection, but the buffered input stream
|
|
is not the current input stream (e.g. as the result of an
|
|
`eval' while in a script, change default_buffered_input to a
|
|
new fd and use a new variable `bash_input_fd_changed' to note
|
|
the change
|
|
|
|
parse.y
|
|
- if pop_stream sees that default_buffered_input has changed while
|
|
a buffered stream was on the save stack (because
|
|
bash_input_fd_changed is non-zero), then make the popped stream
|
|
and the corresponding buffer use the new fd
|
|
|
|
test.c
|
|
- fixed an off-by-one error in test_stat when testing /dev/fd/n.
|
|
|
|
cpp-Makefile
|
|
- add -I$(incdir) to CPPFLAGS
|
|
- add `incdir = $(prefix)/include' assignment
|
|
|
|
8/11
|
|
----
|
|
lib/readline/signals.c
|
|
- changed some calls to signal () to call rl_set_sighandler()
|
|
- call _rl_redisplay_after_sigwinch from the sigwinch handler
|
|
to do better redisplay of wrapped command lines and multi-line
|
|
prompts
|
|
|
|
builtins/suspend.def
|
|
- changed some calls to signal () to call set_signal_handler()
|
|
|
|
lib/readline/*.c
|
|
- include config.h before anything else if HAVE_CONFIG_H is defined
|
|
|
|
lib/readline/readline.c
|
|
- renamed rl_set_mark to _rl_set_mark_at_pos
|
|
- call _rl_vi_initialize_line from rl_initialize if the current
|
|
editing mode is vi mode
|
|
- only output a term_cr in crlf if term_cr is non-null
|
|
|
|
lib/readline/readline.h
|
|
- added declarations for rl_vi_set_mark and rl_vi_goto_mark
|
|
|
|
lib/readline/readline.c, lib/readline/readline.h
|
|
- added a new bindable command to set the mark, rl_set_mark
|
|
|
|
lib/readline/funmap.c
|
|
- new bindable function with name `set-mark', bound to rl_set_mark
|
|
- new bindable vi-mode functions with names `vi-set-mark' and
|
|
`vi-goto-mark'
|
|
|
|
documentation/{bash.1,readline.3}, lib/readline/doc/rluser.texinfo
|
|
- added documentation for `set-mark' (unbound)
|
|
|
|
lib/readline/vi_mode.c
|
|
- new vi-command mode commands to save marks (the vi `m' command)
|
|
and go to saved marks (the ``' command)
|
|
- new function _rl_vi_initialize_line called from rl_initialize
|
|
to set up the line state in vi mode. Right now this just resets
|
|
all the marks
|
|
|
|
lib/readline/vi_keymap.c
|
|
- new vi command-mode bindings to set the mark (`m') and to go to
|
|
a saved mark (``')
|
|
|
|
documentation/readline.3
|
|
- added vi-set-mark and vi-goto-mark to list of key bindings for
|
|
vi command mode
|
|
|
|
lib/readline/{readline.c,display.c}
|
|
- renamed term_xn to _rl_term_autowrap
|
|
|
|
lib/readline/display.c
|
|
- new function _rl_redisplay_after_sigwinch to encapsulate the
|
|
necessary redisplay code after a SIGWINCH is received
|
|
|
|
variables.c
|
|
- only call find_user_command on the shell name in shell_initialize
|
|
if shell_name is not an absolute program name
|
|
- call canonicalize_pathname on the full shell pathname after
|
|
calling make_absolute on it if the shell name starts with a `.'
|
|
|
|
siglist.h
|
|
- FreeBSD does not need a definition of sys_siglist[]
|
|
|
|
8/12
|
|
----
|
|
lib/readline/rltty.c
|
|
- don't try to use FLUSHO unless FLUSHO is defined
|
|
|
|
cpp-Makefile
|
|
- make sure to pass $(CC) to the make in the lib/malloc subdirectory
|
|
|
|
lib/readline/readline.c
|
|
- don't declare PC, UP, and BC as extern; it causes too many problems
|
|
|
|
8/13
|
|
----
|
|
machines.h
|
|
- add -DNO_SBRK_DECL to SYSDEP_CFLAGS for SVR4.2 on i386
|
|
|
|
support/mksysdefs
|
|
- new variable UNAME_S for the output of `uname -s'
|
|
- if uname -s does not output the same thing as uname, and uname -s
|
|
outputs UNIX_SV, then set UNAME to UNIX_SV. Some versions of i386
|
|
SVR4.2 make `uname' equivalent to `uname -n'
|
|
|
|
lib/readline/memalloc.h
|
|
- removed from the library; not needed since readline does not use
|
|
alloca
|
|
|
|
lib/readline/{history.c,isearch.c,search.c,rldefs.h}, lib/tilde/tilde.c
|
|
- no longer include memalloc.h
|
|
|
|
lib/readline/Makefile
|
|
- remove dependencies on memalloc.h
|
|
|
|
lib/readline/signals.c
|
|
- overhauled signal handling based on ideas from Bruno Haible
|
|
(haible@ma2s2.mathematik.uni-karlsruhe.de) so that readline
|
|
saves and restores the signal mask and flags on Posix systems
|
|
- don't include fcntl.h, sys/file.h, errno.h, or stdlib.h
|
|
- ignore SIGALRM during rl_signal_handler like SIGINT until the
|
|
old handler is installed, on non-Posix or non-BSD systems
|
|
- new define SIGHANDLER_RETURN, dependent on the value of
|
|
VOID_SIGHANDLER
|
|
- use RETSIGTYPE instead of `sighandler' as the signal handler
|
|
return type; it's the name autoconf uses. If not defined,
|
|
set up from VOID_SIGHANDLER
|
|
|
|
lib/readline/rltty.c
|
|
- call control_meta_key and control_keypad from rl_deprep_terminal
|
|
before putting the terminal back into ICANON mode to avoid
|
|
messing up the tty driver
|
|
|
|
8/15
|
|
----
|
|
cpp-Makefile
|
|
- changes so that fewer -Idir arguments are passed to the make
|
|
in ./builtins
|
|
|
|
8/16
|
|
----
|
|
lib/readline/bind.c
|
|
- use KEYMAP_SIZE instead of 128 in rl_invoking_keyseqs_in_map
|
|
|
|
lib/readline/complete.c
|
|
- qsort the array of matches omitting matches[0], which must stay
|
|
in place no matter what, even if strcmp doesn't compare unsigned
|
|
chars correctly
|
|
- some fixes to the loop that prints the list of completions
|
|
|
|
lib/readline/keymaps.c
|
|
- run the loop up to 127 when creating a new keymap in rl_make_keymap
|
|
|
|
input.h, general.h, lib/readline/keymaps.h, lib/readline/tilde.h
|
|
- use _FUNCTION_DEF instead of __FUNCTION_DEF
|
|
|
|
lib/readline/parens.c
|
|
- include "config.h" if HAVE_CONFIG_H is defined
|
|
- include <sys/select.h> if HAVE_SYS_SELECT_H is defined
|
|
- use HAVE_SELECT instead of FD_SET as the `configuring define';
|
|
define HAVE_SELECT if it is not already defined but FD_SET is
|
|
|
|
lib/readline/readline.c, lib/readline/rltty.c
|
|
- the __GO32__ include file is <pc.h>
|
|
|
|
lib/tilde/tilde.c
|
|
- rewrote tilde_expand_word, eliminated static u_name array in
|
|
favor of using xmalloc
|
|
|
|
lib/tilde/tilde.h
|
|
- use single leading underscore for file inclusion guard
|
|
|
|
lib/readline/vi_mode.c
|
|
- use KEYMAP_SIZE rather than a literal 127 as the loop limit when
|
|
creating the overstrike keymap
|
|
|
|
support/install.sh
|
|
- new file, from the make-3.71 distribution
|
|
|
|
8/17
|
|
----
|
|
lib/readline/complete.c, lib/readline/readline.h
|
|
- new variable, rl_basic_quote_characters, used to see
|
|
if a word break character was a quoting character, so we can
|
|
do appropriate quoting after the completion
|
|
|
|
lib/readline/parens.c
|
|
- use rl_basic_quote_characters when trying to find a matching
|
|
open paren
|
|
|
|
lib/readline/doc/rltech.texinfo
|
|
- description of rl_basic_quote_characters
|
|
|
|
8/18
|
|
----
|
|
newversion.c
|
|
- renamed to support/mkversion.c, which builds to mkversion
|
|
|
|
cpp-Makefile
|
|
- changed to use support/mkversion
|
|
- removed instances of $< except in suffix rules -- some makes don't
|
|
handle those right
|
|
|
|
lib/readline/rldefs.h
|
|
- make sure to #undef HAVE_DIRENT_H on NeXT machines
|
|
|
|
|
|
8/19
|
|
----
|
|
lib/readline/readline.h
|
|
- removed some duplicate function declarations
|
|
|
|
trap.h
|
|
- define DEBUG_TRAP as NSIG for the last slot in trap_list
|
|
- define EXIT_TRAP as 0
|
|
- declare trap_list as array of unknown size, since this is just a
|
|
header file
|
|
|
|
trap.c
|
|
- extend trap_list and sigmodes to NSIG+1
|
|
- initialize DEBUG_TRAP to do nothing; changes to functions to handle
|
|
DEBUG_TRAP
|
|
- let decode_signal return OK if NSIG is given, even though this will
|
|
vary between systems, for DEBUG_TRAP
|
|
- make reset_signal_handlers and restore_original_signals loop from
|
|
1 to NSIG, not 0 to NSIG
|
|
- change GET_ORIGINAL_SIGNAL to try to get the original signal handler
|
|
only if `sig' is less than NSIG
|
|
- restore_default_signal just frees the trap string for both EXIT_TRAP
|
|
and DEBUG_TRAP
|
|
- run_debug_trap: new function to run traps on DEBUG
|
|
- free_trap_command: new function to free a trap string if it is
|
|
really a command and not one of the special trap values
|
|
- if a SIGINT trap resets the SIGINT trap string, free the old string
|
|
- new function: set_debug_trap(char *), which will reset the DEBUG
|
|
trap string, suitable for calling from an unwind-protect handler
|
|
|
|
signames.c
|
|
- arrange things so that signal_names[NSIG] == "DEBUG"
|
|
|
|
builtins/trap.def
|
|
- make sure traps on DEBUG are printed
|
|
|
|
execute_cmd.c
|
|
- call run_debug_trap at the end of the `cm_simple' case in
|
|
execute_command_internal
|
|
- change execute_function so that traps on DEBUG do not propagate
|
|
into the function
|
|
|
|
documentation/bash.1, documentation/features.texi
|
|
- documented the new DEBUG trap
|
|
|
|
8/20
|
|
----
|
|
shell.c, config.h
|
|
- made the name of the restricted shell configurable in config.h;
|
|
the option is RESTRICTED_SHELL_NAME
|
|
|
|
shell.c
|
|
- if the shell is invoked as `sh', enter Posix.2 mode after running
|
|
/etc/profile and ~/.profile
|
|
|
|
builtins/read.def
|
|
- added a -p option for a prompt string, which is displayed before
|
|
trying to read anything
|
|
|
|
documentation/bash.1
|
|
- description of `read -p'
|
|
- description of new -r and -s options to `jobs'
|
|
|
|
documentation/features.texi
|
|
- description of new -r and -s options to `jobs'
|
|
|
|
jobs.c
|
|
- new functions: list_running_jobs, list_stopped_jobs
|
|
- list_jobs -> list_all_jobs
|
|
- new function `print_job' to do the work for all of the list*jobs
|
|
functions
|
|
- list_one_job type now void, calls print_job to do the work
|
|
|
|
jobs.h
|
|
- new declarations for list_running_jobs, list_stopped_jobs
|
|
- list_one_job now void
|
|
- list_jobs -> list_all_jobs
|
|
|
|
builtins/jobs.def
|
|
- new options: -r to print only running jobs, -s to print only
|
|
stopped jobs
|
|
|
|
8/22
|
|
----
|
|
lib/readline/readline.c
|
|
- don't try to expand a null prompt string
|
|
|
|
subst.c
|
|
- remove special handling of hostname_completion_file and
|
|
history_control; HOSTFILE and HISTCONTROL are the acceptable
|
|
names
|
|
- new function sv_histignore; call if HISTIGNORE variable is
|
|
assigned to
|
|
|
|
bashhist.c
|
|
- new functions and declarations for handling HISTIGNORE variable
|
|
and its specifications for command lines to ignore
|
|
- change maybe_add_history to call history_should_ignore if the
|
|
HISTCONTROL tests are passed
|
|
|
|
documentation/bash.1, documentation/features.texi
|
|
- removed mention of history_control and hostname_completion_file
|
|
- added description of HISTIGNORE
|
|
|
|
8/23
|
|
----
|
|
array.c, array.h
|
|
- promoted to the shell mainline code; the `array' subdir is now
|
|
gone
|
|
|
|
variables.h
|
|
- include `array.h' for the ARRAY typedef
|
|
|
|
variables.c
|
|
- changes to assignment() to handle array assignments a[x]=b
|
|
- split off the creation of new variables into a new function:
|
|
make_new_variable
|
|
- split off the construction of variable values for assignments and
|
|
bindings into a new function: make_variable_value
|
|
- new function: bind_array_variable, to handle the addition of
|
|
new array variables and indices
|
|
|
|
subst.c
|
|
- changes to do_assignment_internal to handle a[x]=b:
|
|
parse the subscript out of the name and call evalexp() on it
|
|
call bind_array_variable to do the value assignment
|
|
- change the printing of assignment statements when -x is in effect
|
|
to before the variable binding is attempted, so any error messages
|
|
look better
|
|
- new functions for referencing indexed arrays and to find the length
|
|
of arrays or array indices
|
|
|
|
8/24
|
|
----
|
|
expr.c
|
|
- fixed up error reporting to use get_name_for_error if not executing
|
|
a builtin
|
|
|
|
subst.c
|
|
- everywhere evalexp() is called, use maybe_expand_string to expand
|
|
the expression (calls expand_string if necessary)
|
|
|
|
subst.h
|
|
- extern declarations for array convenience functions exported to the
|
|
rest of the shell
|
|
|
|
variables.c
|
|
- more new convenience array functions: make_new_array_variable and
|
|
convert_var_to_array
|
|
|
|
builtins/declare.def
|
|
- additions to declare_internal to add a -a flag which makes array
|
|
variables, and the requisite semantics (declare +a does not work,
|
|
declare -a name=value does not work, etc.)
|
|
- code to support the ksh-like declare a[] syntax to make array
|
|
variables
|
|
|
|
builtins/setattr.def
|
|
- made set_or_show_attributes understand array variables and `-a'
|
|
|
|
builtins/set.def
|
|
- changes to make `unset name' work, where name is an array variable
|
|
- changes to make `unset name[xxx]' work
|
|
|
|
8/25
|
|
----
|
|
|
|
lib/readline/readline.c
|
|
- make sure meta characters are added to a keyboard macro as
|
|
ESC-char if we are converting meta chars to ascii
|
|
- change rl_unix_word_rubout to handle repeat counts
|
|
- move the check of LC_CTYPE from rl_initialize to
|
|
readline_initialize_everything, where it should have been
|
|
all along
|
|
|
|
error.c
|
|
- make sure <sys/types.h> is included before <fcntl.h>
|
|
|
|
machines.h
|
|
- new entry for Bull DPX2
|
|
|
|
lib/tilde/tilde.c
|
|
- include <sys/types.h> before <pwd.h>
|
|
|
|
variables.c
|
|
- PS1 and PS2 are no longer non-unsettable
|
|
|
|
8/26
|
|
----
|
|
variables.c
|
|
- PPID, UID, and EUID, since they are read-only, need not appear on
|
|
the `non-unsettable' list
|
|
- PATH and IFS now have the `nounset' attribute set rather than use
|
|
a separate `non-unsettable' list
|
|
- the non-unsettable list and non_unsettable() are gone
|
|
|
|
variables.h
|
|
- new define `non_unsettable_p' to test nounset attribute
|
|
|
|
builtins/set.def
|
|
- `unset' now uses non_unsettable_p to tell whether a variable can
|
|
be unset even if it's not readonly
|
|
|
|
builtins/read.def
|
|
- read -a arrayname will read a list of values from stdin and assign
|
|
them to the array `arrayname', splitting on " \t\n" (honoring
|
|
backslash quoting if -r is not supplied)
|
|
|
|
builtins/declare.def
|
|
- print values of arrays when `display -a' is invoked
|
|
|
|
builtins/exit.def
|
|
- remove references to `bye'
|
|
|
|
8/28
|
|
----
|
|
lib/readline/rltty.c
|
|
- removed calls to control_keypad; they cause problems on some
|
|
machines and should not really be performed by an application
|
|
|
|
cpp-Makefile
|
|
- support for optionally linking array.o into the shell
|
|
|
|
lib/glob/glob.c
|
|
- when returning an error after glob_filename on the directory name
|
|
returns an error result, make sure to free `result'. This fixes
|
|
a memory leak for names passed to glob_filename which contain
|
|
globbing characters before the first `/' but do not match any
|
|
existing files
|
|
|
|
8/29
|
|
----
|
|
execute_cmd.c
|
|
- the `for' and `select' commands should expand their word lists
|
|
using expand_words_no_vars
|
|
|
|
command.h, execute_cmd.c, general.c, make_cmd.c, print_cmd.c, subst.c,parse.y
|
|
- changed the `dollar_present', `quoted', and `assignment' members
|
|
of WORD_DESC to a single flags word
|
|
|
|
8/30
|
|
----
|
|
variables.c
|
|
- make get_string_value return array[0] if called with a variable
|
|
that is an array
|
|
|
|
8/31
|
|
----
|
|
lib/readline/display.c
|
|
- don't take the value of _rl_term_autowrap into account when
|
|
computing which screen line the cursor should be on; it screws
|
|
up wrapping on terminals without the `xn' capability
|
|
|
|
lib/readline/examples/rltest.c
|
|
- new file, test code moved here from readline.c
|
|
|
|
documentation/features.texi, lib/readline/doc/hsuser.texinfo
|
|
- fixed up printing of some of the shell options and the history
|
|
commands and modifiers
|
|
|
|
subst.c
|
|
- make sure $name, where `name' is an array variable, returns
|
|
${name[0]}
|
|
|
|
variables.c
|
|
- convert a variable to an array even if index 0 is being assigned to,
|
|
instead of leaving it a `normal' variable
|
|
|
|
9/1
|
|
---
|
|
|
|
builtins/setattr.def
|
|
- make sure that array variables printed by `declare' single-quote
|
|
the value after the `=' so the statement can be reused as input
|
|
|
|
variables.c
|
|
- make sure array variables can be exported (name=(assignments)), and
|
|
that the export code works. The code is commented out because of
|
|
the possible confusion between an array and a regular string that
|
|
looks like an array assignment string.
|
|
|
|
9/2
|
|
---
|
|
variables.c
|
|
- make sure there is an executable file with the same name as
|
|
`shell' name in the current directory before assigning it to
|
|
$BASH at startup. If there is not, just make $BASH the login
|
|
shell name
|
|
|
|
9/3
|
|
---
|
|
parse.y
|
|
- removed a reduction from the `list0' production that could cause
|
|
statements which require semicolons to be allowed without error
|
|
(like before a `}' in a group command)
|
|
|
|
lib/readline/display.c
|
|
- new functions: _rl_save_prompt and _rl_restore_prompt to save and
|
|
restore prompt invisible character info
|
|
- if the redisplay code encounters a line shorter than the old one
|
|
and containing invisible characters, make sure that the cursor is
|
|
at the end of the new text before calling clear_to_eol
|
|
- new variable last_invisible containing the index in the prompt
|
|
string of the last invisible character. We only have to redraw
|
|
the prompt string of _rl_last_c_pos is < last_invisible
|
|
- new function _rl_make_prompt_for_search to take care of setting
|
|
up the prompt string for a non-incremental search when the prompt
|
|
contains invisible characters
|
|
- fix so that a prompt string with invisible characters is not
|
|
redrawn each time through update_line (don't tputs term_cr unless
|
|
the cursor is before the last invisible character in the prompt
|
|
and will be moving past the last invisible char of the prompt
|
|
|
|
lib/readline/isearch.c
|
|
- call _rl_save_prompt and _rl_restore_prompt when changing the prompt
|
|
to do i-search
|
|
|
|
9/4
|
|
---
|
|
lib/readline/readline.c
|
|
- doing_an_undo -> _rl_doing_an_undo for use by the vi-mode code
|
|
- rewrote rl_do_undo to reformat and eliminate a clumsy goto
|
|
- new split the add-to-kill-ring code off into a separate function,
|
|
_rl_copy_to_kill_ring
|
|
- added a new bindable function rl_copy_region_as_kill
|
|
- added a new bindable function rl_kill_region
|
|
- moved _rl_char_search_internal to here from vi_mode.c
|
|
- new bindable function rl_char_search
|
|
|
|
lib/readline/vi_mode.c
|
|
- made `.' work for the `cw' and `[Ss]' commands, which implicitly
|
|
put the editor into insertion mode after they run
|
|
- split rl_vi_char_search code that actually searches for a character
|
|
into a new function, _rl_char_search_internal
|
|
|
|
lib/readline/emacs_keymap.c
|
|
- bind M-= to possible-completions for ksh compatibility
|
|
- bind M-* to insert-completions
|
|
- bind C-x C-x to exchange-point-and-mark
|
|
- bind C-] to character-search
|
|
- bind C-@ to set-mark
|
|
|
|
lib/readline/funmap.c
|
|
- new bindable function names: exchange-point-and-mark, kill-region,
|
|
copy-region-as-kill, character-search
|
|
|
|
lib/readline/readline.h
|
|
- declare rl_exchange_point_and_mark, rl_copy_region_to_kill,
|
|
rl_kill_region, and rl_char_search externally
|
|
|
|
documentation/{bash.1,readline.3}, lib/readline/doc/rluser.texinfo
|
|
- document new exchange-point-and-mark bindable command
|
|
- documented M-* default emacs-mode binding to insert-completions
|
|
- documented new copy-region-as-kill and kill-region commands
|
|
- documented new character search emacs-mode command
|
|
- documented new binding for set-mark
|
|
|
|
lib/readline/rldefs.h
|
|
- moved values for `dir' when searching for characters in the line
|
|
from vi_mode.c to here
|
|
|
|
9/6
|
|
---
|
|
general.c
|
|
- new function ansicstr, which decodes ANSI-C backslash-escaped
|
|
characters (with the addition of \e and \E to mean escape) and
|
|
returns a new string
|
|
|
|
subst.c
|
|
- new expansion $'...' which translates ANSI-C backslash escapes
|
|
in `...' and expands to the result
|
|
|
|
builtins/echo.def
|
|
- ifdefs for ANSI-C for \a and \v rather than just expanding to
|
|
literal ASCII values
|
|
|
|
documentation/bash.1
|
|
- documented new $'...' expansion
|
|
|
|
9/7
|
|
---
|
|
builtins/enable.def
|
|
- fixed up the help text
|
|
- added a -s flag to restrict operation to Posix.2 `special' builtins
|
|
- removed -all option; -a is the way to do it now
|
|
- converted to use the builtin getopt
|
|
|
|
builtins/common.c
|
|
- changed builtin_address_internal to return a pointer to a
|
|
struct builtin, which makes it much more useful. Changed
|
|
find_shell_builtin and builtin_address accordingly
|
|
- new function find_special_builtin, which returns special builtins
|
|
((flags & SPECIAL_BUILTIN) != 0)
|
|
|
|
execute_cmd.c
|
|
- in Posix.2 mode, find special builtins before shell functions
|
|
when performing command lookup
|
|
- in find_user_command_internal, return NULL if there is no $PATH
|
|
- in Posix.2 mode, failure of a special builtin causes a non-
|
|
interactive shell to exit
|
|
|
|
variables.c
|
|
- allow $PATH to be unset
|
|
|
|
9/8
|
|
---
|
|
input.h
|
|
- added a new `input type': st_stdin, for use when using readline,
|
|
since readline is not properly a string
|
|
|
|
parse.y
|
|
- surgery on the grammar:
|
|
o added new `compound_list' production: a list that can end
|
|
without a newline, `;' or `&' (used in subshell commands
|
|
and case clause commands)
|
|
o removed shell_command_1, folded rules into command
|
|
o eliminated pattern_list_1; changed case_clause_sequence to
|
|
directly incorporate the SEMI_SEMI token (a pattern_list_1
|
|
was just a pattern_list with a trailing SEMI_SEMI)
|
|
o new `for_command' and `case_command' productions
|
|
o redirections -> redirection_list
|
|
o newlines -> newline_list
|
|
o redid the code that attaches redirections to the function
|
|
command rather than the function definition and eliminated
|
|
all of the shift/reduce conflicts
|
|
- changed with_input_from_stdin in the readline case to set
|
|
bash_input.type to st_stdin
|
|
|
|
print_cmd.c
|
|
- a couple of changes to the way functions are printed
|
|
|
|
shell.c
|
|
- only execute the PROMPT_COMMAND if input is not coming from a
|
|
string (bash_input.type != st_string). This fixes the problem
|
|
of PROMPT_COMMAND being executed by `eval' commands in an
|
|
interactive shell
|
|
|
|
9/12
|
|
----
|
|
shell.c
|
|
- all interactive shells SIGHUP running jobs when exiting due to
|
|
a SIGHUP, not just login shells
|
|
|
|
9/13
|
|
----
|
|
config.h, config.h.mini
|
|
- changed the default primary prompt (PPROMPT) to "\s\$ "
|
|
- removed the INTERACTIVE_COMMENTS define
|
|
|
|
flags.c
|
|
- interactive comments are now enabled by default, regardless of the
|
|
INTERACTIVE_COMMENTS define
|
|
|
|
input.h
|
|
- a new enum: stream_type, used in the BASH_INPUT struct
|
|
|
|
parse.y
|
|
- bash_input.type is now initialized to st_none
|
|
|
|
bashhist.c
|
|
- command_oriented_history is now the default
|
|
|
|
documentation/bash.1
|
|
- removed description of `nolinks' variable, updated set -P
|
|
description
|
|
- removed description of `notify' variable, updated set -b
|
|
description
|
|
- removed description of `noclobber' variable, updated set -C
|
|
description
|
|
|
|
variables.c
|
|
- IFS may now be unset
|
|
|
|
builtins/read.def
|
|
- now does the right thing if IFS is unset (acts as if it is
|
|
set to " \t\n")
|
|
|
|
builtins/cd.def
|
|
- added a new parameter to change_to_directory () which says
|
|
whether or not to follow symlinks, instead of using the
|
|
global no_symbolic_links
|
|
- changed cd_builtin to accept a -P option to disable symlink
|
|
following temporarily
|
|
|
|
builtins/ulimit.def
|
|
- instead of using a hardcoded `long' for the return type of the
|
|
rlimit functions, use RLIMTYPE, which defaults to long
|
|
- new defines string_to_rlimtype -> string_to_long and
|
|
print_rlimtype for systems which do not need `RLIMTYPE' defined
|
|
to something other than long
|
|
|
|
general.c
|
|
- function replacements for string_to_rlimtype and print_rlimtype
|
|
for machines which have RLIMTYPE defined in the machine description
|
|
|
|
general.h
|
|
- extern declarations for string_to_rlimtype and print_rlimtype
|
|
|
|
shell.c
|
|
- don't source file named by $ENV at script startup if act_like_sh
|
|
is turned on
|
|
|
|
machines.h
|
|
- new entry for amiga/netbsd
|
|
- change all the netbsd entries to add -DRLIMTYPE=quad_t to
|
|
SYSDEP_CFLAGS
|
|
|
|
siglist.h
|
|
- define sys_siglist as _sys_siglist on the amiga only if USGr4 is
|
|
defined
|
|
|
|
print_cmd.c
|
|
- change so that printf is not prototyped on LynxOS with gcc
|
|
|
|
lib/readline/Makefile
|
|
- changed the `installdirs' target to not fail if the directories
|
|
do not need creating
|
|
|
|
lib/readline/history.c
|
|
- fixed a bug in history_arg_extract which manifested itself when
|
|
!* was used after a command without arguments (e.g., pwd ; echo !*)
|
|
|
|
9/15
|
|
----
|
|
subst.c
|
|
- expand_word_internal should preserve the flags (other than
|
|
W_QUOTED) from the word passed as a parameter on the word it returns
|
|
- expand_words_internal renamed to expand_word_list_internal
|
|
- expand_word_list_internal does not perform word splitting or
|
|
globbing on words with the W_ASSIGNMENT bit set
|
|
- removed special treatment of `notify', `command_oriented_history',
|
|
`history_control', and `nolinks'
|
|
- rewrote some of the sv_* functions to remove or avoid calls to
|
|
sscanf, one of the most expensive C library functions
|
|
|
|
variables.c
|
|
- don't look for $command_oriented_history at startup, since it now
|
|
defaults to `on'
|
|
|
|
general.h, general.c
|
|
- new function posix_initialize to do whatever is necessary to enable
|
|
`Posix mode'
|
|
|
|
shell.c, subst.c
|
|
- call posix_initialize
|
|
|
|
general.c
|
|
- rewrote replacements for strchr, strrchr to make them faster
|
|
|
|
builtins/enable.def
|
|
- new -f option and necessary support to load builtins from a shared
|
|
object file on systems supporting both dlopen() and dlsym(). New
|
|
builtins loaded this way can replace existing shell builtins or
|
|
add completely new functionality
|
|
|
|
builtins.h
|
|
- mkbuiltins.c creates `static_shell_builtins', which is a fixed
|
|
array, `shell_builtins' points to this array initially
|
|
- extern declaration for current_builtin
|
|
|
|
builtins/mkbuiltins.c
|
|
- change to creat static_shell_builtins[] and declare shell_builtins
|
|
as a pointer to it
|
|
- change to declare `current_builtin' in created builtins.c
|
|
|
|
builtins/source.def
|
|
- print an error message and return failure if no filename argument
|
|
is supplied
|
|
|
|
builtins/common.c
|
|
- current_builtin is set by find_shell_builtin, find_special_builtin,
|
|
and builtin_address_internal
|
|
- new function builtin_usage, which prints the contents of
|
|
current_builtin->short_doc
|
|
|
|
builtins/{bind,declare,enable,fc,getopts,hash,history,jobs,kill,read,set,
|
|
setattr,trap,ulimit,umask}.def
|
|
- changed the builtins in these files to use builtin_usage() to
|
|
print usage messages
|
|
|
|
cpp-Makefile
|
|
- support for the HAVE_DLOPEN and HAVE_DLSYM defines
|
|
|
|
machines.h
|
|
- added -ldl and -Bdynamic to the SunOS4 entry
|
|
|
|
documentation/{bash.1,features.texi}
|
|
- documented new enable -f option to dynamically load builtins
|
|
|
|
9/16
|
|
----
|
|
test.c
|
|
- added `==' as a synonym for `='
|
|
|
|
9/18
|
|
----
|
|
bashline.c
|
|
- include readline/rlconf.h so that VI_MODE is defined if
|
|
appropriate
|
|
|
|
shell.c
|
|
- removed `-nobraceexpansion' option
|
|
|
|
flags.c, flags.h
|
|
- added new -B flag; enabled if brace expansion is turned on
|
|
|
|
subst.c
|
|
- use brace_expand instead of !no_brace_expand
|
|
|
|
builtins/set.def
|
|
- change set -o braceexpand to be equivalent to set -B
|
|
|
|
parse.y
|
|
- in with_input_from_stdin, do nothing if bash_input.type already
|
|
is st_stdin or if there is already a stream with type st_stdin
|
|
on the saved stream stack
|
|
- new function stream_on_stack to find out if there is a saved
|
|
stream of a specified type
|
|
|
|
documentation/bash.1, documentation/features.texi
|
|
- doeumented new set -B option
|
|
- removed -nobraceexpansion shell startup option
|
|
|
|
9/19
|
|
----
|
|
builtins/reserved.def
|
|
- made `help select' work
|
|
|
|
cpp-Makefile
|
|
- removed references to the nonexistant `load.def'
|
|
- removed conditionals based on GETOPTS_BUILTIN
|
|
|
|
builtins/getopts.def
|
|
- no longer $DEPENDS_ON GETOPTS_BUILTIN
|
|
|
|
config.h, config.h.mini, builtins/help.def
|
|
- made the `help' builtin dependent on the HELP_BUILTIN define
|
|
- removed GETOPTS_BUILTIN
|
|
|
|
builtins/mkbuiltins.c
|
|
- made the `$DEPENDS_ON' clause work for reserved words and
|
|
shell control structures in reserved.def by writing out
|
|
dependencies to builtext.h even if there is no `function'
|
|
- made the long_doc for each builtin and reserved word get
|
|
written out to builtins.c with #ifdef HELP_BUILTIN surrounding
|
|
the doc strings -- this makes the minimal shell much smaller
|
|
|
|
shell.c, documentation/bash.1
|
|
- removed `-quiet' long option
|
|
|
|
parse.y
|
|
- make sure that word splitting is not performed on the prompt
|
|
string after expanding in prompt_string_decode by calling
|
|
expand_string_unsplit instead of expand_string
|
|
|
|
lib/readline/bind.c
|
|
- new readline variable `mark-directories': if set, completed
|
|
directory names have a slash appended
|
|
|
|
lib/readline/complete.c
|
|
- support for `mark-directories'
|
|
|
|
documentation/{bash.1,readline.3}, lib/readline/doc/rluser.texinfo
|
|
- documented the new `mark-directories' variable
|
|
|
|
builtins/bind.def
|
|
- new option `-r' to remove a binding for a specified key sequence
|
|
- make sure that a failure return from bind resets the keymap
|
|
correctly if a -m option was supplied
|
|
|
|
documentation/{bash.1,features.texi}
|
|
- documented new bind -r option
|
|
|
|
9/20
|
|
----
|
|
builtins/jobs.def
|
|
- new `disown' builtin
|
|
|
|
documentation/{bash.1,features.texi}
|
|
- documented new `disown' builtin
|
|
|
|
cpp-Makefile
|
|
- removed support for `MAKE_SHELL' cpp variable
|
|
- renamed endian.aux to mkendian, look for endian.c in support dir
|
|
- link in array.o, alias.o, braces.o, bracecomp.o
|
|
unconditionally, rely on cpp defines in the files to exclude code
|
|
- pass -DHAVE_SYS_SIGLIST if sys_siglist is defined
|
|
- pass -DHAVE_GETCWD if HAVE_GETCWD is defined in machines.h
|
|
- pass -DHAVE_VFPRINTF_EMUALTION through from machines.h to
|
|
compilation
|
|
|
|
array.c
|
|
- don't compile in body of file unless ARRAY_VARS is defined
|
|
|
|
braces.c
|
|
- don't compile in body of file unless BRACE_EXPANSION is defined
|
|
|
|
alias.c
|
|
- don't compile in body of file unless ALIAS is defined
|
|
|
|
bracecomp.c
|
|
- don't compile in body of file unless BRACE_EXPANSION and READLINE
|
|
are defined
|
|
|
|
bashline.c
|
|
- don't compile in body of file unless READLINE is defined
|
|
|
|
bashhist.c
|
|
- don't compile in body of file unless HISTORY is defined
|
|
|
|
siglist.c
|
|
- don't compile in body of file unless HAVE_SYS_SIGLIST is not
|
|
defined
|
|
|
|
getcwd.c
|
|
- don't compile in body of file unless HAVE_GETCWD is not defined
|
|
|
|
vprint.c
|
|
- don't compile in body of file unless USE_VFPRINTF_EMULATION
|
|
is defined
|
|
|
|
support/mksysdefs
|
|
- for SCO machines, define SYSDEF as SCO or SCOv4
|
|
|
|
lib/readline/readline.[ch]
|
|
- new function rl_push_macro_input (s), which makes s the current
|
|
macro input string
|
|
|
|
endian.c
|
|
- renamed to support/endian.c
|
|
|
|
9/21
|
|
----
|
|
lib/readline/complete.c
|
|
- more file types for the VISIBLE_STATS code:
|
|
| FIFOs
|
|
% character special devices
|
|
# block special devices
|
|
|
|
lib/readline/isearch.c
|
|
- made RETURN an alternate search string terminator
|
|
|
|
builtins/read.def
|
|
- removed use of stdio -- unbuffered stdio on a dup of fd 0 is
|
|
a big loss
|
|
|
|
builtins/set.def
|
|
- new function: minus_o_option_value, returns 1, 0, or -1 given
|
|
a -o option name (-1 means a bad name)
|
|
- reorganized list_minus_o_options to be more efficient
|
|
|
|
execute_cmd.c
|
|
- when expanding a here document, use maybe_expand_string rather
|
|
than a simple expand_string to try a speed things up a bit
|
|
|
|
input.c
|
|
- don't compile in the body of the file unless BUFFERED_INPUT
|
|
is defined in config.h
|
|
|
|
9/22
|
|
----
|
|
jobs.h, siglist.h
|
|
- replaced instances of Solaris with SunOS5
|
|
|
|
shell.c
|
|
- changed long option parsing code so that --arg is equivalent
|
|
to -arg, when `arg' is one of the recognized multichar options
|
|
|
|
builtins/history.def
|
|
- rewrote to regularize the option parsing and use internal_getopt
|
|
- now allows only one of -awrn to be specified
|
|
- added a new -p option that adds each of its arguments to the
|
|
end of the history list, and deletes the `history -p' history
|
|
entry
|
|
|
|
builtins/trap.def
|
|
- added new -p option to display specified trap values, or all
|
|
trap values if no other arguments supplied
|
|
|
|
documentation/{bash.1,features.texi}
|
|
- documented new history -p option
|
|
- documented new trap -p option
|
|
|
|
9/25
|
|
----
|
|
lib/readline/display.c
|
|
- fixed up the calcluation of the correct cursor line number (a `+'
|
|
and `-' were transposed in the calculation of `nleft')
|
|
|
|
9/26
|
|
----
|
|
general.c
|
|
- moved isint() here from test.c, renamed to legal_number
|
|
|
|
general.h
|
|
- extern declaration of legal_number
|
|
|
|
test.c
|
|
- only compile isint() if SHELL is not defined, define it as
|
|
legal_number otherwise
|
|
|
|
trap.c
|
|
- use legal_number in decode_signal instead of sscanf()
|
|
|
|
builtins/common.c
|
|
- moved list_sigs to here from trap.def, renamed to
|
|
display_signal_list
|
|
- changed get_numeric_arg to use legal_number instead of doing
|
|
the parsing and calculation itself
|
|
|
|
builtins/common.h
|
|
- extern declaration for display_signal_list
|
|
|
|
builtins/{trap.def
|
|
- changed to use display_signal_list for trap -l
|
|
|
|
builtins/kill.def
|
|
- changed to use display_signal_list for kill -l
|
|
- added new kill -n signum option
|
|
|
|
documentation/bash.1
|
|
- added description of new kill -l signame functionality
|
|
- added description of new kill -n signum feature
|
|
- added description of new enable -d option
|
|
|
|
builtins.h
|
|
- added a char *handle member to `struct builtin' for later use
|
|
- new flags value: BUILTIN_DELETED
|
|
|
|
builtins/mkbuiltins.c
|
|
- added code to inintialize the `handle' member to null in the
|
|
static builtin array definition
|
|
|
|
builtins/common.c
|
|
- don't `find' a builtin if the BUILTIN_DELETED flag is set in the
|
|
flags word of the struct builtins array
|
|
|
|
builtins/enable.def
|
|
- new option -d to remove a builtin loaded with -f, depends on
|
|
HAVE_DLCLOSE
|
|
|
|
cpp-Makefile
|
|
- pass -DHAVE_DLCLOSE through from machines.h to compilation
|
|
|
|
machines.h
|
|
- change SunOS4 machine description to define HAVE_DLCLOSE
|
|
|
|
9/27
|
|
----
|
|
shell.c
|
|
- split shell exit code off into a separate function: exit_shell(status)
|
|
|
|
builtins/exec.def
|
|
- rewrote for clarity and speed and to use the builtin getopt()
|
|
- added new -a, -c, and -l options
|
|
- now calls exit_shell if shell_execve fails and the shell is not
|
|
interactive
|
|
|
|
documentation/bash.1
|
|
- documented the new options to `exec'
|
|
|
|
9/28
|
|
----
|
|
builtins/exec.def
|
|
- if the execve fails and the shell is not going to exit, reinitialize
|
|
traps and signals
|
|
- only call end_job_control if subshell_environment != 0
|
|
- exec should exit unconditionally if the execve fails and
|
|
subshell_environment != 0
|
|
|
|
subst.c
|
|
- if valid_brace_expansion_word fails, make sure `temp' is set to
|
|
NULL before trying to free it after the `goto bad_substitution'
|
|
|
|
cpp-Makefile
|
|
- add $(CPPFLAGS) to the compilation flags when making `mksignames'
|
|
|
|
documentation/features.texi
|
|
- fixed a typo in the tilde expansion section
|
|
|
|
9/29
|
|
----
|
|
machines.h
|
|
- DEC OSF/1 has the dlopen/dlsym/dlclose set of library functions
|
|
|
|
shell.c
|
|
- don't execute /etc/profile if -noprofile given
|
|
|
|
builtins/pushd.def
|
|
- new file, pushd/popd/dirs split off from cd.def
|
|
- replaced calls to sscanf with calls to legal_number
|
|
|
|
builtins/Makefile, cpp-Makefile
|
|
- changes for pushd.def
|
|
|
|
config.h, config.h.mini
|
|
- ALLOW_RIGID_POSIX_COMPLIANCE is no longer used
|
|
|
|
subst.c, variables.c
|
|
- GETOPTS_BUILTIN is no longer used
|
|
|
|
variables.c
|
|
- if the first character of argv[0] is not a `/', search the path
|
|
and canonicalize the result to find out how to set $BASH
|
|
|
|
10/2
|
|
----
|
|
builtins/enable.def
|
|
- changed enable_shell_builtin to use builtin_address_internal to find
|
|
the builtin rather than searching the list itself
|
|
- list_some_builtins skips a builtin if flags & BUILTIN_DISABLED != 0
|
|
- rewrote dyn_load_builtin to take a list of names to load from a
|
|
single filename
|
|
- don't dlclose the shared object in dyn_unload_builtin unless its
|
|
reference count drops to 0
|
|
|
|
builtins/test.def
|
|
- don't bother making new copies of everything in the argument list
|
|
when constructing the argc and argv for test_command; just make
|
|
sure not to free anything but ARGV
|
|
|
|
10/3
|
|
----
|
|
bashline.c
|
|
- remove C-e binding in vi movement mode which switches into emacs
|
|
mode
|
|
|
|
general.c
|
|
- make xfree only try to call free on non-null strings
|
|
|
|
10/4
|
|
----
|
|
builtins/read.def
|
|
- new `-e' option that uses readline to read the line
|
|
- if one of the arguments is not a legal variable name, print an
|
|
error message and return failure
|
|
|
|
builtins/reserved.def
|
|
- changed the `Variables' to `variables' so `help variables' works
|
|
|
|
subst.c
|
|
- set startup_state to 2 in child of command substitution to try to
|
|
avoid some unneeded forks
|
|
|
|
trap.c
|
|
- removed call to reset_terminating_signals in restore_original
|
|
signals; callers are now required to take care of that themselves,
|
|
if necessary
|
|
|
|
execute_cmd.c, subst.c
|
|
- added necessary calls to reset_terminating_signals before calls
|
|
to restore_original_signals
|
|
|
|
execute_cmd.c
|
|
- when executing a null command in a subshell, don't bother passing
|
|
a string to make_child; just pass NULL
|
|
- in execute_builtin_or_function, don't add so many unwind-protects
|
|
if `subshell' == 1
|
|
- in command_substitute, call cleanup_the_pipeline to discard the
|
|
old pipeline, so pipeline_pgrp does not get set to 0 in
|
|
start_pipeline, which is called by make_child via making_children
|
|
|
|
jobs.c, nojobs.c
|
|
- new function, ignore_tty_job_signals, to set SIGTTIN, SIGTTOU, and
|
|
SIGTSTP to SIG_IGN
|
|
- new function, default_tty_job_signals, to set those signals
|
|
to SIG_DFL
|
|
- new function, cleanup_the_pipeline to free up the_pipeline and
|
|
set it to NULL
|
|
|
|
10/5
|
|
----
|
|
builtins/history.def
|
|
- the history -p option is now -s (to sort of parallel the ksh
|
|
print -s option)
|
|
- the -s option now combines all of its arguments into a single
|
|
string and appends the string to the history list
|
|
- new history -p option to history expand each argument and print
|
|
the result without modifying the history list
|
|
|
|
documentation/bash.1, documentation/features.texi
|
|
- documented the new -e option to read
|
|
- documented the new history -s and -p options
|
|
- documented the new cd and pwd -L options
|
|
|
|
builtins/cd.def
|
|
- changed cd and pwd to use internal_getopt
|
|
- added the -L option to cd and pwd to follow symlinks (like if
|
|
set +P were issued)
|
|
|
|
builtins/pushd.def
|
|
- added text for dirs +N and dirs -N to the dirs builtin long doc
|
|
- added -v option to dirs to print dirstack one dir per line with
|
|
stack index prepended
|
|
|
|
10/6
|
|
----
|
|
execute_cmd.c
|
|
- split the command searching code into a new function:
|
|
search_for_command
|
|
- removed a bunch of dead code from shell_execve
|
|
- removed call to reset_terminating_signals when executing a function
|
|
or builtin in a subshell (either via (xxx) or xxx &)
|
|
- don't add unwind protects at all in execute_function if subshell == 1
|
|
|
|
lib/readline/chardefs.h
|
|
- new macro ALPHABETIC(c), returns 1 if c is a letter or digit
|
|
|
|
lib/readline/readline.c
|
|
- don't call abort() in rl_change_case(); it's impolite in a
|
|
library function
|
|
- new macro, SWAP, used to swap values of two integers
|
|
- changed alphabetic to use ALPHABETIC, made it slightly faster
|
|
- modified rl_change_case() so that word capitalization is the
|
|
same as GNU Emacs
|
|
|
|
lib/readline/search.c
|
|
- in noninc_dosearch, don't reset the history positition to what
|
|
it was if we're currently in vi editing mode (as per Posix.2
|
|
`/' and `?' vi-mode editing commands)
|
|
|
|
10/7
|
|
----
|
|
builtins/common.c
|
|
- changed single_quote and double_quote to use char pointers
|
|
rather than string indexing
|
|
- new function backslash_quote(string), which quotes special
|
|
characters in STRING using backslashes
|
|
|
|
10/8
|
|
----
|
|
alias.h
|
|
- added an extern declaration for alias_expand_word
|
|
|
|
parse.y
|
|
- broke the alias expansion code off into a function
|
|
alias_expand_token; its return value says whether to re-read
|
|
a token or go on
|
|
- changed the alias expansion code to handle aliases that expand
|
|
to nothing better
|
|
- broke the code that does special-case token recognition off into
|
|
a function: special_case_tokens
|
|
- used the new functions to make sure that the special-case tokens
|
|
can be the expansion of an alias
|
|
- made sure that if in `posix mode' that reserved words cannot be
|
|
aliased and that all reserved words can be the values of aliases
|
|
and be recognized after expansion
|
|
|
|
10/10
|
|
-----
|
|
lib/readline/complete.c
|
|
- replaced #ifdef SHELL code with two new exported readline interfaces:
|
|
rl_filename_quoting_function and rl_filename_dequoting_function.
|
|
Both return a pointer to char.
|
|
- new extern variable rl_filename_quote_characters, containing a list
|
|
of characters that cause a word to be quoted by the completer if
|
|
they appear in a file name
|
|
|
|
bashline.c
|
|
- new functions for rl_filename_quoting_function and
|
|
rl_filename_dequoting_function.
|
|
- initialize rl_filename_quoting_function and rl_filename_dequoting_function
|
|
in initialize_readline
|
|
- initialize rl_filename_quote_characters
|
|
|
|
lib/readline/readline.h
|
|
- extern declarations for new public interfaces
|
|
rl_filename_quoting_function and rl_filename_dequoting_function
|
|
- added declarations for NO_MATCH, SINGLE_MATCH, and MULT_MATCH for
|
|
use by the filename quoting functions
|
|
- new extern declaration for rl_filename_quote_characters
|
|
|
|
lib/readline/history.c
|
|
- made a version of single_quote be compiled in if SHELL is not
|
|
defined
|
|
- the `q' and `x' modifiers are now compiled in by default, not
|
|
just if SHELL is defined
|
|
|
|
10/11
|
|
-----
|
|
subst.c
|
|
- string_quote_removal was being a little overzealous in stripping
|
|
things within embedded quoted strings when `quoted' was == 1.
|
|
Only remove one level of quotes each time through the function
|
|
This fixes the problem of quotes being stripped incorrectly in
|
|
var="The text \"hello\" should show up inside double quotes."
|
|
|
|
lib/readline/history.c
|
|
- made the behavior of single quotes inhibiting history expansion
|
|
configurable with a variable: history_quotes_inhibit_expansion,
|
|
not just shell-specific
|
|
- added a new variable: history_search_delimiter_chars, which is a
|
|
list of characters that can also delimit a history search string
|
|
|
|
lib/readline/history.h
|
|
- extern declaration of history_quotes_inhibit_expansion
|
|
- extern declaration of history_search_delimiter_chars
|
|
|
|
bashhist.c
|
|
- set history_quotes_inhibit_expansion to 1 in bash_initialize_history
|
|
- initialize history_search_delimiter_chars to ";&()|<>"
|
|
|
|
lib/readline/doc/{rltech,hstech}.texinfo
|
|
- documented new readline and history library interfaces
|
|
|
|
parse.y
|
|
- split the part of read_token that reads a single word off into
|
|
a new function: read_token_word
|
|
|
|
lib/readline/chardefs.h
|
|
- include <string.h> by default; only check HAVE_STRING_H if
|
|
HAVE_CONFIG_H is defined
|
|
|
|
10/12
|
|
-----
|
|
parse.y
|
|
- moved the `RESET' code out of read_token into reset_parser
|
|
- rewrote some of decode_prompt_string to make it more efficient
|
|
- rewrote more of read_token_word to make it more efficient
|
|
- make shell_getc cast its result to `unsigned char' before
|
|
returning it. This fixes the problem of \255 appearing in a
|
|
line
|
|
|
|
machines.h
|
|
- new entry for m68k machines running Linux
|
|
|
|
10/13
|
|
-----
|
|
builtins/exec.def
|
|
- use search_for_command rather than find_user_command to look up
|
|
the path to exec, so the hash table and temp environment are used
|
|
|
|
variables.c
|
|
- don't rebuild the export environment after binding a shell
|
|
function unless that function is exported
|
|
- make sure that copy_variable copies arrays correctly, using
|
|
dup_array()
|
|
- in assign_in_env, only call tilde_expand if a `~' appears somewhere
|
|
in the value
|
|
|
|
execute_cmd.c
|
|
- if we found $PATH in the temp environment in search_for_command,
|
|
call find_user_command_in_path instead of find_user_command, so
|
|
we don't try to search the temporary env again. Call
|
|
find_user_command as normal if PATH is not in the temp environment
|
|
|
|
subst.c
|
|
- char_is_quoted should not be compiled in if READLINE is not
|
|
defined
|
|
|
|
lib/readline/complete.c
|
|
- add a new external interface: Function *rl_char_is_quoted_p,
|
|
which is called to find out whether a word break character is
|
|
quoted and should be skipped over when breaking words for
|
|
the completer
|
|
|
|
lib/readline/readline.h
|
|
- extern declaration for rl_char_is_quoted_p
|
|
|
|
bashline.c
|
|
- initialize rl_char_is_quoted_p to char_is_quoted
|
|
|
|
lib/readline/doc/rltech.texinfo
|
|
- documented rl_char_is_quoted_p
|
|
|
|
lib/readline/readline.c
|
|
- extend the undo records so that a `start' or `end' value of -1
|
|
means rl_point and a value of -2 means rl_end. This is a start
|
|
to better support for undoing vi-mode commands like `C'
|
|
|
|
lib/readline/vi_mode.c
|
|
- don't save what's entered in insert mode after a `C' command
|
|
for later insertion when doing a `redo'
|
|
|
|
10/16
|
|
-----
|
|
test.c
|
|
- rewrote unop() to use a switch statement instead of a call to
|
|
strchr
|
|
- remove #ifdef SHELL blocks by defining getuid, geteuid, getgid
|
|
and getegid as references to current_user.{uid,euid,gid,egid}
|
|
respectively
|
|
- change group_member to only fetch the group list once and to use
|
|
NGROUPS_MAX or NGROUPS to find the maximum number of groups
|
|
|
|
documentation/bash.1
|
|
- fixed description of ${#@} expansion
|
|
|
|
10/17
|
|
-----
|
|
support/bashbug.sh
|
|
- add a `From:' line to the mail message handed to rmail
|
|
|
|
10/18
|
|
-----
|
|
test.c
|
|
- rewrote binary_operator for speed and clarity
|
|
- removed age_of, added arithcomp(), filecomp() to support new
|
|
binary_operator
|
|
- removed support for `-l string'
|
|
|
|
documentation/bash.1
|
|
- removed mention of `-l string' from `test' description
|
|
|
|
10/19
|
|
-----
|
|
cpp-Makefile
|
|
- pass PROGRAM as the double-quoted shell name to compilation of
|
|
shell.c and error.c
|
|
|
|
10/20
|
|
-----
|
|
support/bashbug.sh
|
|
- don't try to use ${word:-expansion}; ultrix sh doesn't understand it
|
|
|
|
hash.c
|
|
- new function: flush_hash_table (table, free_data) to delete the
|
|
contents of a given hash table. *free_data is called to free
|
|
each item's data, if free() is inappropriate
|
|
|
|
builtins/hash.def
|
|
- new functions free_hashed_filenames and free_filename_data to
|
|
flush the table of hashed filenames
|
|
|
|
subst.c
|
|
- change sv_path to call flush_hashed_filenames directly
|
|
|
|
variables.c
|
|
- only sort arrays of variables or functions for the environment or
|
|
`set' output if `posixly_correct' is set. sh does it; ksh does
|
|
not, and there's no real requirement to do so
|
|
- rewrote delete_all_variables so it looks like flush_hash_table
|
|
|
|
trap.c
|
|
- two new flag values for the `sigmodes' array: SIG_INPROGRESS,
|
|
which is set for sigmodes[sig] while a trap handler for sig
|
|
is executing, and SIG_CHANGED, which is set if a new trap
|
|
value is set when SIG_INPROGRESS is set. This should obviate
|
|
the need to set the trap value to IMPOSSIBLE_TRAP_HANDLER while
|
|
the trap handler is executing
|
|
|
|
alias.c
|
|
- rewrote delete_all_aliases so it looks like flush_hash_table
|
|
|
|
10/21
|
|
-----
|
|
alias.c
|
|
- changed delete_all_aliases to call flush_hash_table directly
|
|
and use free_alias_data as the `free function' argument
|
|
|
|
variables.c
|
|
- changed delete_all_variables to call flush_hash_table directly
|
|
|
|
tests/run-test, tests/test-tests
|
|
- new scripts to run tests of the `test' builtin as part of the
|
|
regression test
|
|
|
|
10/24
|
|
-----
|
|
bashline.c
|
|
- initialize_hostname_list needs to look for HOSTFILE first
|
|
- hostname list is no longer sorted
|
|
- replaced binary search in hostnames_matching with a simple
|
|
linear search
|
|
- made the code that reads hostnames skip over the first word on
|
|
a line only if its first character is a digit, assuming it's
|
|
an Internet address
|
|
|
|
copy_cmd.c
|
|
- removed copy_select_command; overload copy_for_command, since the
|
|
select and for command structs are exactly the same
|
|
|
|
make_cmd.c
|
|
- combined make_for_command and make_select_command into a new
|
|
function, make_for_or_select
|
|
- rewrote make_here_document to remove the unneeded `switch' statement
|
|
|
|
builtins/common.c, builtins/hash.def
|
|
- moved remove_hashed_filename from common.c to hash.def
|
|
|
|
builtins/common.c
|
|
- remove the \r from error message printed by get_working_directory
|
|
- change parse_and_execute to call dispose_fd_bitmap directly then
|
|
discard the `pe_dispose' unwind-protect frame rather than running
|
|
the frame
|
|
|
|
builtins/set.def
|
|
- changed how set -o options are set and retrieved, using set and get
|
|
functions to avoid all that special-case inline code
|
|
|
|
10/26
|
|
-----
|
|
test.c
|
|
- added unary operator `-o', which returns true of the shell option
|
|
name given as an argument is set
|
|
|
|
lib/readline/readline.c
|
|
- added a definition of set_lines_and_columns to be called if the
|
|
library is not compiled -DSHELL
|
|
|
|
shell.c
|
|
- added a --verbose startup long option
|
|
- renamed `--nolineediting' to `--noediting'
|
|
|
|
10/27
|
|
-----
|
|
lib/readline/util.c
|
|
- new file, for readline utility functions
|
|
|
|
lib/readline/readline.c
|
|
- moved a bunch of functions to util.c
|
|
|
|
subst.c
|
|
- make sure set_sigint_handler is called only by the subshells doing
|
|
command and process substitution
|
|
|
|
builtins/read.def
|
|
- make sure that rlbuf is initialized to null
|
|
|
|
trap.c
|
|
- new flag for sigmodes[] members: SIG_IGNORED, set when signal is
|
|
ignored, even if it's special or untrappable
|
|
- new function: signal_is_ignored (sig), which returns 1 if SIG
|
|
has been ignored with trap ''
|
|
|
|
builtins/trap.def
|
|
- changed to use the builtin getopt
|
|
|
|
shell.c
|
|
- added a check to sigint_sighandler for whether or not SIGINT has
|
|
been ignored with trap '' in an interactive shell. This fixes
|
|
the problem with `read' being interruptible in an interactive
|
|
shell even if SIGINT is being ignored
|
|
|
|
11/8
|
|
----
|
|
lib/readline/Makefile
|
|
- added definition of INSTALLED_HEADERS, just in case
|
|
|
|
11/11
|
|
-----
|
|
variables.c
|
|
- change assign_in_env so that it doesn't use savestring ("") to
|
|
set `value' to a dummy value; don't call strcpy if there's
|
|
nothing to copy
|
|
|
|
11/15
|
|
-----
|
|
general.h
|
|
- new defines, legal_variable_starter and legal_variable_char
|
|
- new define SIGRETURN(n) which encapsulates the VOID_SIGHANDLER
|
|
differences when returning from a signal handler
|
|
|
|
general.c, variables.c, subst.c, expr.c
|
|
- use legal_variable_starter and legal_variable_char
|
|
|
|
shell.c, nojobs.c, trap.c, jobs.c, builtins/suspend.def
|
|
- change to use SIGRETURN macro
|
|
|
|
subst.c
|
|
- massive changes to clean up the code and remove unused code and
|
|
variables
|
|
- expanded the ${#param} code so that all of the shell special
|
|
variables may have their length taken
|
|
|
|
tests/run-tilde
|
|
- new test for tilde expansion
|
|
|
|
bashline.c
|
|
- fix a bug in command_subst_completion_matches: make sure that
|
|
`matches' is static
|
|
|
|
parse.y
|
|
- don't print a prompt when not using readline if the current
|
|
input type is st_string
|
|
|
|
machines.h
|
|
- add -DINT_GROUPS_ARRAY to SYSDEP_CFLAGS on ultrix
|
|
- fixes to the cray machine description from Bill Jones
|
|
|
|
braces.c
|
|
- fixed a bug in brace_gobbler that prevented a backslash from
|
|
escaping an open brace
|
|
|
|
11/16
|
|
-----
|
|
tests/braces-tests, tests/run-braces
|
|
- new regression tests for brace expansion
|
|
|
|
builtins/pushd.def
|
|
- new -p option for `dirs' that prints dirstack on per line
|
|
without numbers
|
|
|
|
11/17
|
|
-----
|
|
command.h
|
|
- move redirection error values here from execute_cmd.c
|
|
- new defines INPUT_REDIRECT and OUTPUT_REDIRECT
|
|
|
|
shell.c
|
|
- make the default MAINTAINER `bash-maintainers@prep.ai.mit.edu'
|
|
|
|
execute_cmd.c
|
|
- many changes to clean up the code and remove unused variables and
|
|
functions
|
|
- new functions: redirection_error, find_in_path_element,
|
|
find_absolute_program
|
|
- fixes to redirection error reporting, so things like exec 4<&y*
|
|
and exec 4<&$FOO are displayed correctly
|
|
- removed the `lexical_scoping' code
|
|
|
|
flags.c, flags.h
|
|
- removed the lexical_scoping code and variable
|
|
|
|
documentation/{bash.1,features.texi}
|
|
- removed the description of the `-l' option to `set'
|
|
|
|
jobs.c
|
|
- don't try to open /dev/tty to get the controlling tty, use
|
|
fd 2 like other job control shells
|
|
|
|
lib/readline/vi_mode.c
|
|
- when using `d%', make sure the matching character found by
|
|
the `%' is deleted by the `d'. Ditto for `c%'.
|
|
- stub function for vi undo: rl_vi_undo. Right now it just
|
|
calls rl_undo_command
|
|
|
|
lib/readline/vi_keymap.c
|
|
- change to call rl_vi_undo instead of rl_undo_command
|
|
|
|
lib/readline/readline.h
|
|
- extern declaration for rl_vi_undo
|
|
|
|
11/21
|
|
-----
|
|
execute_cmd.c
|
|
- fix to print_select_list to avoid a possible divide-by-zero error
|
|
and subsequent core dump
|
|
- fix to execute_select_command to just return 0 if there is no
|
|
select list
|
|
|
|
parse.y
|
|
- remove `in' from the list of tokens that cannot take trailing
|
|
semicolons
|
|
|
|
builtins/read.def
|
|
- make sure that leading IFS whitespace is removed before calling
|
|
get_word_from_string the first time. This matters when IFS is
|
|
not " \t\n" but non-null
|
|
- make sure the array code uses IFS to split the input string
|
|
before assigning it to the array
|
|
|
|
11/22
|
|
-----
|
|
parse.y
|
|
- make sure that if \nnn expands to CTLESC or CTLNUL, the char
|
|
is protected by a CTLESC
|
|
- new variable `promptvars', which, if non-zero, causes all the
|
|
variable expansions to be performed in decode_prompt_string.
|
|
If zero, only quote removal is performed.
|
|
|
|
builtins/source.def
|
|
- new variable: `source_uses_path', set to 1 by default. If
|
|
non-zero, the `.' builtin uses $PATH to find the script to
|
|
source
|
|
|
|
builtins/getopt.h
|
|
- cut out everything not needed by bash
|
|
|
|
builtins/getopt.c
|
|
- cut out everything not needed by bash
|
|
|
|
builtins/getopts.def
|
|
- removed the call to getopt_set_posix_option_order, which is no
|
|
longer necessary
|
|
|
|
execute_cmd.c
|
|
- split the code that writes out here documents to files out into
|
|
a separate function
|
|
|
|
11/23
|
|
-----
|
|
builtins/getopt.c, builtins/getopt.h, builtins/getopts.def, subst.c
|
|
- prefix all of the getopt variables and functions with `sh_'
|
|
(that is, optind becomes sh_optind and getopt becomes sh_getopt)
|
|
to avoid confusion with a system's getopt(3) implementation
|
|
|
|
subst.c
|
|
- new functions: parameter_brace_substring and verify_substring_values
|
|
and changes to expand_word_internal to support the ksh-93
|
|
${var:exp1:exp2} substring syntax
|
|
|
|
documentation/bash.1
|
|
- documented the new ${var:exp1[:exp2]} syntax
|
|
|
|
11/25
|
|
-----
|
|
builtins/setattr.def
|
|
- don't allow readonly -n at all
|
|
|
|
array.c
|
|
- split array_to_string into two parts; a new function
|
|
array_to_string_internal does the real work
|
|
- new function array_subrange () to return a subset of the elements
|
|
in an array
|
|
|
|
subst.c
|
|
- augmented the substring code to handle the positional parameters
|
|
and array variables
|
|
- made quote_list and dequote_list return their WORD_LIST *
|
|
arguments so they can be used like
|
|
|
|
z = string_list ((quoted ? quote_list (l) : l), xxx);
|
|
|
|
- augmented the ${xxx} expansion code to do indirect variable
|
|
references if the first character of the variable name is `!'
|
|
|
|
tests/new-exp.tests
|
|
- added regression tests for substring expansion
|
|
- added regression tests for indirect variable references
|
|
|
|
11/28
|
|
-----
|
|
builtins/set.def
|
|
- added set -o hashfunc and set -o onecmd, synonyms for set -h
|
|
and set -t, respectively
|
|
|
|
builtins/shift.def
|
|
- changed shift so that the positional parameters are not changed
|
|
if the argument is > $# (this is ksh and Posix.2, unlike sh)
|
|
|
|
documentation/bash.1
|
|
- documented true behavior of `shift'
|
|
|
|
lib/readline/kill.c
|
|
- split the kill ring management code and the kill commands out
|
|
from readline.c into this file
|
|
|
|
lib/readline/undo.c
|
|
- split the code that does undoing out of readline.c into this file
|
|
|
|
shell.c
|
|
- force the shell to exit with status 127 if a longjmp back to
|
|
run_one_command occurs with bash -c
|
|
- force the last command exit status to 1 if a
|
|
longjmp (top_level, DISCARD) is performed
|
|
|
|
builtins/read.def
|
|
- don't throw away partial lines after reading EOF
|
|
|
|
subst.c
|
|
- command substitution should not inherit the -e flag
|
|
|
|
builtins/source.def
|
|
- make sure to set the exit status correctly when in posix mode
|
|
and the filename argument to `.' does not exist
|
|
|
|
11/29
|
|
-----
|
|
lib/readline/input.c
|
|
- split the input buffering and character input code out of
|
|
readline.c to here
|
|
|
|
lib/readline/macro.c
|
|
- moved the keyboard macro management code to here from readline.c
|
|
|
|
lib/readline/readline.c
|
|
- removed the STATIC_MALLOC code
|
|
|
|
lib/readline/rltty.c
|
|
- return -1 in POSIX get_tty_settings if tcgetattr returns -1 and
|
|
errno != EINTR, even if output is being flushed
|
|
|
|
12/1
|
|
----
|
|
machines.h
|
|
- fixes to the hpux_8 and hpux_9 machine descriptions
|
|
|
|
trap.c
|
|
- make run_exit_trap return the right exit status
|
|
(last_command_exit_value)
|
|
- run_exit_trap no longer preserves the value of last_command_exit_value
|
|
around the execution of the trap commands
|
|
- run_exit_trap now turns off SIG_TRAPPED and sets SIG_INPROGRESS
|
|
and will not try to run anything if SIG_INPROGRESS is set
|
|
|
|
trap.h
|
|
- change definition for run_exit_trap
|
|
|
|
shell.c
|
|
- call run_exit_trap only if trap[0] is set and not ignored
|
|
|
|
builtins/exit.def
|
|
- make sure we only source the .bash_logout file once, even if it
|
|
contains a call to `exit'
|
|
|
|
execute_cmd.c
|
|
- if we run an exit trap in a (...) user subshell, allow it to
|
|
override the exit status of the subshell
|
|
|
|
lib/readline/readline.c
|
|
- made rl_delete_text bounds check its `to' argument, and limit
|
|
it at rl_end
|
|
|
|
lib/readline/vi_mode.c
|
|
- make rl_vi_subst call `rl_delete_text' directly for the `s'
|
|
command
|
|
|
|
support/mksysdefs
|
|
- define a new variable for the sysdefs.h file for ISC machines:
|
|
ISC_release, which can be ISC_2, ISC_3, or ISC_4
|
|
|
|
machines.h
|
|
- don't `#undef' HAVE_GETCWD on ISC 4.x machines
|
|
- `#undef' HAVE_RESOURCE on ISC 4.x machines
|
|
|
|
support/mkversion.c
|
|
- include "posixstat.h" rather than <sys/stat.h> for the benefit
|
|
of ISC machines
|
|
|
|
12/5
|
|
----
|
|
lib/readline/complete.c
|
|
- changed username_completion_function so that a null username
|
|
generates a list of all users as possible completions
|
|
|
|
lib/readline/readline.h
|
|
- added definitions for STREQ, STREQN
|
|
|
|
lib/readline/{search.c,isearch.c,kill.c}
|
|
- removed private definitions of STREQ, STREQN
|
|
|
|
execute_cmd.c
|
|
- in find_user_command_internal, just return a copy of the pathname
|
|
passed as an argument if there is no PATH
|
|
|
|
12/6
|
|
----
|
|
siglist.h
|
|
- NetBSD 1.0 does not need a define for strsignal()
|
|
|
|
12/8
|
|
----
|
|
subst.c
|
|
- removed assignment_name, word_list_quote_removal, word_quote_removal,
|
|
and sub_append_number -- unused functions
|
|
- removed some unexecuted code from expand_word_internal
|
|
|
|
12/9
|
|
----
|
|
execute_cmd.c
|
|
- if PATH is set to the empty string, find executables in the
|
|
current directory
|
|
|
|
shell.c, parse.y, trap.c
|
|
- before setting the SIGINT sighandler unconditionally to one of
|
|
sigint_sighandler or termination_unwind_protect, check that it
|
|
is not ignored. Now trap '' 2 really sets the SIGINT signal
|
|
handler to SIG_IGN. [In 1.14.3]
|
|
|
|
trap.c
|
|
- rewrote set_sigint_handler to use SIG_IGNORED rather than checking
|
|
against IGNORE_SIG
|
|
- changed ignore_signal, run_exit_trap, maybe_call_trap_handler, and
|
|
run_trap_internal to check SIG_IGNORED
|
|
|
|
shell.c
|
|
- removed the check for signal_is_ignored(SIGINT) in sigint_sighandler
|
|
|
|
12/11
|
|
-----
|
|
sig.c, sig.h
|
|
- new files, moved signal-related definitions and code here from
|
|
shell.c, general.h, general.c, jobs.c, jobs.h, externs.h
|
|
|
|
unwind_prot.c, shell.h, nojobs.c
|
|
- include sig.h
|
|
|
|
12/12
|
|
-----
|
|
jobs.c
|
|
- only break out of loops if SIGTSTP was used to stop a job in the
|
|
loop, the shell is currently interactive, and job control is on.
|
|
SIGSTOP does not break loops. [In 1.14.3]
|
|
|
|
12/13
|
|
-----
|
|
expr.c
|
|
- bases < 2 or > 36 are now accepted without silently being reset
|
|
to 10
|
|
|
|
braces.c
|
|
- make sure array_concat copies the array it returns if one of
|
|
the arguments is null [In 1.14.3]
|
|
|
|
12/14
|
|
-----
|
|
subst.c
|
|
- split the ${...} expansion code out into a separate function,
|
|
static char *parameter_brace_expand()
|
|
- changes to array_value so that any variable can be referred to
|
|
as an array with an integer subscript. The value will be
|
|
returned if a non-array variable is referred to as ${var[0]};
|
|
if the subscript is > 0 a null string is returned
|
|
|
|
12/15
|
|
-----
|
|
machines.h
|
|
- fixes to freebsd description for FreeBSD 2 [In 1.14.3]
|
|
|
|
support/bashbug.sh
|
|
- changed to use /usr/lib/sendmail if present or /usr/sbin/sendmail
|
|
if present, defaulting to rmail [In 1.14.3]
|
|
|
|
bashhist.c
|
|
- HISTFILESIZE now controls how large the history file is after
|
|
it is written. After saving the shell history, sv_histfilesize
|
|
will truncate it if necessary. history -w can override this.
|
|
|
|
documentation/bash.1
|
|
- documented change to treatment of HISTSIZE when saving history
|
|
|
|
lib/malloc/malloc.c
|
|
- removed the calls to sigsetmask() in malloc(). This should
|
|
result in a speed improvement
|
|
|
|
12/19
|
|
-----
|
|
builtins/enable.def
|
|
- don't allow -f or -d in a restricted shell
|
|
|
|
builtins/alias.def
|
|
- rewrote alias and unalias to use the internal getopt
|
|
- added -p option to print the alias list to alias
|
|
- fixed up the documentation for `alias'
|
|
|
|
documentation/{bash.1,features.texi}
|
|
- updated the documentation for `alias'
|
|
- updated the documentation for $_
|
|
|
|
array.c,array.h
|
|
- new function `empty_array (ARRAY *a)' removes all of the
|
|
elements in a without destroying the array variable in
|
|
preparation for overwriting it. Used by read -a.
|
|
|
|
builtins/read.def
|
|
- call empty_array() before assigning list of values with read -a
|
|
- changed dispose_array to use empty_array to destroy the
|
|
array elements
|
|
|
|
variables.c
|
|
- set $_ to argv[0] at variable initialization time
|
|
|
|
12/20
|
|
-----
|
|
subst.c
|
|
- broke the pattern removal code into a few separate functions:
|
|
getpatspec to get the pattern specifier, getpattern to do the
|
|
necessary word expansions and return the pattern to be matched
|
|
- new function: parameter_list_remove_pattern(), which implements
|
|
the ${param[#%][[%#]]pattern} where param is `@' or `*'
|
|
|
|
documentation/bash.1
|
|
- documented new pattern removal functionality for the positional
|
|
paramters
|
|
|
|
general.c
|
|
- new function strsub (s, pat, rep, gflag) replaces PAT with REP
|
|
in S. All occurrences are replaced if GFLAG != 0; the first is
|
|
replaced otherwise
|
|
- changed strindex() to avoid multiple calls to strnicmp by
|
|
checking first character of the string
|
|
|
|
builtins/fc.def
|
|
- changed to use builtin_getopt with a check for fc numbers as
|
|
arguments
|
|
- some code rearranging for efficiency and clarity
|
|
- fc_dosubs now just calls strsub(); fc_replace is gone
|
|
|
|
12/21
|
|
-----
|
|
subst.c
|
|
- new function, match_pattern, which matches a shell globbing
|
|
pattern anywhere in a string and returns the boundaries of the
|
|
match
|
|
|
|
lib/readline/readline.h
|
|
- declarations for rl_insert_command and rl_backward_char_search
|
|
|
|
lib/readline/readline.c
|
|
- new function rl_insert_comment, no longer vi-mode-specific
|
|
- new function rl_backward_char_search
|
|
|
|
lib/readline/bind.c
|
|
- comment-begin now sets the comment char for emacs and vi modes
|
|
- variable holding the value is now _rl_comment_begin
|
|
|
|
lib/readline/vi_mode.c
|
|
- move the `comment-begin' stuff to readline.c and bind.c
|
|
|
|
lib/readline/funmap.c
|
|
- vi-comment is now insert-comment
|
|
- new bindable command character-search-backward
|
|
|
|
lib/readline/vi_mode.c
|
|
- command mode `#' now invokes rl_insert_comment
|
|
|
|
lib/readline/emacs_keymap.c
|
|
- M-# now bound to insert-comment
|
|
- M-space now bound to set-mark
|
|
- M-^] now bound to character-search-backward
|
|
|
|
bashline.c
|
|
- posix_readline_initialize now calls rl_variable_bind to set the
|
|
value of comment-begin rather than directly modifying
|
|
_rl_comment_begin
|
|
|
|
documentation/{bash.1,readline.3}, lib/readline/doc/rluser.texinfo
|
|
- added description of new bindable `insert-comment' command
|
|
- documented new M-space emacs mode binding
|
|
- documented new character-search-backward command and default
|
|
emacs mode binding to M-C-]
|
|
|
|
shell.c
|
|
- only call posix_initialize if posixly_correct is set
|
|
|
|
12/22
|
|
-----
|
|
cpp-Makefile
|
|
- make $(Program) depend on $(srcdir)/.distribution, for the
|
|
benefit of systems where `make' does not have VPATH support
|
|
[In 1.14.3]
|
|
|
|
jobs.c
|
|
- if a foreground job is killed by SIGINT while job control is
|
|
active, print a newline to compensate for the kernel printing
|
|
^C without one [in 1.14.3]
|
|
|
|
bashline.c
|
|
- make sure bashline_reinitialize resets rl_completion_entry_function
|
|
to NULL, as the comment says it should [In 1.14.3]
|
|
|
|
12/23
|
|
-----
|
|
test.c
|
|
- fix a problem that caused core dumps if a `)' was missing in a
|
|
parenthesized expression [In 1.14.3]
|
|
|
|
jobs.c
|
|
- broke the code the manages the manipulation of the job table and
|
|
process status out of flush_child into a new function waitchld()
|
|
- flush_child now just calls waitchld() with a parameter that tells
|
|
it not to block
|
|
- wait_for calls waitchld() with the pid it's looking for and tells
|
|
it to block (don't call it with WNOHANG)
|
|
- cleaned up wait_for considerably -- turned the wait_loop: label
|
|
stuff into a do-while loop and removed the setting of job status
|
|
(that's now done only by waitchld). wait_for now calls
|
|
waitchld continuously until the job it is interested in is
|
|
marked JDEAD.
|
|
|
|
12/28
|
|
-----
|
|
subst.c
|
|
- fixed expand_word_internal so that any word that expands into
|
|
nothing and contains a double-quoted $@ is removed, like sh
|
|
and ksh
|
|
- new function: expand_string_for_rhs, which calls expand_word_internal
|
|
with a variable that lets it find out whether or not a $@ appeared
|
|
in the WORD in ${paramOPword} when expanding it, so that "$@"
|
|
and various other things are handled correctly on the rhs
|
|
- added params for parameter_brace_expand to tell expand_word_internal
|
|
if a quoted $@ was processed as part of the rhs (or even the lhs);
|
|
these new params are passed along to parameter_brace_expand_rhs
|
|
- pass the right value of quoted to parameter_brace_expand_rhs from
|
|
parameter_brace_expand. expand_string_for_rhs doesn't need to know
|
|
whether the brace expression is quoted
|
|
|
|
12/31
|
|
-----
|
|
support/printenv
|
|
- now an official part of the distribution, moved from CWRU/misc
|
|
[in 1.14.3]
|
|
|
|
cpp-Makefile
|
|
- copy support/printenv into the `tests' directory when making tests
|
|
[in 1.14.3]
|
|
- change to understand GCC_STANDARD [in 1.14.3]
|
|
|
|
support/bashbug.sh
|
|
- fixed a typo that caused it to not parse correctly [in 1.14.3]
|
|
|
|
machines.h
|
|
- define GCC_STANDARD if the standard `cc' is gcc and you don't want
|
|
to use the compiler named `gcc' for some reason [in 1.14.3]
|
|
|
|
1/2
|
|
---
|
|
general.h
|
|
- added FS_DIRECTORY to the list of flags that file_status returns
|
|
|
|
execute_cmd.c
|
|
- changed find_in_path_element to return null if the flags argument
|
|
specifies FS_EXEC_ONLY and the file is not executable
|
|
- return FS_DIRECTORY from file_status if the argument specifies a
|
|
directory
|
|
- new function, is_directory (char *), which returns non-zero if the
|
|
filename argument is a directory
|
|
|
|
execute_cmd.h
|
|
- extern declaration for is_directory
|
|
|
|
flags.c, flags.h
|
|
- hashing_disabled and locate_commands_in_functions were removed,
|
|
hashing_enabled added
|
|
|
|
execute_cmd.c, builtins/common.c. builtins/hash.def
|
|
- use hashing_enabled instead of hashing_disabled, and reverse
|
|
the sense of tests of it
|
|
|
|
documentation/bash.1, documentation/features.texi
|
|
- changed description of `set -h/set -o hashcmds', removed
|
|
set -d/set -o nohash
|
|
|
|
bashline.c
|
|
- changed command_word_completion_function to return matches if names
|
|
are directories as well as if they are executable files
|
|
|
|
support/mksysdefs
|
|
- look for `ranlib' in $PATH before searching the file system;
|
|
look in /usr/gnu/bin for it; default to `:' if not found
|
|
|
|
general.c
|
|
- change ansicstr to accept a second argument telling it whether to
|
|
recognize \c and to pass back a non-zero value in it if \c is
|
|
seen
|
|
|
|
general.h
|
|
- changed extern declaration of ansicstr
|
|
|
|
subst.c
|
|
- call ansicstr with an extra argument
|
|
|
|
1/3
|
|
---
|
|
builtins/echo.def
|
|
- rewrote to use ansicstr() with the new argument
|
|
|
|
1/4
|
|
---
|
|
trap.c
|
|
- changed instances of signal() to set_signal_handler() [in 1.14.4]
|
|
- combined reset_signals and restore_signals into a single function,
|
|
since they were essentially identical
|
|
|
|
subst.c
|
|
- if set -u is set, references to the positional parameters now
|
|
generate errors if that parameter is not set [in 1.14.4]
|
|
|
|
lib/*/Makefile, builtins/Makefile
|
|
- since RANLIB can be just `ranlib', just try to run it without
|
|
checking that the file exists [in 1.14.4]
|
|
|
|
builtins/set.def
|
|
- changed `hashcmds' to `hashall'
|
|
|
|
documentation/{bash.1,features.texi}
|
|
- changed `hashcmds' to `hashall'
|
|
|
|
1/5
|
|
---
|
|
trap.c
|
|
- make the loop that restores signal handlers run from signal 0 to
|
|
make sure user subshells don't inherit traps on `exit' (to fix
|
|
for 1.14.3, change restore_original_signals so that the loop
|
|
starts from 0) [in 1.14.4]
|
|
|
|
variables.c
|
|
- don't import exported function definitions at startup if the
|
|
shell is restricted
|
|
|
|
builtins/source.def
|
|
- don't allow use of pathname arguments containing `/' in a
|
|
restricted shell
|
|
|
|
execute_cmd.c
|
|
- when a shell is spawned to execute a shell script without a
|
|
#! line, turn off the -r flag if the shell is restricted
|
|
|
|
shell.c
|
|
- added a new long option `--restricted'
|
|
|
|
documentation/bash.1
|
|
- added a section on the restricted shell, and documented the
|
|
new `--restricted' long invocation option
|
|
|
|
1/7
|
|
---
|
|
shell.c
|
|
- when using bash -c command, make run_one_command return
|
|
last_command_exit_value if a throw_to_top_level with value
|
|
EXITPROG occurs [in 1.14.4]
|
|
|
|
print_cmd.c
|
|
- make sure to initialize arg_index in the non-varargs implementation
|
|
of cprintf [in 1.14.4]
|
|
|
|
jobs.c
|
|
- don't try to change the state of the SIGCHLD handler before
|
|
calling waitchld() from wait_for, since SIGCHLD is blocked
|
|
while this code is executing [in 1.14.4]
|
|
|
|
1/11
|
|
----
|
|
lib/readline/rltty.c
|
|
- call control_keypad iff the value of a new variable,
|
|
_rl_enable_keypad, is non-zero
|
|
|
|
lib/readline/bind.c
|
|
- new readline variable `enable-keypad' to control whether readline
|
|
tries to manipulate the application keypad
|
|
|
|
documentation/{bash.1,readline.3}, lib/readline/doc/rluser.texinfo
|
|
- documented new `enable-keypad' variable
|
|
|
|
1/12
|
|
----
|
|
lib/readline/search.c
|
|
- make sure to call rl_unix_word_rubout and rl_unix_line_discard
|
|
with the correct arguments [in 1.14.4]
|
|
|
|
make_cmd.h
|
|
- make sure make_select_command is declared even if SELECT_COMMAND
|
|
is not defined
|
|
|
|
parse.y
|
|
- make sure the \[ and \] escape sequences are not recognized if
|
|
READLINE is not defined [in 1.14.4]
|
|
|
|
config.h
|
|
- make sure HISTORY is defined if READLINE is; code moved here
|
|
from bashhist.c [in 1.14.4]
|
|
|
|
bashhist.c
|
|
- removed check for READLINE being defined without HISTORY; now
|
|
in config.h
|
|
- new function, bash_history_reinit
|
|
|
|
flags.h, flags.c, builtins/set.def
|
|
- the -H/-o histexpand flag should be compiled into the shell
|
|
only if BANG_HISTORY is defined [in 1.14.4]
|
|
|
|
subst.c
|
|
- don't include sv_histchars unless BANG_HISTORY is defined
|
|
[in 1.14.4]
|
|
- if QUOTED is true in parameter_brace_expand_rhs, pre-process the
|
|
word on the rhs of the parameter expansion by a call to
|
|
string_extract_double_quoted with the STRIPDQ parameter set to 1
|
|
- new arg for string_extract_double_quoted; causes it to strip
|
|
double quotes and alter its backslash handling behavior; designed
|
|
to be called from parameter_brace_expand_rhs
|
|
- changed all other instances of string_extract_double_quoted to
|
|
call it with STRIPDQ set to 0, to get old behavior
|
|
|
|
shell.c
|
|
- call bash_history_reinit rather than manipulating history
|
|
variables directly
|
|
|
|
variables.c
|
|
- don't auto-export $BASH [in 1.14.4]
|
|
|
|
tests/rhs-exp.tests
|
|
- new test script to check for behavior fixed by changes to
|
|
string_extract_double_quoted and parameter_brace_expand_rhs
|
|
|
|
parse.y
|
|
- `for' and `select' must now take non-empty lists between
|
|
`in' and `;'
|
|
|
|
1/16
|
|
----
|
|
subst.c
|
|
- fixed string_quote_removal to do double-quoted string processing
|
|
itself rather than call string_extract_double_quoted, which
|
|
assumes that a call to expand_word_internal or the equivalent
|
|
will follow immediately and leaves some backslashes in place,
|
|
inappropriately for quote removal
|
|
|
|
1/23
|
|
----
|
|
subst.c
|
|
- make sure to set `temp' to NULL after it's freed by sub_append_string
|
|
in expand_word_internal to keep it from pointing to newly-allocated
|
|
memory that will be subsequently freed, causing a `memory freed
|
|
twice' error [in 1.14.4]
|
|
|
|
trap.c
|
|
- handle the EXIT_TRAP specially in reset_or_restore_signal_handlers,
|
|
since in both cases we simply want to free up the trap string and
|
|
mark the signal as not trapped
|
|
|
|
shell.h
|
|
- added \n to the list of characters in slashify_in_double_quotes
|
|
|
|
1/26
|
|
----
|
|
subst.c
|
|
- make string_extract_single_quoted and string_extract_double_quoted
|
|
`inline'
|
|
- new function skip_single_quoted, used when we used to call
|
|
string_extract_single_quoted and just throw the returned string
|
|
away
|
|
- new function skip_double_quoted for the same purpose
|
|
|
|
1/28
|
|
----
|
|
subst.c
|
|
- fixed expand_word_internal so that if an assignment word
|
|
is expanded, no word splitting is performed [in 1.14.4]
|
|
|
|
builtins/ulimit.def
|
|
- some systems lack RLIMIT_CPU; so `#ifdef' its use [in 1.14.4]
|
|
- some versions of cpp expand parameters like \n if `n' is an
|
|
argument to the macro; change `n' to `num' in the definition
|
|
of print_rlimtype to compensate [in 1.14.4]
|
|
|
|
builtins/read.def
|
|
- make sure the read loop sets `saw_escape' to note that an
|
|
escape character was read if CTLESC or CTLNUL is read [in 1.14.4]
|
|
|
|
shell.c, sig.c
|
|
- only test interactive_shell before calling maybe_save_shell_history
|
|
[in 1.14.4]
|
|
shell.c
|
|
- include <locale.h> if HAVE_LOCALE_H is defined
|
|
- call setlocale(LC_ALL, "") at the beginning of main() if
|
|
either _POSIX_VERSION or HAVE_SETLOCALE is defined
|
|
|
|
support/mksysdefs
|
|
- look for <locale.h>, define HAVE_LOCALE_H if found
|
|
|
|
cpp-Makefile
|
|
- pass HAVE_LOCALE_H through from sysdefs.h to the build process
|
|
|
|
bashhist.c
|
|
- remove test against interactive_shell in maybe_save_shell_history
|
|
[in 1.14.4]
|
|
|
|
variables.c
|
|
- moved definition of DEFAULT_MAIL_PATH to config.h
|
|
|
|
config.h, config.h.mini
|
|
- now has definition of DEFAULT_MAIL_PATH [in 1.14.4]
|
|
- changed default value of PATH to
|
|
`/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin:.'
|
|
[in 1.14.4]
|
|
|
|
documentation/bash.1
|
|
- updated the example of the default path in the description of
|
|
the PATH variable
|
|
|
|
lib/readline/readline.c
|
|
- set up a table of `legal' LC_CTYPE values and match the value of
|
|
$LC_CTYPE against it when deciding whether or not to default to
|
|
eight-bit input and output
|
|
- check for LC_ALL, LC_CTYPE, and LANG, in that order, for names to
|
|
check against the legal_lc_ctype_values table
|
|
|
|
lib/readline/bind.c
|
|
- moved strindex, stricmp, and strnicmp to lib/readline/util.c,
|
|
added _rl_ prefix to names
|
|
- some miscellaneous code cleanups and speedups
|
|
|
|
lib/readline/rldefs.h
|
|
- define _POSIX_VDISABLE as _SVR4_VDISABLE if there is a define
|
|
for the latter and not the former [in 1.14.4]
|
|
- moved defining _rl_stricmp and _rl_strnicmp as strcasecmp and
|
|
strncasecmp, respectively, here from bind.c, since the functions
|
|
are now defined in util.c and used in two files
|
|
|
|
builtins/common.c
|
|
- removed the \n case in double_quote, so a backslash is not added
|
|
before an existing newline. The \<newline> pair is removed by
|
|
the parser before anything else in the shell gets hold of it
|
|
except within single quotes [in 1.14.4]
|
|
|
|
1/30
|
|
----
|
|
general.c
|
|
- make sure the string index in canonicalize_pathname never goes
|
|
< 0 (it can, in some cases, result in `start' being -1, and `i'
|
|
being set to that) [in 1.14.4]
|
|
|
|
2/1
|
|
---
|
|
execute_cmd.c
|
|
- fix a typo in a call to `access' in AFS-specific code [in 1.14.4]
|
|
|
|
2/3
|
|
---
|
|
builtins/shopt.def
|
|
- finally added new `shopt' builtin
|
|
|
|
builtins/umask.def
|
|
- converted to use builtin_getopt
|
|
|
|
bashhist.c
|
|
- support for storing literal newlines in the history list when
|
|
command_oriented_history is enabled, rather than using semicolons
|
|
|
|
builtins/Makefile
|
|
- changed rule to make a .o file from a .def file to remove the
|
|
.c file if the compilation fails
|
|
|
|
2/6
|
|
---
|
|
bashhist.c
|
|
- added new variable `force_append_history' that will force the
|
|
history list to be appended to the history file at shell exit
|
|
- new function, maybe_append_history, to append any history lines
|
|
from the current session to the history file. Used by history -a
|
|
|
|
builtins/bind.def
|
|
- changed the `-d' option to -p
|
|
|
|
builtins/set.def
|
|
- added `allenv' as a -o synonym for `set -k'. Now all of the
|
|
single-letter shell options have -o equivalents
|
|
|
|
builtins/shopt.def
|
|
- added -p option to display shell options, like other builtins
|
|
- added `interactive_comments' as a shell option, like set -o
|
|
|
|
builtins/bind.def, builtins/history.def, builtins/enable.def
|
|
- changed use of multiple variables to hold option flag settings to
|
|
one variable with bits representing flag values
|
|
|
|
documentation/bash.1, documentation/features.texi
|
|
- changed the description of the `bind' builtin for the new -p option
|
|
- changed the description of the `set' builtin for the new
|
|
`-o allenv' option
|
|
- updated the description of the `shopt' builtin
|
|
|
|
builtins/history.def
|
|
- changed -a option to use maybe_append_history
|
|
|
|
subst.c
|
|
- changed the substring/subarray code to make negative offsets
|
|
count backwards from the end of the string or array
|
|
|
|
builtins/bashgetopt.c
|
|
- added option modifiers `;' (argument is optional) and `#'
|
|
(argument is optional, but if present must be numeric)
|
|
|
|
builtins/hash.def
|
|
- converted to use builtin_getopt
|
|
- broke code out into a new function: add_hashed_command
|
|
|
|
2/7
|
|
---
|
|
builtins/getopt.c
|
|
- changed to save state to avoid relying on `nextchar' staying the
|
|
same across calls to sh_getopt [in 1.14.4]
|
|
- added a function to restore `nextchar' from this saved state
|
|
[in 1.14.4]
|
|
- removed some dead code
|
|
|
|
builtins/getopts.def
|
|
- call function to restore sh_getopt state when parsing explicitly
|
|
supplied arguments rather than the positional parameters [in 1.14.4]
|
|
|
|
lib/readline/vi_mode.c
|
|
- fixed an off-by-one error in _rl_vi_done_inserting that put the
|
|
\0 in vi_insert_buf at offset `len' instead of `len - 1'
|
|
|
|
lib/readline/complete.c
|
|
- print_filename now filters out control characters and displays
|
|
them in printable format, rather than relying on the tty driver
|
|
to do the right thing [in 1.14.4]
|
|
|
|
2/8
|
|
---
|
|
lib/posixheaders/stdc.h
|
|
- test for each special keyword being defined individually, rather
|
|
than just testing on `const' [in 1.14.4]
|
|
|
|
lib/readline/util.c
|
|
- new function _rl_abort_internal; rl_abort just calls this
|
|
|
|
nojobs.c
|
|
- include error.h for extern function definitions [in 1.14.4]
|
|
|
|
builtins/ulimit.def
|
|
- include <unistd.h> if HAVE_UNISTD_H is defined
|
|
- use HAVE_LIMITS_H to decide whether or not to include <limits.h>
|
|
|
|
variables.c, subst.c, builtins/set.def
|
|
- removed special handling of `noclobber' variable
|
|
|
|
builtins/set.def
|
|
- new function set_shellopts to set up the $SHELLOPTS variable
|
|
based on the values of the set -o options; `set' calls this
|
|
function whenever one of the options is changed
|
|
- new function parse_shellopts to take the value of SHELLOPTS and
|
|
turn on each option found therein
|
|
- new function initialize_shell_options to parse any inherited
|
|
value of $SHELLOPTS and set up $SHELLOPTS
|
|
|
|
shell.c
|
|
- call initialize_shell_options at the end of shell_initialize()
|
|
|
|
execute_cmd.c, general.c
|
|
- moved extract_colon_unit from execute_cmd.c to general.c
|
|
|
|
execute_cmd.h, general.h
|
|
- moved extern declaration of extract_colon_unit from
|
|
execute_cmd.h to general.h
|
|
|
|
documentation/{bash.1,features.texi}
|
|
- documented SHELLOPTS
|
|
|
|
2/18
|
|
----
|
|
builtins/{shopt,pushd,jobs,umask}.def
|
|
- removed the `longjobs', `longdirs', `pushd_home' and `symbolic_umask'
|
|
options
|
|
|
|
lib/readline/{histexpand,histsearch,histfile}.c, lib/readline/histlib.h
|
|
- new files, split off from old history library history.c
|
|
|
|
lib/readline/history.c, lib/readline/history.h
|
|
- new function clear_history() to clear the history list
|
|
|
|
lib/readline/doc/hstech.texinfo
|
|
- documented clear_history ()
|
|
|
|
builtins/pushd.def
|
|
- new function clear_directory_stack() to delete all elements of
|
|
the dir stack
|
|
- new -c option for `dirs' to clear directory stack
|
|
- new function get_dirstack_index for dirs -N and dirs +N to use
|
|
- new function get_dirstack_element(i, dir) for use by other parts of
|
|
the shell that want the functionality of dirs -N and dirs +N
|
|
(dir is 1 for dirs +N, -1 for dirs -N)
|
|
- new function set_dirstack_element(i, dir, val) for use by other
|
|
parts of the shell to change values in the dirstack (dir is -1
|
|
for dirs -N, +1 for dirs +N). Used when assigning to $DIRSTACK.
|
|
|
|
builtins/history.def
|
|
- new -c option to clear the history list
|
|
|
|
documentation/bash.1, documentation/features.texi
|
|
- removed no-longer-valid shopt options
|
|
- documented new dirs -c option
|
|
- documented new history -c option
|
|
- documented new \T and \H prompt escape sequences
|
|
- documented new $DIRSTACK dynamic array variable
|
|
- documented the new expand-glob and list-glob readline commands
|
|
|
|
variables.c
|
|
- set PS4 to its default value of `+ ', so that unsetting it will
|
|
disable the tracing characters [in 1.14.4]
|
|
- new framework for dynamic array variables -- each place an
|
|
array index is assigned to, a test is made. if a dynamic
|
|
assignment function exists, it is called with args `self',
|
|
the index being assigned to, and the new value
|
|
- new variable `$DIRSTACK', a dynamic array variable that holds
|
|
the current contents of the directory stack. You can even
|
|
change the stack by assigning to thie variable
|
|
|
|
shell.c
|
|
- changed indirection_level_string to return the null string if
|
|
$PS4 is unset or null [in 1.14.4]
|
|
|
|
parse.y
|
|
- new \H prompt escape for hostname up to first `.'; changed \h
|
|
to return full hostname (like \w/\W)
|
|
- new \T prompt escape for 12-hour time
|
|
|
|
bashline.c
|
|
- new readline functions to expand glob patterns and insert or
|
|
list the expansions (special completion functions)
|
|
|
|
|
|
2/20
|
|
----
|
|
builtins/pushd.def
|
|
- new code for `pushd -n' and `popd -n' to inhibit cd when
|
|
adding or removing directories from the stack
|
|
- broke functionality off into separate functions for use by the
|
|
$DIRSTACK manipulation functions
|
|
|
|
2/21
|
|
----
|
|
lib/readline/kill.c
|
|
- new functions to copy words to the kill ring, backward or
|
|
forward
|
|
|
|
lib/readline/readline.h
|
|
- extern declarations for rl_copy_{backward,forward}_word
|
|
|
|
|
|
lib/readline/funmap.c
|
|
- new bindable readline commands: copy-backward-word and
|
|
copy-forward-word to copy portions of the line to the kill
|
|
ring without deleting them
|
|
|
|
documentation/{bash.1,readline.3}, lib/readline/doc/hsuser.texinfo
|
|
- documented the new copy-backward-word and copy-forward-word
|
|
readline commands
|
|
|
|
mailcheck.c, config.h
|
|
- the declaration of DEFAULT_MAIL_PATH is now only in config.h
|
|
and used by mailcheck.c and variables.c. There is no need to
|
|
use DEFAULT_MAIL_PATH_LEN; `sizeof' does the job [in 1.14.4]
|
|
|
|
2/22
|
|
----
|
|
support/mksysdefs
|
|
- changes to fix `RELEASE' if it ends up being set to the empty string
|
|
[in 1.14.4]
|
|
- check for amdahl UTS [in 1.14.4]
|
|
- check for SGI Irix version 6.x [in 1.14.4]
|
|
|
|
machines.h
|
|
- new entry for Amdahl UTS [in 1.14.4]
|
|
- changes to the SGI entry for Irix 6.x [in 1.14.4]
|
|
|
|
2/23
|
|
----
|
|
machines.h
|
|
- changes for BSD/OS 2.0 (M_OS now set to `BSD_OS') [in 1.14.4]
|
|
|
|
support/mksysdefs
|
|
- change to recognize BSD/OS 2.0 and set SYSDEF to BSDI2 [in 1.14.4]
|
|
|
|
siglist.h
|
|
- don't declare sys_siglist on BSD/OS 2.0 [in 1.14.4]
|
|
|
|
2/24
|
|
----
|
|
parse.y
|
|
- if reset_parser is called while the prompt command is being
|
|
executed because of a syntax error in $PROMPT_COMMAND, an
|
|
infinite loop results. set token_to_read back to 0 at the
|
|
end of execute_prompt_command to stop the looping [in 1.14.4]
|
|
|
|
2/25
|
|
----
|
|
mailcheck.h
|
|
- new header file for mail-checking and related definitions
|
|
- declaration of DEFAULT_MAIL_PATH is now here
|
|
|
|
mailcheck.c
|
|
- new function, make_default_mailpath, which constructs a default
|
|
$MAILPATH string from DEFAULT_MAIL_PATH [in 1.14.4]
|
|
- change remember_mail_dates to call make_default_mailpath
|
|
[in 1.14.4]
|
|
|
|
externs.h
|
|
- moved function declarations for functions in mailcheck.c to
|
|
mailcheck.h
|
|
|
|
variables.c
|
|
- change initialize_shell_variables to call make_default_mailpath
|
|
[in 1.14.4]
|
|
- removed some unneeded variables in initialize_shell_variables
|
|
|
|
2/26
|
|
----
|
|
lib/readline/callback.c
|
|
- new file with readline callback function interface
|
|
|
|
lib/readline/rlconf.h
|
|
- new READLINE_CALLBACKS define for the readline callback code to
|
|
be compiled in and available
|
|
|
|
lib/readline/readline.c
|
|
- broke readline_internal into three functions: readline_internal_setup,
|
|
readline_internal_charloop, and readline_internal_teardown
|
|
- changes for READLINE_CALLBACKS
|
|
|
|
lib/readline/readline.h
|
|
- extern declarations for the readline callback code
|
|
|
|
cpp-Makefile
|
|
- added lib/readline/callback.c to the list of readline files
|
|
|
|
lib/readline/input.c
|
|
- added a layer of indirection to allow the user to specify the
|
|
function that reads a character from rl_instream. The variable
|
|
name is rl_getc_function, set by default to rl_getc
|
|
|
|
2/27
|
|
----
|
|
lib/readline/display.c
|
|
- added a variable rl_redisplay_function to allow an application-
|
|
specified redisplay function, for those apps that want to control
|
|
redisplay
|
|
|
|
lib/readline/readline.c
|
|
- extern declarations for rl_getc_function and rl_redisplay_function
|
|
|
|
lib/readline/{readline,display,isearch,search,parens}.c
|
|
- changed to call through rl_redisplay_function rather than
|
|
rl_redisplay directly
|
|
|
|
parse.y
|
|
- try to avoid some work in reset_readline_prompt and prompt_again
|
|
if the prompt is the empty or null string [in 1.14.4]
|
|
|
|
lib/readline/readline.c
|
|
- call rl_expand_prompt unconditionally [in 1.14.4]
|
|
|
|
lib/readline/display.c
|
|
- short-circuit out of rl_expand_prompt if the prompt string is null
|
|
after clearing out the saved local prompt values. This allows
|
|
$PS2 to be set to "" [in 1.14.4]
|
|
|
|
lib/readline/doc/rltech.texinfo
|
|
- documented the callback code and functions
|
|
- documented rl_getc_function and rl_redisplay_function
|
|
|
|
lib/readline/{callback,readline,rltty,signals}.c
|
|
- added layer of indirction for terminal prep and deprep, with
|
|
rl_term_prep_function and rl_term_deprep_function. These are
|
|
set by default to rl_prep_terminal and rl_deprep_terminal,
|
|
respectively
|
|
|
|
lib/readline/readline.h
|
|
- make rl_term_prep_function and rl_term_deprep_function available
|
|
to callers
|
|
|
|
3/1
|
|
---
|
|
lib/readline/complete.c
|
|
- broke the (long, complicated) rl_complete_internal code into a
|
|
number of separate functions:
|
|
|
|
find_completion_word
|
|
gen_completion_matches
|
|
remove_duplicate_matches
|
|
display_matches
|
|
insert_text
|
|
insert_match
|
|
append_to_match
|
|
insert_all_matches
|
|
|
|
- made some efficiency improvments to filename_completion_function
|
|
- the completion ignore function is now called no matter what type
|
|
of completion is being performed (as it should have been all along)
|
|
|
|
lib/readline/rldefs.h
|
|
- use #defines for the possible values ORed into `found_quote' by
|
|
the completion code
|
|
|
|
3/2
|
|
---
|
|
make_cmd.c, general.c
|
|
- moved make_word_array from make_cmd.c to general.c, renamed to
|
|
word_list_to_argv, extended it to optionally not malloc all of
|
|
the strings and to reserve space at the start of the array
|
|
|
|
execute_cmd.c
|
|
- changed to use word_list_to_argv, not mallocing space for the
|
|
strings
|
|
|
|
builtins/common.c, builtins/common.h
|
|
- new function make_builtin_argv, which uses word_list_to_argv
|
|
and reserves 1 slot at the beginning for the command name
|
|
|
|
builtins/exec.def
|
|
- changed to use word_list_to_argv
|
|
|
|
builtins/{getopts,test}.def
|
|
- changed to use make_builtin_argv
|
|
|
|
subst.c
|
|
- new function match_pattern_char, to see if the first char of
|
|
a string has a chance to match a given pattern (test against
|
|
the first char of the pattern); used by match_pattern in the
|
|
MATCH_ANY case
|
|
|
|
3/3
|
|
---
|
|
jobs.c
|
|
- renamed flush_child to sigchld to capture the functionality better
|
|
|
|
array.c
|
|
- new function array_pat_subst, to do pattern substitution on each
|
|
element in an array
|
|
|
|
array.h
|
|
- extern declaration for array_pat_subst
|
|
|
|
subst.c
|
|
- new function pat_subst to do pattern matching and substitution on
|
|
a string
|
|
- new function parameter_brace_pat_subst to implement
|
|
${v/[/]pat[/sub]}; calls pat_subst for simple vars,
|
|
pos_params_pat_subst to do substitution on the positional params,
|
|
and array_pat_subst for things like ${v[@]/p/r}
|
|
|
|
subst.h
|
|
- extern declaration for pat_subst so array.c can find it
|
|
|
|
3/6
|
|
---
|
|
parse.y
|
|
- <>filename now dups filename to file descriptor 0 for both input
|
|
and output even when not in posix.2 mode
|
|
|
|
bashline.c
|
|
- add the globbing characters to the list of characters that need
|
|
to be quoted by filename completion
|
|
|
|
jobs.h
|
|
- new convenience macros:
|
|
RUNNING, STOPPED, DEADJOB - to test a job's state
|
|
IS_FOREGROUND, IS_NOTIFIED, IS_JOBCONTROL - flags
|
|
|
|
jobs.c, builtins/{kill,fg_bg}.def
|
|
- changed to use new jobs.h macros
|
|
|
|
3/7
|
|
---
|
|
array.c, array.h
|
|
- new function dup_array_subrange(a, s, e) to make a new array
|
|
out of the elements of array A between S and E, inclusive
|
|
- add `quoted' parameters to array_subrange and array_pat_subst
|
|
to preserve proper quoting of elements when expanding things
|
|
like "${av[@]/xx/yy}"
|
|
- new function array_quote to quote the members of an array like
|
|
the functions in subst.c
|
|
|
|
subst.c
|
|
- pass the quoted flag to array_subrange and array_pat_subst
|
|
- quote_string is no longer static
|
|
|
|
subst.h
|
|
- extern declaration for quote_string
|
|
|
|
builtins/hash.def
|
|
- added a -p pathname option to specify a pathname for the command
|
|
name to be hashed. With -p, no path search is performed.
|
|
|
|
lib/readline/histexpand.c
|
|
- broke history_tokenize off into history_tokenize_internal and
|
|
added two arguments: a character index and a word index. If
|
|
the char index is >= 0, the word index will be modified to point
|
|
into the returned array of strings to the word surrounding that
|
|
particular character index
|
|
- new function history_find_word(line, ind) to return the word
|
|
containing the character at index IND in LINE
|
|
- new variable search_match, found by history_find_word, to hold the
|
|
word last matched by a !?string? search
|
|
- corrected a problem with the `%' modifier: it should insert the
|
|
word last matched, not the last search string
|
|
|
|
3/8
|
|
---
|
|
cpp-Makefile
|
|
- changed INSTALL_PROGRAM and INSTALL_DATA to use support/install.sh
|
|
- changed `install' target to not explicitly save the old version of
|
|
bash in `bash.old'; let install take care of it
|
|
|
|
shell.c
|
|
- new static variable `running_under_emacs', set to 1 if the
|
|
variable `EMACS' is in the startup environment, and to 2 if
|
|
we're running under the `eterm' terminal emulator
|
|
- send an escape sequence to eterm if running_under_emacs is 2
|
|
after executing any $PROMPT_COMMAND to tell it the current
|
|
directory
|
|
|
|
3/9
|
|
---
|
|
builtins/ulimit.def
|
|
- made getting -u work for systems that have a MAXUPRC define.
|
|
it still cannot be set without RLIMIT_NPROC
|
|
|
|
shell.c
|
|
- include trap.h for sig definitions
|
|
|
|
builtins/common.h, subst.h, general.h, externs.h
|
|
- more extern function declarations
|
|
|
|
bashhist.c
|
|
- new function, bash_history_disable(), to turn off history and
|
|
history expansion
|
|
- bash_history_disable now sets history_expansion_inhibited
|
|
|
|
bashline.h
|
|
- new file with extern declarations from bashline.c
|
|
|
|
parse.y, bashhist.c, builtins/bind.def, subst.c, sig.c
|
|
- include bashline.h
|
|
|
|
3/10
|
|
----
|
|
lib/glob/glob.h
|
|
- new file with extern declarations for local glob library
|
|
|
|
shell.c
|
|
- include glob.h, mailcheck.h
|
|
|
|
cpp-Makefile
|
|
- changes to dependencies due to mailcheck.h, bashline.h, glob.h
|
|
|
|
3/13
|
|
----
|
|
execute_cmd.c
|
|
- new function execute_connection to execute commands of type
|
|
cm_connection
|
|
- new function execute_pipeline, to execute pipelines
|
|
|
|
lib/readline/rltty.c
|
|
- add a `tty' argument to the set_winsize function/macro, the
|
|
non-shell version needs it
|
|
|
|
3/14
|
|
----
|
|
parse.y
|
|
- added \a (bell) and \e (escape) prompt string escape sequences
|
|
|
|
3/16
|
|
----
|
|
lib/readline/display.c
|
|
- fixed bug in update_line that caused stray characters to be left on
|
|
lines after the first if characters are deleted so that the first
|
|
line becomes exactly as long as the screen width [in 1.14.4]
|
|
|
|
lib/readline/doc-support
|
|
- brought in the GNU getopt because texindex needs it
|
|
|
|
documentation/Makefile
|
|
- adopted the BSD convention of a suffix of `.0' for formatted
|
|
manual pages
|
|
|
|
3/17
|
|
----
|
|
support/inpath
|
|
- a script to find out if a particular command name appears in
|
|
a directory in $PATH [in 1.14.4]
|
|
|
|
support/mksysdefs
|
|
- changed to use inpath to find `ranlib' [in 1.14.4]
|
|
|
|
3/18
|
|
----
|
|
bashline.c
|
|
- include bashline.h
|
|
- removed the DYNAMIC_HISTORY_COMPLETION define; that code is now
|
|
included unconditionally
|
|
- renamed ETCHOSTS to DEFAULT_HOSTS_FILE; moved definition to
|
|
bashline.h
|
|
- moved definition of BRACE_COMPLETION to config.h
|
|
|
|
config.h
|
|
- conditional definition of BRACE_COMPLETION is now here
|
|
|
|
pathnames.h
|
|
- new file with defines that are absolute pathnames
|
|
|
|
shell.h
|
|
- include pathnames.h
|
|
|
|
mailcheck.h
|
|
- def of DEFAULT_MAIL_PATH now moved to pathnames.h
|
|
|
|
shell.c
|
|
- def of SYS_PROFILE moved to pathnames.h
|
|
|
|
alias.h
|
|
- removed a bunch of extra definitions
|
|
|
|
lib/readline/{vi_mode.c,bind.c}
|
|
- removed superfluous STATIC_MALLOC code
|
|
|
|
variables.c
|
|
- removed SHADOWED_ENV code
|
|
|
|
3/20
|
|
----
|
|
machines.h
|
|
- don't define USG or USGr3 for linux machines [in 1.14.4]
|
|
- change REVERSED_SETVBUF_ARGS to SETVBUF_REVERSED for autoconf
|
|
compatibility
|
|
|
|
shell.c
|
|
- change REVERSED_SETVBUF_ARGS to SETVBUF_REVERSED for autoconf
|
|
compatibility
|
|
|
|
support/mksysdefs, maxpath.h
|
|
- change HAVE_SYS_PARAM to HAVE_SYS_PARAM_H for autoconf
|
|
compatibility
|
|
|
|
support/mksysdefs, jobs.h
|
|
- use HAVE_SYS_WAIT_H
|
|
|
|
machines.h, error.c
|
|
- change HAVE_VFPRINTF to HAVE_VPRINTF for autoconf compatibility
|
|
|
|
test.c
|
|
- replace UID_T and GID_T with GETGROUPS_T, the size of the elements
|
|
of the array returned by getgroups
|
|
|
|
general.c
|
|
- define HAVE_KILLPG if killpg() is present; compile in a replacement
|
|
killpg if not
|
|
|
|
machines.h, jobs.c
|
|
- change BSD_GETPGRP to HAVE_BSD_PGRP
|
|
|
|
sig.c
|
|
- don't call initialize_siglist if HAVE_SYS_SIGLIST is defined, no
|
|
longer use INITIALIZE_SIGLIST
|
|
|
|
machines.h, lib/malloc/malloc.c
|
|
- change NO_SBRK_DECL to SBRK_DECLARED
|
|
|
|
3/22
|
|
----
|
|
machines.h
|
|
- BSD/OS 2.0 does not need INT_GROUPS_ARRAY in SYSDEP_CFLAGS
|
|
|
|
lib/readline/rldefs.h
|
|
- don't check `Linux'; just include <termcap.h> if HAVE_TERMCAP_H
|
|
is defined
|
|
|
|
builtins/command.def
|
|
- changed get_standard_path to use HAVE_CONFSTR
|
|
|
|
execute_cmd.c
|
|
- execute_simple_command no longer uses alloca
|
|
- don't check RISC6000 anymore when deciding whether to use
|
|
#pragma alloca
|
|
|
|
execute_cmd.c, shell.c
|
|
- check for ultrix instead of Ultrix when calling alloca(0)
|
|
|
|
jobs.h
|
|
- check HAVE_UNISTD_H to see whether to declare fork, getpid,
|
|
and getpgrp
|
|
|
|
builtins/common.c
|
|
- include <signal.h> for NSIG
|
|
|
|
sig.h
|
|
- don't define SIGABRT as SIGIOT unless SIGIOT is defined
|
|
|
|
jobs.c
|
|
- check for ultrix instead of Ultrix
|
|
|
|
3/23
|
|
----
|
|
general.c, general.h
|
|
- new function check_dev_tty, which makes sure we can open
|
|
/dev/tty
|
|
|
|
shell.c
|
|
- call check_dev_tty instead of having the code inline
|
|
|
|
posixstat.h
|
|
- removed references to isc386
|
|
|
|
general.h
|
|
- code to define one of TERMIOS_TTY_DRIVER, TERMIO_TTY_DRIVER,
|
|
or NEW_TTY_DRIVER
|
|
|
|
jobs.c, nojobs.c
|
|
- use the general.h code to define the tty driver types
|
|
|
|
3/24
|
|
----
|
|
builtins/declare.def
|
|
- new -p option to display variables and their values and attributes
|
|
`declare -p xxx' displays attribs and value of var `xxx'
|
|
|
|
builtins/setattr.def
|
|
- new function to display the attributes and value of a particular
|
|
variable; used by set_or_show_attributes
|
|
- new function to look up a variable by name and show that name's
|
|
attributes and value
|
|
|
|
builtins/common.c
|
|
- declarations for new functions in setattr.def
|
|
|
|
variables.c
|
|
- don't set a default value for MAILPATH in initialize_shell_variables;
|
|
let remember_mail_dates take care of it [in 1.14.4]
|
|
|
|
mailcheck.c
|
|
- fixed an off-by-one bug in make_default_mailpath [in 1.14.4]
|
|
|
|
3/28
|
|
----
|
|
[changes for autoconf-generated config files]
|
|
|
|
lib/malloc/malloc.c
|
|
- use HAVE_GETPAGESIZE, HAVE_BSD_SIGNALS, HAVE_POSIX_SIGNALS
|
|
|
|
trap.c
|
|
- remove tests for USG and USGr4
|
|
- test on HAVE_POSIX_SIGNALS rather than _POSIX_VERSION
|
|
- use MUST_REINSTALL_SIGHANDLERS define to decide whether trap_handler
|
|
should call signal again
|
|
|
|
getcwd.c
|
|
- redid the directory includes for autoconf compatibility
|
|
- use HAVE_LSTAT instead of testing for S_ISLNK
|
|
- use STRUCT_DIRENT_HAS_D_INO
|
|
- include memalloc.h for alloca define
|
|
|
|
general.h
|
|
- cleaned up strchr, strrchr definitions
|
|
- removed tests against USG
|
|
- use HAVE_MEMMOVE instead of MEMMOVE_MISSING
|
|
|
|
jobs.c
|
|
- use HAVE_WAIT3, MUST_REINSTALL_SIGHANDLERS, GETPGRP_VOID
|
|
|
|
mailcheck.h
|
|
- removed definition of DEFAULT_MAIL_DIRECTORY; now set by
|
|
autoconf in config.h
|
|
|
|
shell.c
|
|
- remove checks on USG, just check for HAVE_GETPW_DECLS
|
|
- use C_ALLOCA define
|
|
- redid the isnetconn() code using HAVE_SYS_SOCKET_H,
|
|
HAVE_GETPEERNAME, SVR4 and SVR4_2
|
|
|
|
general.c
|
|
- use HAVE_KILLPG, HAVE_RESTARTABLE_SYSCALLS, HAVE_UNAME,
|
|
ULIMIT_MAXFDS, HAVE_TIMEVAL, HAVE_TIMES
|
|
|
|
lib/readline/rldefs.h
|
|
- redid the tty driver definitions using HAVE_TERMIOS_H, etc.
|
|
- don't define anything having to do with signal type
|
|
|
|
lib/glob/glob.c
|
|
- redid the DIRENT defines and includes
|
|
- redid other includes to remove dependencies on USG and system
|
|
type (e.g., NeXT)
|
|
|
|
builtins/times.def
|
|
- changed to use HAVE_GETRUSAGE, HAVE_TIMEVAL, HAVE_TIMES, and
|
|
the autoconf way to include <sys/time.h> and <time.h>
|
|
|
|
builtins/ulimit.def
|
|
- changed to use HAVE_GETRLIMIT
|
|
- removed test of USG being defined
|
|
|
|
siglist.h
|
|
- changed to use SYS_SIGLIST_DECLARED, HAVE_UNDER_SYS_SIGLIST, and
|
|
HAVE_STRSIGNAL
|
|
|
|
print_cmd.c
|
|
- use PRINTF_DECLARED
|
|
|
|
builtins/command.def
|
|
- use HAVE_CONFSTR along with _CS_PATH to get the standard path
|
|
|
|
execute_cmd.c
|
|
- only compile in execute_shell_script if HAVE_HASH_BANG_EXEC is not
|
|
defined
|
|
|
|
nojobs.c
|
|
- use HAVE_SIGINTERRUPT, HAVE_KILLPG, HAVE_POSIX_SIGNALS,
|
|
MUST_REINSTALL_SIGHANDLERS, HAVE_WAITPID, *_TTY_DRIVER defines
|
|
|
|
test.c
|
|
- set up a new `getmaxgroups' define, moving the code out of inline
|
|
- eliminate use of GETGROUPS_T
|
|
|
|
variables.c
|
|
- use CAN_REDEFINE_GETENV
|
|
|
|
sig.c, sig.h
|
|
- use HAVE_POSIX_SIGNALS, MUST_REINSTALL_SIGHANDLERS
|
|
|
|
pathnames.h
|
|
- removed the default mail directory defines; now set by autoconf
|
|
|
|
oslib.c
|
|
- new file, functions from general.c that are unix-version variable
|
|
|
|
general.h
|
|
- slightly changed function declarations for use by oslib.c
|
|
|
|
support/bashbug.sh
|
|
- changed @xxx@ to !xxx! for sed substitutions to avoid conflicts
|
|
with autoconf substitutions in the Makefile
|
|
- added MACHTYPE variable
|
|
|
|
mailcheck.c
|
|
- changed DEFAULT_MAIL_PATH to DEFAULT_MAIL_DIRECTORY, since that
|
|
more clearly defines its function
|
|
|
|
lib/readline/rltty.h
|
|
- new file, to include the correct tty driver #include file
|
|
|
|
lib/readline/rltty.c
|
|
- include rltty.h
|
|
|
|
lib/malloc/malloc.c
|
|
- make systems with Posix signals block all signals while malloc
|
|
is executing
|
|
|
|
3/29
|
|
----
|
|
input.c
|
|
- use off_t as the type of a seek offset, rather that int or long
|
|
|
|
variables.c, oslib.c
|
|
- moved `getenv' from variables.c to oslib.c
|
|
|
|
3/31
|
|
----
|
|
sig.c, sig.h
|
|
- new function, jump_to_top_level, which just calls longjmp with
|
|
top_level as an argument -- here to isolate calls to longjmp
|
|
|
|
subst.c
|
|
- replaced calls to longjmp with jump_to_top_level
|
|
|
|
bashjmp.h
|
|
- new file with setjmp/longjmp defines and declarations
|
|
|
|
shell.h, nojobs.c
|
|
- include bashjmp.h in place of setjmp.h
|
|
|
|
shell.c, sig.c, execute_cmd.c, unwind_prot.h, expr.c,
|
|
builtins/{return,source}.def
|
|
- change to use new defs in bashjmp.h
|
|
|
|
subst.c
|
|
- make sure PAT and REP in pattern substitution are run through
|
|
expand_string_unsplit
|
|
|
|
builtins/set.def
|
|
- don't try to blindly dereference the value returned by
|
|
find_flags in set_shellopts
|
|
|
|
4/2
|
|
---
|
|
aclocal.m4, config.h.in, config.h.top, config.h.bot, configure.in,
|
|
support/install.sh, support/config.guess, support/config.sub
|
|
- new files for (now official) autoconf-based configuration
|
|
|
|
Makefile.in, builtins/Makefile.in,
|
|
lib/{doc-support,malloc,glob,termcap,tilde,readline}/Makefile.in
|
|
- new Makefiles for autoconf
|
|
|
|
[additionally, all source files now include config.h]
|
|
|
|
4/3
|
|
---
|
|
array.c, array.h
|
|
- index_t --> arrayind_t, because some systems define index_t in
|
|
<sys/types.h>
|
|
|
|
4/4
|
|
---
|
|
aclocal.m4
|
|
- fix test for broken dup2
|
|
|
|
lib/*/Makefile.in
|
|
- make all object files depend on $(BUILD_DIR)/config.h
|
|
|
|
4/5
|
|
---
|
|
array.c
|
|
- fixed problems in empty_array: need to reset max_index
|
|
and max_size, and remove the links in the element chain
|
|
after freeing them
|
|
|
|
jobs.c
|
|
- new functions to save an array of status values for each
|
|
foreground job that exits (degenerate case is to have a
|
|
single-process job exit and have a 1-element array)
|
|
- new function to set a shell array variable `PIPESTATUS'
|
|
which holds the status values from each member of the
|
|
last-executed pipeline that spawned children
|
|
|
|
documentation/bash.1
|
|
- documented $PIPESTATUS
|
|
|
|
4/6
|
|
---
|
|
configure.in
|
|
- added new --with-afs argument to #define AFS for execute_cmd.c
|
|
|
|
4/10
|
|
----
|
|
builtins/ulimit.def
|
|
- use sysconf(_SC_CHILD_MAX) to find the maximum number of child
|
|
proceeses per user if HAVE_SYSCONF and _SC_CHILD_MAX are both
|
|
defined and RLIMIT_NPROC is not
|
|
|
|
4/12
|
|
----
|
|
lib/readline/undo.c
|
|
- new variable, local to library, to keep track of the number of
|
|
`open' undo groups (UNDO_BEGIN without corresponding UNDO_END)
|
|
- new function _rl_fix_last_undo_of_type to modify start and end
|
|
bounds of last undo record of a specified type
|
|
|
|
lib/readline/vi_mode.c
|
|
- _rl_vi_done_inserting now calls rl_end_undo_group if the count
|
|
of unclosed groups is > 0
|
|
- fixed rl_vi_change_to to save an undo record when redoing and
|
|
to fix the buffer corruption when doing `u' undo after a `.'
|
|
redo of `C'
|
|
|
|
4/13
|
|
----
|
|
unwind_prot.h
|
|
- changed to use a union { char *s; int i; } when unwind-protecting
|
|
integers to force correct alignment on machines where ints and
|
|
pointers differ in size
|
|
|
|
lib/readline/readline.c
|
|
- new variable Keymap rl_executing_keymap, which is set to the
|
|
keymap the last function was invoked out of
|
|
|
|
lib/readline/bind.c
|
|
- new variable Keymap rl_binding_keymap, which is set to the last
|
|
keymap a function and key sequence were bound in
|
|
|
|
4/17
|
|
----
|
|
general.c
|
|
- removed xmalloc, xrealloc, xfree to xmalloc.c
|
|
|
|
lib/malloc/Makefile.in
|
|
- MALLOC and ALLOCA are both set by autoconf
|
|
- need to provide some empty stub file to make up the library
|
|
in case neither malloc.c and alloca.c are compiled into the
|
|
shell
|
|
|
|
lib/malloc/gmalloc.c
|
|
- new file, GNU libc malloc code
|
|
|
|
Makefile.in
|
|
- new source file, xmalloc.c, new object file, xmalloc.o
|
|
|
|
general.h
|
|
- changed type of size argument to xmalloc, xrealloc to `size_t'
|
|
|
|
configure.in
|
|
- changes for new argument `--with-glibc-malloc' that includes
|
|
gmalloc.o in libmalloc.a
|
|
|
|
4/18
|
|
----
|
|
xmalloc.c
|
|
- if malloc or realloc return null, report in the error message
|
|
how many bytes have been allocated
|
|
|
|
lib/readline/display.c
|
|
- changed redisplay code to use an array of positions in the visible
|
|
and invisible lines at which to break lines instead of simply
|
|
calculating based on the screenwidth and number of invisible
|
|
characters. In the future, this will allow newlines embedded in
|
|
the lines to display to be handled better
|
|
|
|
[Bash-1.14.4 released to net]
|
|
|
|
4/19
|
|
----
|
|
lib/readline/signals.c
|
|
- changed last call to signal() to call rl_set_sighandler()
|
|
|
|
4/20
|
|
----
|
|
lib/readline/display.c
|
|
- changed some ascii-specific code to use CTRL_CHAR and UNCTRL
|
|
- finished up the changes that keep an array of line breaks
|
|
|
|
shell.h
|
|
- moved #define constants for parameter pattern substitution here
|
|
from subst.c
|
|
|
|
subst.c
|
|
- changed the pattern substitution functions to take a `flags'
|
|
parameter, which subsumes the match type, global replacement
|
|
flag, and quoted variables
|
|
- changed the pattern substitution functions to handle the `#'
|
|
and `%' match qualifiers, which anchor the match at the
|
|
beginning and end of the string, respectively
|
|
|
|
shell.c
|
|
- moved the code that turns off privileged mode into a function
|
|
named `disable_priv_mode'
|
|
- if the shell is running setuid or setgid and `-p' is not
|
|
supplied, turn off privileged mode and reset the effective
|
|
uid/gid
|
|
|
|
4/21
|
|
----
|
|
subst.c
|
|
- added a `quoted' paramter to parameter_brace_remove_pattern;
|
|
Posix.2 says that the pattern is parsed differently if the
|
|
entire expression is double-quoted
|
|
- `getpattern' now takes a second argument, `quoted'
|
|
- fixed `getpattern' to correctly handles a pattern spec when
|
|
the whole expression is double-quoted. Posix.2 says that
|
|
quote characters inside the pattern spec don't quote any
|
|
special pattern chars if the whole thing is double-quoted.
|
|
For example, the `*' in "${foo#'*'}" is not quoted, and the
|
|
single quotes must appear literally.
|
|
|
|
Makefile.in
|
|
- add `documentation' as a dependency of `.made'
|
|
|
|
4/24
|
|
----
|
|
Makefile.in
|
|
- added `installdirs' target that makes bindir, infodir, mandir,
|
|
and man3dir [in 1.14.5 cpp-Makefile]
|
|
|
|
4/25
|
|
----
|
|
builtins/fc.def
|
|
- fixed problem with `fc -l' that occurred when fewer than 16 lines
|
|
were in the history list [in 1.14.5]
|
|
|
|
5/1
|
|
---
|
|
Makefile.in, {builtins,documentation}/Makefile.in, lib/*/Makefile.in
|
|
- fixed up the various `clean' targets to agree with Gnu coding
|
|
standards
|
|
|
|
5/2
|
|
---
|
|
lib/readline/complete.c
|
|
- made insert_all_matches correctly quote each of the filenames
|
|
inserted into the line, if necessary
|
|
|
|
config.h.top
|
|
- surround definitions of DEFAULT_PATH_VALUE and STANDARD_UTILS_PATH
|
|
with #ifndef/#endif to allow them to be overridden from the command
|
|
line
|
|
|
|
builtins/set.def
|
|
- changed set -o allenv to set -o keyword for ksh88 compatibility
|
|
|
|
documentation/{bash.1,features.texi}
|
|
- changed set -o allenv to set -o keyword
|
|
|
|
builtins/setattr.def
|
|
- added a `nodefs' attribute to set_or_show_attributes,
|
|
show_var_attributes, and show_name_attributes to inhibit printing
|
|
of definition as well as name
|
|
|
|
builtins/declare.def
|
|
- changed calls to set_or_show_attributes, and show_var_attributes
|
|
accordingly
|
|
|
|
5/3
|
|
---
|
|
Makefile.in
|
|
- LIBPATH -> LIBSUBDIR
|
|
|
|
5/4
|
|
---
|
|
lib/readline/bind.c
|
|
- renamed readline variable meta-flag to be input-meta
|
|
|
|
documentation/bash.1, lib/readline/doc/rluser.texinfo
|
|
- changed meta-flag to input-meta
|
|
|
|
documentation/Makefile.in
|
|
- use groff -Tascii to convert .1 -> .0
|
|
|
|
subst.c
|
|
- new function, strip_trailing_ifs_whitespace, does the obvious
|
|
|
|
builtins/read.def
|
|
- call strip_trailing_ifs_whitespace before assigning last
|
|
variable to remainder of input string [in 1.14.5]
|
|
|
|
5/5
|
|
---
|
|
builtins/hashcom.h
|
|
- changed check_dot member of the PATH_DATA struct to flags, and
|
|
added a HASH_CHKDOT define to replace the check_dot semantics
|
|
- add HASH_RELPATH define for flags value
|
|
|
|
builtins/hash.def, builtins/common.c
|
|
- instead of xxx->check_dot, use (xxx->flags & HASH_CHKDOT)
|
|
|
|
builtins/hash.def
|
|
- if the full pathname to which a command is being hashed does
|
|
not begin with a `/', set the HASH_RELPATH flag for it
|
|
|
|
builtins/common.c
|
|
- if a hashed filename as HASH_RELPATH set, check ./filename,
|
|
returning null if that filename is not executable
|
|
|
|
execute_cmd.c, general.c, execute_cmd.h, general.h
|
|
- moved same_file and check_binary_file from execute_cmd.c to
|
|
general.c
|
|
|
|
hashlib.c, Makefile.in
|
|
- renamed hash.c to hashlib.c
|
|
|
|
hashlib.h, Makefile.in, builtins/Makefile.in, alias.h, variables.h,
|
|
execute_cmd.c, hashlib.c, builtins/hashcom.h
|
|
- renamed hash.h to hashlib.h
|
|
|
|
variables.c, alias.c
|
|
- removed inclusion of `hash.h'; header files already include
|
|
correct file
|
|
|
|
Makefile.in
|
|
- new rule to remake all the Makefiles (`make Makefiles')
|
|
- more changes to adhere to GNU coding standards for the various
|
|
flavors of `clean' targets
|
|
|
|
5/8
|
|
---
|
|
documentation/Makefile.in
|
|
- use `texi2dvi' to make dvi files rather than tex and texindex
|
|
[in 1.14.5]
|
|
- don't install `bash_builtins.1' [in 1.14.5]
|
|
|
|
Makefile.in
|
|
- removed instances of doc-support/texindex
|
|
|
|
5/9
|
|
---
|
|
make_cmd.c
|
|
- new function make_bare_word, to make a WORD_DESC from a string but
|
|
not to set any of its flags
|
|
- broke make_word into make_bare_word and make_word_flags
|
|
- fixed a bug in make_word_flags to make backslash-quoting a quoting
|
|
character work right to not set the W_QUOTED flags
|
|
|
|
subst.c, array.c, execute_cmd.c
|
|
- call make_bare_word instead of make_word in situations where we
|
|
don't want the flags set inadvertently
|
|
|
|
5/11
|
|
----
|
|
subst.c
|
|
- removed special handling of $POSIX_PEDANTIC
|
|
|
|
5/12
|
|
----
|
|
shell.c
|
|
- broke the code that fetches the uids and gids into a new
|
|
function, uidget()
|
|
|
|
subst.c
|
|
- EUID and UID are no longer handled specially, since they're
|
|
readonly
|
|
- removed sv_uids function
|
|
- merge sv_histfilesize into sv_histsize
|
|
|
|
variables.c
|
|
- instead of calling sv_uids from initialize_shell_variables,
|
|
call uidset() instead
|
|
- sv_uids -> uidset with mods to make it faster and avoid an
|
|
extra call to free, malloc, and itos
|
|
|
|
bashhist.c
|
|
- call sv_histsize instead of sv_histfilesize
|
|
|
|
5/13
|
|
----
|
|
pathexp.c
|
|
- moved setup_ignore_patterns here from bashline.c, so GLOBIGNORE
|
|
works even when readline is compiled out of the shell
|
|
- changed the ignore data structure to a `struct ignorevar',
|
|
defined in pathexp.h
|
|
- added functions to implement GLOBIGNORE
|
|
|
|
bashline.c
|
|
- setup_ignore_patterns now in pathexp.c
|
|
- renamed _ignore_names to ignore_completion_names
|
|
|
|
subst.c
|
|
- new function sv_globignore to be called when GLOBIGNORE changes
|
|
value
|
|
|
|
documentation/{bash.1,features.texi}
|
|
- documented GLOBIGNORE
|
|
|
|
5/15
|
|
----
|
|
documentation/texinfo.tex
|
|
- upgraded to version 2.145 from autoconf-2.3 distribution
|
|
|
|
5/16
|
|
----
|
|
lib/readline/display.c
|
|
- delicate surgery on rl_redisplay, update_line, and _rl_update_final
|
|
to convert to using the line breaks array instead of assuming that
|
|
lines wrap because they're too long and using absolute buffer
|
|
positioning calculated from the screen width. Now the `lithist'
|
|
shopt option works right
|
|
|
|
lib/readline/complete.c
|
|
- make sure insert_match doesn't double an opening quote character
|
|
after make_quoted_replacement adds an opening quote [in 1.14.5]
|
|
- make sure append_match doesn't double a closing quote character
|
|
[in 1.14.5]
|
|
|
|
quit.h
|
|
- new macros: SETINTERRUPT, CLRINTERRUPT, ADDINTERRUPT, DELINTERRUPT
|
|
to manipulate the value of interrupt_state
|
|
|
|
trap.c, sig.c, jobs.c
|
|
- changes to use the new macros from quit.h
|
|
|
|
jobs.c
|
|
- make an a job that exits due to SIGINT make the shell act as if
|
|
it received the interrupt itself, but only if SIGINT is not
|
|
trapped [in 1.14.5]
|
|
|
|
5/18
|
|
----
|
|
builtins/common.c
|
|
- fix up find_hashed_filename and the HASH_RELPATH code. still need
|
|
to use `shopt -s checkhash' to check the hashed pathnames. could
|
|
fix this up more to make that unnecessary in the HASH_RELPATH case
|
|
|
|
subst.c
|
|
- new function get_array_value that does array subscripting for
|
|
things like aa[1], for use by other parts of the shell like the
|
|
expression evaluator
|
|
|
|
expr.c
|
|
- changes to make things like $(( aa[1] + aa[2])) work without
|
|
using ${aa[1]}
|
|
|
|
bashhist.c
|
|
- converted the HISTIGNORE code to use the `struct ignorevar'
|
|
framework, with a callback function histignore_item_func to
|
|
set the HIGN_EXPAND flag if needed
|
|
|
|
pathexp.c
|
|
- made the `globignore' variable static
|
|
- redid the code that removes ignored names from the `names' array
|
|
in ignore_globbed_names to make it more efficient
|
|
|
|
bashline.c
|
|
- made the `fignore' variable static
|
|
|
|
5/20
|
|
----
|
|
Makefile.in
|
|
- made the `distclean' target remove the Makefiles in subdirectories
|
|
created by autoconf
|
|
|
|
5/22
|
|
----
|
|
builtins/command.def
|
|
- don't allow `command -p' if the shell is restricted
|
|
|
|
documentation/bash.1
|
|
- documented the restriction on command -p for rbash
|
|
|
|
5/23
|
|
----
|
|
aclocal.m4
|
|
- add a new macro BASH_CHECK_TYPE, based on AC_CHECK_TYPE, that
|
|
allows the caller to specify the header files to be included
|
|
in the test program and provides for a default value to be
|
|
defined if the type is found in the system files
|
|
|
|
configure.in
|
|
- check for getrusage and gettimeofday functions/syscalls
|
|
- use BASH_CHECK_TYPE to check for clock_t in sys/types.h and
|
|
sys/times.h
|
|
- use BASH_CHECK_TYPE to check for sigset_t instead of a special
|
|
BASH_TYPE_SIGSET_T
|
|
- use BASH_CHECK_TYPE to check for quad_t instead of BASH_QUAD_T
|
|
- new argument --enable-command-timing to compile in the `time'
|
|
reserved word and command timing
|
|
|
|
general.c
|
|
- print_time_in_hz takes a `clock_t', not a `time_t'
|
|
|
|
execute_cmd.c
|
|
- support for timing pipelines with a new function time_command
|
|
- execute_command_internal calls time_command if it is passed a
|
|
command with the CMD_TIME_PIPELINE bit set in command->flags
|
|
- new functions difftimeval and addtimeval to do arithmetic on
|
|
timeval structs with overflow
|
|
|
|
parse.y
|
|
- new production: pipeline_command, used by list1 and simple_list1
|
|
- pipeline_command includes rules to handle `!' and time
|
|
- code to recognize `time' as a reserved word
|
|
|
|
print_cmd.c
|
|
- new code to print `time ' before a command if the CMD_TIME_PIPELINE
|
|
flag bit is turned on
|
|
|
|
builtins/test.def
|
|
- added description of string1 < string2 and string1 > string2 to
|
|
the long doc
|
|
|
|
test.c
|
|
- added `<' and `>' string binary operators
|
|
|
|
documentation/bash.1
|
|
- documented the `time' reserved word and command timing
|
|
- documented the new test `<' and `>' binary operators
|
|
|
|
documentation/features.texi
|
|
- documented the `time' reserved word and command timing
|
|
- added more to the section detailing the differences between bash
|
|
and sh
|
|
- added descriptions of LINENO and ENV to the Ksh variables section
|
|
- added description of echo to bash builtins section
|
|
- added PPID, BASH, SHLVL to the Bash variables section
|
|
|
|
subst.c
|
|
- added a `quoted' parameter to extract_dollar_brace_string; changed
|
|
all calls to it
|
|
|
|
5/24
|
|
----
|
|
builtins/let.def
|
|
- wrote code for an `exp' builtin that treats all of its arguments
|
|
as an expression, concatenates them like `eval', and runs the
|
|
expression evaluator
|
|
|
|
expr.c
|
|
- added code to do the Posix.2 conditional operator: expr?expr:expr
|
|
- added a `noeval' flag to suppress evaluation. currently it only
|
|
suppresses assignment
|
|
- added code to the && and || functions so that evaluation is
|
|
suppressed in the part of the statement that is not supposed to
|
|
be executed (a && b: set noeval if a is false; a || b; set
|
|
noeval if a is true)
|
|
|
|
5/25
|
|
----
|
|
documentation/{bash.1,features.texi}
|
|
- documented new `expr?expr:expr' conditional expression syntax
|
|
now arithmetic evaluation is Posix.2-conformant
|
|
|
|
lib/readline/readline.c
|
|
- added several more locale names to the list of legal $LANG
|
|
values
|
|
|
|
subst.c
|
|
- fixed a bug in parameter_brace_patsub: when replacing a string
|
|
with nothing, rep was set to "", and the code attempted to
|
|
free "", which the GNU malloc upchucked on
|
|
|
|
bashhist.c
|
|
- just add a line to the history if command_oriented_history is
|
|
set to 1 and the current line in the command is > 1; don't
|
|
even bother checking history_ignore
|
|
|
|
parse.y
|
|
- new variable `two_tokens_ago' to remember the token read before
|
|
`token_before_that'
|
|
- fix to history_delimiting_chars to make sure that no semicolon
|
|
is added after `()' (assume its a function definition), but that
|
|
a semicolon is added after other `)' (assume its a parenthesized
|
|
command)
|
|
|
|
5/31
|
|
----
|
|
tests/run-all
|
|
- put `.' first in $PATH and don't export ENV
|
|
- set THIS_SH to ../bash if it's unset
|
|
|
|
lib/readline/complete.c
|
|
- only try to find a word break character in rl_complete_internal
|
|
if we hit the end of the input string and found_quote == 0
|
|
(the opening quote could have been the last character in the
|
|
string)
|
|
|
|
6/2
|
|
---
|
|
subst.c
|
|
- changed make_quoted_char to return CTLNUL\0 if passed a \0
|
|
(this is what quote_string does, too) [in 1.14.5]
|
|
- changed list_string to use make_quoted_char when adding a quoted
|
|
null argument due to a null field when ifs != ' \t\n'
|
|
- added an `expandpat' argument to getpattern, which tells it to
|
|
call string_extract_double_quoted if the pattern expression is
|
|
double-quoted, and changed all calls to initially pass `1' as
|
|
its value
|
|
|
|
jobs.c
|
|
- changed start_job so that an attempt to start a job marked as
|
|
JDEAD elicits an error message [in 1.14.5]
|
|
|
|
Makefile.in
|
|
- fixed `distclean' target so that it removes Makefiles in subdirs
|
|
*after* descending into them to do submakes (!)
|
|
- fixed `realclean' target to remove everything that distclean does
|
|
|
|
6/5
|
|
---
|
|
builtins/declare.def
|
|
- fixed a typo that made `declare +r var' turn off read-only status
|
|
for a variable [in 1.14.5]
|
|
- added -p option to short doc and long doc
|
|
- added code to allow `declare -f -options name' to set and unset
|
|
attributes for the named functions. Only when no other options
|
|
are supplied will the named and value of the function be displayed
|
|
[in 1.14.5]
|
|
|
|
variables.h
|
|
- new SETVARATTR macro to set or unset attributes for a specific
|
|
SHELL_VAR *
|
|
|
|
builtins/setattr.def
|
|
- use SETVARATTR
|
|
|
|
6/7
|
|
---
|
|
execute_cmd.c
|
|
- moved the retrieval of $PS3 inside the loop in execute_select_command
|
|
so that PS3 can be modified in the select command's body
|
|
[in 1.14.5]
|
|
|
|
execute_cmd.c
|
|
- changed execute_builtin and execute_function to not set
|
|
builtin_env and function_env, respectively, to NULL if there is
|
|
no temporary env. This makes the temp env persist across calls
|
|
to functions from other functions [in 1.14.5]
|
|
|
|
configure.in
|
|
- Linux needs LOCAL_LDFLAGS set to -rdynamic
|
|
|
|
6/8
|
|
---
|
|
general.c
|
|
- canonicalize_pathname should not attempt to interpret backslash
|
|
quoting `/', since Unix doesn't really allow it [in 1.14.5]
|
|
|
|
bashline.c
|
|
- added `\', `!', and `)' to the list of characters which
|
|
cause filenames to be quoted
|
|
- changed bash_quote_filename to use any of the three shell
|
|
quoting styles based on the value of a variable,
|
|
completion_quoting_style
|
|
- if *qcp is not 0 when passed to bash_quote_filename, adjust the
|
|
type of completion we're doing based on its value (i.e.,
|
|
*qcp == '"' forces double quoting, *qcp == '\'' forces single)
|
|
- bash_quote_filename now leaves the quotes intact in the filename
|
|
it returns. The readline completion code takes care of avoiding
|
|
doubled open quotes
|
|
- if a filename containing a `!' is passed to bash_quote_filename
|
|
without an opening quote character, and we are performing history
|
|
expansion, use single quoting as the quoting style
|
|
|
|
bashhist.c
|
|
- changed bash_history_disable to not call bash_history_reinit(0),
|
|
but do what it needs to directly
|
|
- new function bash_history_enable
|
|
- make history_expansion_inhibited exist only if BANG_HISTORY
|
|
is defined
|
|
|
|
bashhist.h
|
|
- extern declaration for bash_history_enable
|
|
|
|
lib/readline/complete.c
|
|
- make make_quoted_replacement set should_quote to 1 if the quote
|
|
character is `'' as well as if it's `"'
|
|
|
|
test.c
|
|
- added the csh-like `=~' and `!~' pattern-matching binary operators
|
|
which match the string on the lhs against the shell pattern on
|
|
the rhs. PATTERN_MATCHING must be defined for this to work; it is
|
|
undefined and undocumented by default
|
|
|
|
jobs.c
|
|
- broke the code that gets the new window size and sets $LINES and
|
|
$COLUMNS out of sigwinch_sighandler into a new function,
|
|
get_window_size, which sigwinch_sighandler calls
|
|
|
|
6/12
|
|
----
|
|
parse.y
|
|
- new function, pop_expansion, to remove the top string on the
|
|
expanded token stack
|
|
- renamed save_expansion to push_expansion
|
|
|
|
lib/readline/complete.c
|
|
- fixed a bug in find_completion_word that tested found_quote
|
|
instead of quote_char when trying to decide if we have an unclosed
|
|
quoted string [in 1.14.6]
|
|
|
|
6/26
|
|
----
|
|
subst.c
|
|
- fixed expand_word_internal to remove all traces of $*, even if
|
|
it's quoted, if there are no positional parameters and there are
|
|
other characters in the expansion
|
|
|
|
bashline.c
|
|
- don't attempt hostname completion if multiple consecutive `@'
|
|
characters appear
|
|
|
|
6/27
|
|
----
|
|
shell.c
|
|
- initialize top_level early, and exit if a longjmp sends us there
|
|
before we reinitialize
|
|
|
|
subst.c
|
|
- more fixes to expansion of quoted $* when no positional parameters
|
|
- broke the code that assigns a value to an array element (and parses
|
|
the array element reference) into a new function,
|
|
do_array_element_assignment
|
|
|
|
builtins/read.def
|
|
- new function, bind_read_variable, to allow binding simple variables
|
|
and array elements to strings read (uses do_array_element_assignment)
|
|
- changed occurrences of bind_variable to bind_read_variable where
|
|
it matters
|
|
|
|
variables.c
|
|
- tentative change to bind_variable to make x=y the same as x[0]=y
|
|
if x is already an array variable. This works for `read' as well.
|
|
This is what ksh does.
|
|
|
|
6/28
|
|
----
|
|
alias.h
|
|
- added a `flags' member to the ASSOC struct and renamed it to
|
|
`alias_t'
|
|
|
|
alias.c, bashline.c, builtins/alias.def, builtins/type.def
|
|
- changed ASSOC to alias_t
|
|
|
|
alias.c
|
|
- changed add_alias to set the AL_EXPANDNEXT flag when the alias is
|
|
inserted into the hash table
|
|
|
|
parse.y
|
|
- added a third parameter to push_string: a pointer to the alias_t
|
|
that is being expanded
|
|
- push_string marks the alias it's passed as being expanded
|
|
(AL_BEINGEXPANDED)
|
|
- pop_string marks the alias being popped as no longer being
|
|
expanded
|
|
- changed shell_getc to defer popping an alias expansion until
|
|
the parser has had a chance to catch up, since the parser reads
|
|
ahead and would cause the expansion to be popped before it
|
|
fully parsed the expanded string
|
|
- changed alias_expand_word to check the AL_BEINGEXPANDED flag
|
|
instead of the expanded_token_stack when checking whether an
|
|
alias is already being expanded
|
|
|
|
oslib.c
|
|
- make the definition of bzero be surrounded by #ifdef HAVE_BZERO
|
|
rather than lumping it in with bcopy
|
|
|
|
configure.in
|
|
- add a test for bzero
|
|
|
|
config.h.in
|
|
- add a template for HAVE_BZERO
|
|
|
|
7/3
|
|
---
|
|
builtins/set.def
|
|
- added new meaning for `set +o' without options, as per the latest
|
|
draft of Posix.2. It means to list -o options as a series of set
|
|
commands to recreate the current settings
|
|
|
|
documentation/bash.1
|
|
- augmented description of the `set' builtin
|
|
|
|
7/6
|
|
---
|
|
jobs.c
|
|
- make sure that temp_handler is not set to SIG_DFL before calling
|
|
it from waitchld
|
|
|
|
builtins/cd.def
|
|
- rewrote cd_builtin to make the code flow clearer
|
|
- broke full directory name construction out into a separate
|
|
function: mkpath
|
|
- cd_builtin now tests that a directory constructed from a $CDPATH
|
|
entry is actually a directory before trying to chdir to it
|
|
- added an error message if $HOME is not set
|
|
- added a descriptive error message if `cd -' used and OLDPWD unset
|
|
- changed the error messages to use builtin_error, not file_error
|
|
- moved the code at the bind_and_exit label into a function,
|
|
bindpwd (no_symlinks)
|
|
- Posix.2 says that when using $CDPATH, the resultant value of PWD
|
|
should have no symlinks
|
|
|
|
7/7
|
|
---
|
|
input.c
|
|
- if fd_to_buffered_stream fails in some way and returns a NULL
|
|
buffered stream, with_input_from_buffered_stream uses a function
|
|
that does nothing but return EOF as the `getter'. This keeps
|
|
the shell from crashing if invoked with fd 0 closed
|
|
|
|
subst.c
|
|
- made the `quoted' parameter to expand_word_internal into a flags
|
|
word with flag values defined in shell.h. Each place where
|
|
`quoted' is tested for a non-zero value was changed to test
|
|
(quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) != 0 instead
|
|
|
|
mailcheck.c, shell.c, parse.y
|
|
- change calls to the expand_string* functions to pass an explicit
|
|
Q_DOUBLE_QUOTES where appropriate
|
|
|
|
7/9
|
|
---
|
|
subst.c
|
|
- getpattern now passes Q_NOQUOTE to expand_word_internal, indicating
|
|
that quotes in the pattern spec are not to be treated specially
|
|
|
|
7/12
|
|
----
|
|
jobs.c
|
|
- fixed up the MUST_UNBLOCK_CHILD code in wait_for so that it now
|
|
unblocks all signals and sets the signal handler for SIGCHLD to
|
|
SIG_DFL. pre-v4 SCO machines seem to require this [in 1.14.5]
|
|
|
|
[Bash-1.14.5 released to net 7/16]
|
|
|
|
7/17
|
|
----
|
|
documentation/features.texi
|
|
- changed the Bourne Shell builtins section to have the same format
|
|
as the bash builtins section, with usage synopses
|
|
- added a section on the restricted shell
|
|
|
|
7/18
|
|
----
|
|
documentation/features.texi
|
|
- changed the name of this document to the Bash Reference Manual
|
|
- added sections on POSIX mode and restricted shell
|
|
|
|
lib/readline/doc/hsuser.texinfo
|
|
- added the text from the bash manual page about the bash history
|
|
facilities if BashFeatures is set
|
|
|
|
7/19
|
|
----
|
|
documentation/features.texi
|
|
- added more stuff to the bash basics section
|
|
|
|
lib/readline/doc/rluser.texinfo
|
|
- added a sample inputrc file
|
|
|
|
7/20
|
|
----
|
|
documentation/features.texi
|
|
- added section on shell expansions to bash basics section
|
|
|
|
builtins/Makefile.in, lib/glob/Makefile.in, lib/malloc/Makefile.in,
|
|
lib/readline/Makefile.in, lib/termcap/Makefile.in, lib/tilde/Makefile.in
|
|
- ar is now called with flags `cr' when building libraries
|
|
|
|
7/21
|
|
----
|
|
lib/readline/complete.c
|
|
- fixed a bug in find_completion_word that resulted in the found_quote
|
|
flag and the delimiter character not being passed back to the
|
|
caller (tested (*fp) instead of (fp) before assigning found_quote;
|
|
similarly for dp). With this fix, the filename dequoting function
|
|
is properly called
|
|
|
|
7/25
|
|
----
|
|
general.c
|
|
- renamed bash_tilde_expand to bash_tilde_expansion_failure_hook
|
|
- new function, bash_tilde_expand, that just sets interrupt_immediately
|
|
and calls tilde_expand, returning what tilde_expand returns
|
|
|
|
subst.c, general.c, shell.c, execute_cmd.c, variables.c, bashline.c,
|
|
builtins/cd.def
|
|
- changed calls to tilde_expand to calls to bash_tilde_expand instead
|
|
|
|
7/27
|
|
----
|
|
builtins/set.def
|
|
- added a -o history option to enable and disable command history
|
|
saving. This uses bash_history_enable() and bash_history_disable()
|
|
It's keyed off of remember_on_history. With this, shell scripts
|
|
can use the command history
|
|
|
|
bashhist.c
|
|
- bash_history_enable now calls sv_history_control and sv_histignore
|
|
|
|
builtins/fc.def
|
|
- if history_list() returns a null pointer, immediately return
|
|
[in 1.14.6]
|
|
|
|
documentation/{bash.1,features.texi}, lib/readline/doc/hsuser.texinfo
|
|
- added a description of the `set -o history' option and changed
|
|
text to refer to it rather than strictly interactive shells
|
|
|
|
8/1
|
|
---
|
|
variables.c
|
|
- new builtin variable $HOSTNAME, initialized to current_host_name
|
|
as set in shell.c
|
|
|
|
documentation/bash.1, documentation/features.texi
|
|
- documented $HOSTNAME
|
|
|
|
8/3
|
|
---
|
|
support/texi2html
|
|
- new program, a texinfo-html converter
|
|
|
|
documentation/Makefile.in
|
|
- added directives to produce features.html from features.texi
|
|
|
|
MANIFEST.doc
|
|
- added features.html and features_toc.html to the doc distribution
|
|
|
|
8/10
|
|
----
|
|
lib/readline/bind.c
|
|
- new functions rl_variable_dumper and rl_dump_variables to print
|
|
readline variables and their values to rl_outstream
|
|
- new functions rl_get_keymap_name and rl_get_keymap_name_from_edit_mode
|
|
to get the name of the current keymap for the variable dumper
|
|
|
|
lib/readline/readline.h
|
|
- extern declarations for rl_variable_dumper, rl_dump_variables, and
|
|
rl_get_keymap_name
|
|
|
|
builtins/bind.def
|
|
- added -V flag to print variable names and bindings
|
|
- added -P flag to print variable names and bindings in the syntax
|
|
of the inputrc file
|
|
|
|
lib/readline/funmap.c
|
|
- added new bindable `dump-variables' readline command
|
|
|
|
documentation/{bash.{1,html},readline.3,features.html},
|
|
lib/readline/doc/rluser.texinfo
|
|
- documented new `dump-variables' readline command
|
|
|
|
documentation/{bash.{1,html},features.{texi,html}
|
|
- documented new bind -P and -V options
|
|
|
|
documentation/bashbug.1
|
|
- new manual page
|
|
|
|
documentation/Makefile.in
|
|
- changes to build and install bashbug.1
|
|
|
|
8/15
|
|
----
|
|
print_cmd.c
|
|
- new function `xprintf' that just calls vfprintf(stdout, ...)
|
|
to avoid having to declare printf
|
|
|
|
parse.y
|
|
- slight change in how read_token_word computes `all_digits'
|
|
|
|
8/21
|
|
----
|
|
|
|
subst.c
|
|
- new function dequote_escapes to remove CTLESC escaping
|
|
CTLESC and CTLNUL in a string, returning a new string
|
|
|
|
8/25
|
|
----
|
|
shell.c
|
|
- execute the file SYS_BASHRC for interactive shells if SYS_BASHRC
|
|
is defined, before executing ~/.bashrc
|
|
|
|
config.h.top
|
|
- add a dummy commented definition for SYS_BASHRC, defaulting to
|
|
/etc/bash.bashrc
|
|
|
|
lib/readline/input.c
|
|
- added code to call select() in rl_gather_tyi() and return
|
|
immediately if it indicates that there is nothing to read on
|
|
the readline input fd (#ifdef HAVE_SELECT)
|
|
|
|
lib/posixheaders/posixdir.h
|
|
- new file to localize the <dirent.h>/<sys/dir.h> and dirent/direct
|
|
mess
|
|
|
|
posixdir.h, lib/readline/posixdir.h
|
|
- symlinks to lib/posixheaders/posixdir.h
|
|
|
|
lib/readline/rldefs.h
|
|
- removed the posix dir includes and defines
|
|
|
|
lib/readline/complete.c, getcwd.c
|
|
- include posixdir.h rather than having the code inline
|
|
|
|
builtins/cd.def
|
|
- new code to do spelling correction on the directory name
|
|
modified from patch sent by Neil Russell (caret@c-side.com)
|
|
|
|
8/29
|
|
----
|
|
builtins/shopt.def
|
|
- new option `cdspell' to toggle cd directory name spelling
|
|
correction
|
|
|
|
documentation/{bash.{1,html},features.texi}
|
|
- documented new shopt `cdspell' option
|
|
|
|
9/5
|
|
---
|
|
subst.c
|
|
- $'' should expand to the same thing as '' (a quoted null string)
|
|
|
|
shell.h
|
|
- changed CTLNUL to '\177'; some scripts use ^B for things like IFS
|
|
[in 1.14.6]
|
|
|
|
9/7
|
|
---
|
|
support/config.guess
|
|
- added code to identify a PPC running Solaris 2
|
|
|
|
doc
|
|
- new directory replacing documentation
|
|
|
|
Makefile.in, MANIFEST, MANIFEST.doc, configure.in
|
|
- replaced `documentation' with `doc'
|
|
|
|
9/8
|
|
---
|
|
lib/readline/display.c
|
|
- fixed the code in _rl_update_final that decides whether or not the
|
|
cursor is at character position 0 on an otherwise-empty line and
|
|
adjusts _rl_vis_botlin accordingly
|
|
|
|
9/13
|
|
----
|
|
general.c
|
|
- fixed canonicalize_pathname to make sure that intermediate
|
|
results correspond to directories before blindly chopping
|
|
off the last component when we see a `..'. This fixes the
|
|
`cd ../.../..' being equivalent to `cd ..' problem
|
|
|
|
subst.c
|
|
- fixed make_named_pipe so that mkfifo is called with mode 0600
|
|
for security reasons [in 1.14.6]
|
|
- changed the /dev/fd version of add_fifo_list to zero out new
|
|
entries to the fifo_list when it resizes it larger [in 1.14.6]
|
|
- changed make_dev_fd_filename to use DEV_FD_PREFIX
|
|
|
|
aclocal.m4
|
|
- changed BASH_HAVE_DEV_FD to check for /proc/self/fd and define
|
|
DEV_FD_PREFIX to either "/dev/fd/" or "/proc/self/fd/" as
|
|
appropriate
|
|
|
|
9/14
|
|
----
|
|
lib/readline/display.c
|
|
- when displaying the first line of a multiline prompt, make sure
|
|
that the final \n is followed by a \r (outputting one if necessary)
|
|
so that we know we are starting at column 0
|
|
|
|
variables.h
|
|
- new attribute: att_local
|
|
|
|
variables.c
|
|
- changed make_local_variable to set the att_local attribute
|
|
- changed makunbound to just make variables marked as `local' in
|
|
the current context invisible. This makes the local variable
|
|
persist throughout the function even if it is unset, so a
|
|
subsequent assignment preserves the `local' attribute
|
|
- changed kill_all_local_variables to unset the att_local attribute
|
|
before calling makunbound
|
|
|
|
9/18
|
|
----
|
|
lib/readline/complete.c
|
|
- make sure the cursor is on the last line of a possibly-multiple-
|
|
line command line before listing the completions in
|
|
display_matches
|
|
|
|
9/19
|
|
----
|
|
braces.c
|
|
- fixed the non-SHELL case in brace_gobbler so the loop exits when
|
|
it should
|
|
|
|
lib/readline/bind.c, lib/readline/readline.h
|
|
- added functions to dump key sequences bound to macros and their
|
|
values
|
|
|
|
builtins/bind.def
|
|
- added -S and -s options to dump the readline macros and their values
|
|
- changed the options so that -p and -P dump functions, -v and -V
|
|
dump variables, and -s and -S dump macros (s for string)
|
|
|
|
doc/{bash.{1,html},readline.3,features.texi}, lib/readline/doc/rluser.texinfo
|
|
- added documentation for the new `bind' options
|
|
- added documentation for the new readline functions to dump macros
|
|
and the key sequences that output them
|
|
|
|
9/22
|
|
----
|
|
print_cmd.c
|
|
- new function xtrace_print_word_list (WORD_LIST *) to print the
|
|
words of a simple command when set -x is on. This prints ''
|
|
when it encounters an empty string
|
|
|
|
externs.h
|
|
- new extern declaration for xtrace_print_word_list
|
|
|
|
execute_cmd.c
|
|
- call xtrace_print_word_list in execute_simple_command
|
|
|
|
9/25
|
|
----
|
|
builtins/getopts.def
|
|
- make sure that the loop counter stops at 10 when stepping through
|
|
the dollar_vars array to count the number of positional parameters
|
|
[in 1.14.6]
|
|
|
|
9/30
|
|
----
|
|
lib/readline/histsearch.c
|
|
- fixed history_search_internal to bail immediately if it gets a
|
|
null or empty search string. This fixes the !? core dumps.
|
|
[in 1.14.6]
|
|
|
|
10/3
|
|
----
|
|
lib/readline/histexpand.c
|
|
- if there is a null string given with a !? search specifier, use
|
|
a previous search string if one exists, else fail immediately
|
|
|
|
trap.c
|
|
- made run_exit_trap preserve $? around the call to execute the
|
|
trap string, unless the trap string contains an `exit'
|
|
command, in which case it can set the shell's exit status
|
|
[in 1.14.6]
|
|
|
|
In other words:
|
|
|
|
touch /tmp/z
|
|
trap 'rm /tmp/z ; exit 5' 0
|
|
exit 1
|
|
|
|
exits with status 5; while
|
|
|
|
touch /tmp/z
|
|
trap 'rm /tmp/z' 0
|
|
exit 1
|
|
|
|
exits with status 1
|
|
|
|
subst.c, parse.y
|
|
- moved the $'...' code from subst.c to parse.y, more like ksh
|
|
does it
|
|
|
|
doc/bash.1, doc/bash.html, doc/features.texi
|
|
- moved the description of $'...' from the expansion section to
|
|
the quoting section
|
|
|
|
10/4
|
|
----
|
|
command.h
|
|
- added a `line' member to the function struct for the source line
|
|
the function definition starts on
|
|
|
|
make_cmd.c
|
|
- initialize the `line' member in Function_def to 0
|
|
- make_function_def takes a third parameter telling which line the
|
|
function definition started on and a fourth telling which line
|
|
the function body started on
|
|
|
|
make_cmd.h
|
|
- changed prototype for make_function_def
|
|
|
|
parse.y
|
|
- new variable `function_dstart', set by read_token and read_token_word
|
|
to keep track of where a function definition begins
|
|
- new variable `function_bstart' to keep track of where function
|
|
body begins
|
|
- pass function_dstart and function_bstart to make_function_def
|
|
- new function strtrans to do the $"..." locale-specific translation
|
|
of `...'
|
|
- call strtrans() to translate $"string". The translated string is
|
|
double-quoted
|
|
|
|
doc/bash.{1,html}
|
|
- updated the description of LINENO now that line numbers within
|
|
functions are correct
|
|
|
|
configure.in
|
|
- look for the `gettext' library function
|
|
|
|
config.h.in
|
|
- define HAVE_GETTEXT if gettext(3) exists in a findable library
|
|
|
|
10/5
|
|
----
|
|
builtins/common.c
|
|
- changed backslash_quote so that `#' is only quoted at the start
|
|
of a word
|
|
- new function contains_shell_metas returns 1 if the argument
|
|
string contains one or more shell meta-characters that require
|
|
quoting
|
|
|
|
builtins/common.h
|
|
- extern declaration for contains_shell_metas
|
|
|
|
print_cmd.c
|
|
- changed xtrace_print_word_list to print words containing
|
|
shell metacharacters within single quotes
|
|
|
|
lib/termcap
|
|
- upgraded to GNU termcap version 1.3
|
|
|
|
10/9
|
|
----
|
|
lib/readline/readline.c
|
|
- call setlocale(LC_CTYPE, ...) after finding a legal value for
|
|
one of LC_ALL, LC_CTYPE, or LANG
|
|
|
|
10/11
|
|
-----
|
|
lib/readline/search.c
|
|
- make rl_history_search_internal just do previous-history or
|
|
next-history as appropriate when given a null search string
|
|
(rl_point == 0)
|
|
|
|
10/24
|
|
-----
|
|
subst.c
|
|
- fixed an off-by-one error in char_is_quoted that skipped a
|
|
characters after calling skip_single_quoted or skip_double_quoted
|
|
[in 1.14.6]
|
|
- fixed an off-by-one error in string_extract_verbatim so it
|
|
leaves *sindex at the separator character if the separator
|
|
character is "'" [in 1.14.6]
|
|
|
|
10/27
|
|
-----
|
|
parse.y
|
|
- in CHECK_FOR_RESERVED_WORD, make sure that reading a `}'
|
|
decrements open_brace_awaiting_satisfaction if it is non-zero
|
|
[in 1.14.6]
|
|
|
|
shell.c
|
|
- don't run the shell startup files if the shell is running
|
|
setuid
|
|
- don't source $ENV if the shell is running setuid
|
|
|
|
variables.c
|
|
- new parameter to initialize_shell_variables: no_functions. If
|
|
non-zero, don't import functions from the environment
|
|
|
|
variables.h
|
|
- change to function prototype for initialize_shell_variables
|
|
|
|
lib/readline/complete.c
|
|
- fix for the code that decides whether or not a char is quoted for
|
|
applications that don't supply a value for rl_char_is_quoted_p
|
|
- fixed insert_match to not remove a user-supplied opening quote
|
|
character if make_quoted_replacement does not return a string
|
|
beginning with that quote character
|
|
|
|
11/2
|
|
----
|
|
general.c
|
|
- new function ungetc_with_restart that handles the local buffering
|
|
[in 1.14.6]
|
|
|
|
parse.y
|
|
- changed yy_stream_unget to call ungetc_with_restart if the OS
|
|
does not have restartable syscalls [in 1.14.6]
|
|
|
|
11/3
|
|
----
|
|
bashline.c
|
|
- rewrote _ignore_completion_names to actually free and remove
|
|
names from the array if more than one names in the array
|
|
passed is acceptable, instead of just bailing [in 1.14.6]
|
|
|
|
11/7
|
|
----
|
|
bashline.c
|
|
- if no matches are acceptable to _ignore_completion_names,
|
|
free the entries in NAMES, set NAMES[0] == 0, and let the
|
|
caller clean up [in 1.14.6]
|
|
- fixed a problem with backslash-quoted characters in
|
|
bash_dequote_filename that caused the character after the
|
|
backslash to be interpreted
|
|
- bash_dequote_filename now takes a quote_char parameter that,
|
|
if non-zero, gives the quote character (`'' or `"') that
|
|
delimits the filename. Used to initialize the quoting state
|
|
|
|
lib/readline/complete.c
|
|
- if the completion ignore function returns with MATCHES == 0
|
|
or MATCHES[0] == 0, ring the bell and quit the completion
|
|
attempt [in 1.14.6]
|
|
- pass quote_char to gen_completion_matches so it can pass it
|
|
along to the app-specific filename dequoting function
|
|
- have gen_completion_matches pass quote_char to whatever function
|
|
is pointed to by rl_filename_dequoting_function
|
|
|
|
pathexp.c
|
|
- rewrote ignore_globbed_names to be more like _ignore_completion_names
|
|
|
|
lib/readline/doc/rltech.texinfo
|
|
- updated documentation for rl_filename_dequoting_function
|
|
|
|
11/10
|
|
-----
|
|
subst.c
|
|
- fixed remove_quoted_nulls so that it is now a full function that
|
|
removes unquoted CTLNUL chars from the string it is passed
|
|
[in 1.14.6]
|
|
- fixed expand_word_internal to avoid generating some unneeded
|
|
quoted nulls (if the string is partially quoted, note that we
|
|
have seen a quoted null and add one if the rest of the string
|
|
doesn't expand to anything)
|
|
|
|
11/13
|
|
-----
|
|
variables.c
|
|
- bind HOSTTYPE, OSTYPE, and HOSTNAME unconditionally
|
|
|
|
pathexp.c
|
|
- new function quote_globbing_chars, adds `\' before globbing
|
|
chars in its string argument, returns new string
|
|
|
|
pathexp.h
|
|
- extern declaration for quote_globbing_chars
|
|
|
|
bashhist.c
|
|
- if the previous line contains globbing chars, run it through
|
|
quote_globbing_chars before trying to match. This affects
|
|
only HISTIGNORE patterns containing `&'
|
|
|
|
11/14
|
|
-----
|
|
bashhist.c
|
|
- if the history line to be added contains globbing chars, quote
|
|
them with backslashes by calling quote_globbing_chars in
|
|
history_should_ignore before comparing them against the
|
|
patterns in HISTIGNORE
|
|
|
|
bashline.c
|
|
- make sure that we erase the current readline line after running
|
|
fc on it and executing the resultant commands in
|
|
vi_edit_and_execute_command, so the original readline line
|
|
doesn't get returned [in 1.14.6]
|
|
|
|
jobs.h
|
|
- added a new job listing format: JLIST_NONINTERACTIVE -- like
|
|
JLIST_LONG, but does not print the job number
|
|
|
|
jobs.c
|
|
- added code to pretty_print_job to handle JLIST_NONINTERACTIVE
|
|
- call notify_and_cleanup() from wait_for even if the shell is
|
|
running a script (interactive_shell == 0)
|
|
- changed notify_and_cleanup to call notify_of_job_status if
|
|
interactive or interactive_shell == 0, so scripts report
|
|
about jobs they run
|
|
- changed notify_of_job_status to call pretty_print_job with a
|
|
JLIST_NONINTERACTIVE format if interactive_shell is 0 and a
|
|
job is marked JDEAD, after printing the script name and line
|
|
number. This message is printed only if the job dies due to
|
|
a fatal signal
|
|
|
|
support/mkversion.c
|
|
- added support for a `-status status' argument to set the
|
|
`release status' of the shell (alpha, beta, or release). It
|
|
defines `RELSTATUS' in version.h and changes the definition
|
|
of SCCSVERSION, if present
|
|
|
|
Makefile.in
|
|
- set a RELSTATUS variable that is included when printing the build
|
|
message and passed to mkversion with the -status option
|
|
- make RELSTATUS one of the variables sed sets when it creates
|
|
bashbug from support/bashbug.sh
|
|
|
|
version.c
|
|
- added a `release_status' variable that's set to RELSTATUS if
|
|
it's defined
|
|
|
|
support/bashbug.sh
|
|
- added the `RELSTATUS' variable to the report with heading
|
|
`Release Status'
|
|
- set the bug address to chet@po.cwru.edu if the release status
|
|
is `alpha' or `beta'
|
|
|
|
11/15
|
|
-----
|
|
|
|
shell.c, execute_cmd.c
|
|
- new variable expand_aliases to control alias expansion. For now,
|
|
this is set to the same value as interactive_shell when that is
|
|
set
|
|
|
|
parse.y
|
|
- perform alias expansion if expand_aliases is non-zero rather than
|
|
checking the value of interactive_shell
|
|
|
|
11/16
|
|
-----
|
|
builtins/shopt.def
|
|
- new option `expand_aliases' to control the value of expand_aliases
|
|
|
|
doc/bash.1, doc/bash.html
|
|
- updated the description of `shopt' with the `expand_aliases' option
|
|
|
|
11/28
|
|
-----
|
|
bashline.c
|
|
- if there is only one completion in _ignore_completion_names, see
|
|
if it is acceptable and return right away [in 1.14.6]
|
|
|
|
configure.in
|
|
- change to define WAITPID_BROKEN on SCO 3.2v5
|
|
|
|
12/6
|
|
----
|
|
parse.y
|
|
- call prompt_again in read_token_word if a newline is read in an
|
|
interactive shell and bash_input.type is either st_stdin or
|
|
st_stream
|
|
- remove superfluous call to reset_readline_prompt in yy_readline_get
|
|
|
|
12/7
|
|
----
|
|
parse.y
|
|
- combine delimiters, delimiter_depth, and delimiter_space into a
|
|
single structure of type `struct dstack'
|
|
- replace all references to delimiter* with dstack.delimiter*
|
|
- include parser.h for struct dstack
|
|
- new define pop_delimiter(), analogous to push_delimiter
|
|
- current_delimiter, push_delimiter, and pop_delimiter defines now
|
|
include the delimiter stack struct as the first parameter
|
|
|
|
parser.h
|
|
- now includes definition of struct dstack
|
|
|
|
bashline.c
|
|
- include parser.h for struct dstack
|
|
- refer to dstack.delimiter_depth instead of delimiter_depth
|
|
|
|
12/12
|
|
-----
|
|
execute_cmd.c
|
|
- before doing a longjmp(subshell_top_level,...) when executing a
|
|
shell script without a leading #!, set history_lines_this_session
|
|
to 0 to forget about the history and not save it on an exec
|
|
(we don't free the memory with clear_history(), though -- that
|
|
would slow bash down)
|
|
|
|
12/14
|
|
-----
|
|
jobs.c, nojobs.c
|
|
- cause the sigwinch handling code to be compiled into the shell
|
|
even if READLINE is defined
|
|
- new functions: set_sigwinch_handler and unset_sigwith_handler
|
|
to enable and disable catching of SIGWINCH and adjusting $LINES
|
|
and $COLUMNS
|
|
- changed initialize_job_signals to install a signal handler for
|
|
SIGWINCH with set_sigwinch_handler
|
|
|
|
jobs.h
|
|
- extern declarations for set_sigwinch_handler and
|
|
unset_sigwinch_handler
|
|
|
|
12/20
|
|
-----
|
|
doc/bash.{1,html}, doc/readline.3, lib/readline/doc/rluser.texinfo
|
|
- documented the readline `visible-stats' variable
|
|
|
|
12/21
|
|
-----
|
|
trap.c
|
|
- new global variable `running_trap' incremented and decremented
|
|
around running a trap command in _run_trap_internal
|
|
|
|
execute_cmd.c
|
|
- new variable currently_executing_command, set to the COMMAND *
|
|
currently being processed by execute_command_internal, unless a
|
|
trap command is being run (running_trap != 0)
|
|
- new function executing_line_number, which returns the line number
|
|
of the currently executing command (which may not be the same as
|
|
line_number)
|
|
- don't run the debug trap if it was not set before the current
|
|
simple command was executed, since we don't want to run it after
|
|
the trap command that sets the DEBUG trap
|
|
|
|
variables.c
|
|
- new function assign_lineno, to assign a value to line_number
|
|
when LINENO is set
|
|
- changed get_lineno to call executing_line_number() rather than
|
|
returning line_number
|
|
|
|
parse.y
|
|
- new argument for push_stream telling it whether or not to reset
|
|
line_number to 0
|
|
|
|
builtins/common.c
|
|
- change to parse_and_execute to call push_stream with an argument
|
|
|
|
12/29
|
|
-----
|
|
subst.c
|
|
- set subshell_environment in command_substitute and process_substitute
|
|
for the child process
|
|
|
|
1/2
|
|
---
|
|
trap.c
|
|
- made decode_signal recognize signal names case insensitively
|
|
|
|
shell.c
|
|
- make the shell exit on a longjmp (DISCARD, ...) if
|
|
subshell_environment is non-zero
|
|
|
|
1/16
|
|
----
|
|
lib/readline/histexpand.c
|
|
- let the `!' in ${!xxx} pass through without error
|
|
|
|
shell.c
|
|
- new --help long option
|
|
- new function show_shell_usage() for use by --help
|
|
|
|
1/19
|
|
----
|
|
parse.y
|
|
- changes to shell_getc to make sure that lines consisting of only a
|
|
newline get added to the history correctly when they are part of
|
|
a quoted string
|
|
|
|
1/24
|
|
----
|
|
aclocal.m4, configure.in
|
|
- added a check for -lsocket (and -lnsl) to fix solaris problems
|
|
with isnetconn()
|
|
|
|
shell.c
|
|
- rearranged the code in isnetconn to check for a socket using
|
|
getpeername() first, before any SVR4 or SVR4.2-specific checks
|
|
- added checks for ttys (isatty) and FIFOs (S_ISFIFO) to the
|
|
SVR4/SVR4.2 case of isnetconn()
|
|
|
|
general.h
|
|
- new macro RESIZE_MALLOCED_BUFFER to check and see whether there
|
|
is enough room in a string to add a given number of characters
|
|
and to resize it if there is not
|
|
|
|
1/25
|
|
----
|
|
parse.y, general.c, subst.c, bashhist.c, alias.c, array.c, variables.c
|
|
- use RESIZE_MALLOCED_BUFFER where appropriate
|
|
|
|
1/26
|
|
----
|
|
support/config.{guess,sub}
|
|
- merged in latest changes from GNU master copies
|
|
|
|
1/30
|
|
----
|
|
|
|
jobs.c
|
|
- make sure to freeze the jobs list when calling a trap handler
|
|
for SIGINT
|
|
- added code to waitchld() so that a SIGINT trap handler is called
|
|
if the shell is running a shell script and a SIGINT is received
|
|
while waiting for a foreground job, even if that job does not
|
|
die from the SIGINT
|
|
|
|
jobs.c, nojobs.c
|
|
- make get_tty_state reset $LINES and $COLUMNS after each process
|
|
exits if the variable `check_window_size' is non-zero
|
|
|
|
builtins/shopt.def
|
|
- new variable `checkwinsize', which controls the value of
|
|
check_window_size
|
|
|
|
doc/{bash.{1,html},features.texi}
|
|
- updated description of `shopt' to include `checkwinsize'
|
|
|
|
execute_cmd.c, lib/readline,complete.c
|
|
- some changes from the GNU WIN32 project for the bash port to
|
|
Windows NT and Windows 95
|
|
|
|
bashwait.h
|
|
- new file, with `union wait' defines from jobs.h
|
|
|
|
jobs.h
|
|
- include `bashwait.h' if <sys/wait.h> is not present and
|
|
_POSIX_VERSION is not defined
|
|
- removed define of pid_t for non-Posix systems; now provided by
|
|
autoconf in config.h
|
|
|
|
1/31
|
|
----
|
|
parse.y
|
|
- new temporary delimiter stack, used when decoding prompt strings.
|
|
This is needed so command substitutions in the prompt strings
|
|
(especially PS2) don't screw up the parser's quoting state
|
|
|
|
lib/readline/complete.c
|
|
- new variable for readline library users:
|
|
rl_completion_append_character. The value of this variable is
|
|
the character appended to a completion when it occurs at the
|
|
end of a line. Setting it to '\0' causes nothing to be
|
|
appended.
|
|
|
|
lib/readline/readline.h
|
|
- declaration for rl_completion_append_character
|
|
|
|
lib/readline/doc/rltech.texinfo
|
|
- documented rl_completion_append_character as int variable available
|
|
to library users
|
|
|
|
subst.c
|
|
- new code for maintaining a string array saying which words in the
|
|
output of expand_word_list_internal are the result of globbing
|
|
|
|
variables.c
|
|
- new function put_gnu_argv_flags_into_env (pid, flags_string)
|
|
to put Roland's GNU getopt helper variable into the export_env
|
|
|
|
execute_cmd.c
|
|
- in execute_disk_command, after forking the child, put the GNU
|
|
getopt helper environment variable into the child's export_env
|
|
|
|
unwind_prot.c
|
|
- changed unwind_protect_var and restore_variable to do the
|
|
bcopy of the variable's value if it's shorter than the size of
|
|
an int, as well as if it's longer. This keeps stray data
|
|
from being copied if a short is being unwind-protected
|
|
|
|
unwind_prot.h
|
|
- new define, unwind_protect_short, to protect variables smaller
|
|
than an int
|
|
|
|
jobs.c
|
|
- in the code that handles SIGCHLD traps, call unwind_protect_short
|
|
if that is the size of a pid_t (for last_made_pid)
|
|
|
|
2/5
|
|
---
|
|
Makefile.in
|
|
- only try make distclean in HIST_LIBDIR if Makefile exists -- could
|
|
have already been removed if HIST_LIBDIR is the same as RL_LIBDIR
|
|
|
|
general.c
|
|
- make canonicalize_pathname be more careful about what it checks
|
|
for being a directory name when processing a full pathname
|
|
|
|
Makefile.in, configure.in, doc/Makefile.in
|
|
- small changes to get bash to build better in a directory not the
|
|
source directory
|
|
|
|
2/12
|
|
----
|
|
Makefile.in
|
|
- added `install-strip' target
|
|
|
|
2/14
|
|
----
|
|
doc/bash.{1,html}, doc/features.texi
|
|
- documented the `--verbose' startup option
|
|
|
|
lib/readline/complete.c
|
|
- fix to gen_completion_matches to fix a memory leak
|
|
- fix to rl_complete_internal to fix a memory leak
|
|
|
|
2/15
|
|
----
|
|
bashwait.h
|
|
- changed to use WORDS_BIGENDIAN instead of LITTLE_ENDIAN or
|
|
BIG_ENDIAN
|
|
|
|
configure.in, config.h.in
|
|
- call AC_C_BIGENDIAN, define WORDS_BIGENDIAN
|
|
|
|
Makefile.in
|
|
- remove all references to mkendian.c, mkendian, and bash_endian.h
|
|
- added a `symlinks' target that just runs support/fixlinks
|
|
|
|
MANIFEST
|
|
- mkendian.c is no longer in the distribution
|
|
|
|
2/16
|
|
----
|
|
execute_cmd.c
|
|
- include <sys/times.h> if HAVE_SYS_TIMES_H and HAVE_TIMES are
|
|
defined
|
|
|
|
bashline.c
|
|
- fix to bash_directory_completion_hook to compensate for
|
|
canonicalize_pathname returning NULL
|
|
|
|
variables.c
|
|
- fix to initialize_shell_variables to compensate for
|
|
canonicalize_pathname returning NULL
|
|
|
|
2/22
|
|
----
|
|
tests/test-tests, tests/test.right
|
|
- changes to avoid writing in the source directory -- all temp files
|
|
are created in /tmp
|
|
|
|
[First alpha release at Thu Feb 22 15:59:51 EST 1996]
|
|
|
|
2/23
|
|
----
|
|
lib/readline/rldefs.h
|
|
- work around SVR4.2 bug including <sys/ptem.h> and <termios.h>
|
|
|
|
lib/readline/chardefs.h
|
|
- fix to CTRL_CHAR macro for chars > 128 on systems with signed
|
|
characters
|
|
|
|
builtins/ulimit.def
|
|
- protect more of the RLIMIT_* defines with checks
|
|
- new macro RETINVALID() to set errno and return the correct
|
|
value for an invalid request
|
|
|
|
doc/Makefile.in
|
|
- add a definition for INSTALL, set by autoconf
|
|
|
|
2/26
|
|
----
|
|
support/bashbug.sh
|
|
- if USER is unset, assign it the value of $LOGNAME or `whoami`
|
|
|
|
Makefile.in,{lib/*,doc,builtins}/Makefile.in
|
|
- use `test' instead of `[' to conform to GNU coding standards
|
|
- `incdir' -> `includedir' as per latest GNU coding standards
|
|
|
|
lib/readline/Makefile.in, lib/glob/Makefile.in
|
|
- use $(srcdir)/ instead of $(srcdir) in the CSOURCES variable
|
|
|
|
general.h
|
|
- new define, FS_NODIRS, to not find directory names when searching
|
|
$PATH
|
|
|
|
execute_cmd.c
|
|
- fix to find_in_path_element so it does not return directories
|
|
- executable_file() no longer returns directories as executable
|
|
|
|
2/27
|
|
----
|
|
jobs.h
|
|
- new flag value: J_NOHUP
|
|
|
|
jobs.c
|
|
- new function: nohup_job(job). Sets J_NOHUP flag for specified
|
|
job
|
|
- change hangup_all_jobs so that jobs marked J_NOHUP are not
|
|
sent SIGHUP. If stopped, the job still gets SIGCONT.
|
|
- changed calls to report_error to call internal_error, which will
|
|
not exit the shell
|
|
- changed FIND_CHILD define to call internal_error, restore the
|
|
SIGINT handler, set termination_state to 127 and return, rather
|
|
than aborting the shell
|
|
|
|
builtins/jobs.def
|
|
- new option for disown: `-h'. Marks the specified jobs J_NOHUP.
|
|
|
|
doc/{bash.{1,html},features.texi}
|
|
- added description of `disown -h'
|
|
|
|
jobs.c, nojobs.c
|
|
- include some files needed for struct winsize by SCO
|
|
|
|
lib/readline/input.c
|
|
- added some #ifdefs to avoid including <sys/time.h> on systems
|
|
with select but without <sys/select.h>
|
|
|
|
configure.in
|
|
- check for <stdarg.h>, define HAVE_STDARG_H in config.h if found
|
|
|
|
config.h.bot
|
|
- define USE_VARARGS and either PREFER_STDARG or PREFER_VARARGS
|
|
if one of <stdarg.h> or <varargs.h> is present
|
|
|
|
aclocal.m4
|
|
- moved default mail directory check here from configure.in, macro
|
|
name is BASH_DEFAULT_MAIL_DIR
|
|
- rewrote BASH_CHECK_DEV_FD to cache the value
|
|
- minor fixes from Bruno Haible
|
|
|
|
shell.c
|
|
- no longer includes <varargs.h>
|
|
|
|
builtins/Makefile.in
|
|
- add -I$(topdir)/builtins to list of includes
|
|
|
|
execute_cmd.c, lib/glob/glob.c
|
|
- include memalloc.h for correct alloca definitions
|
|
|
|
error.[ch], print_cmd.c, builtins/common.[ch]
|
|
- changes to include new ANSI-C stdargs code if PREFER_STDARG is
|
|
defined
|
|
|
|
2/28
|
|
----
|
|
aclocal.m4
|
|
- more minor fixes from Andreas Schwab
|
|
|
|
doc/Makefile.in
|
|
- change TEXINPUTS makefile variables to TEXINPUTDIR to avoid
|
|
conflict with shell variable of the same name
|
|
|
|
builtins/pushd.def
|
|
- fix to avoid a bad call to free after a call to
|
|
polite_directory_format does not change its argument string
|
|
|
|
lib/readline/bind.c
|
|
- fixes to _rl_macro_dumper_internal so that it prints whatever
|
|
prefix it's passed, if any
|
|
|
|
2/29
|
|
----
|
|
Makefile.in
|
|
- slight change to the rule for `stamp-h': it should be created by
|
|
running `config.status', not explicitly by the makefile rule
|
|
|
|
builtins/Makefile.in
|
|
- replace `..' in the dependencies with `$(topdir)'
|
|
- replace `.' in the dependencies with `$(srcdir)'
|
|
|
|
3/1
|
|
---
|
|
Makefile.in
|
|
- add a rule to build builtins/builtext.h for the benefit of
|
|
deficient makes like the SunOS one
|
|
|
|
variables.c
|
|
- fix to assign_in_env so that values in the environment are
|
|
properly null-terminated
|
|
|
|
builtins/Makefile.in
|
|
- added dependencies for object files made from .c files in this
|
|
directory: common.o, getopt.o, bashgetopt.o. SunOS /bin/make
|
|
doesn't seem to be able to handle anything else
|
|
|
|
support/mkclone
|
|
- new script to replace clone-bash that works from MANIFEST to link
|
|
only those files contained in a distribution
|
|
|
|
support/mkversion.c
|
|
- change so that it doesn't try to get `.build' from the source
|
|
directory when that's different from the build directory
|
|
|
|
3/4
|
|
---
|
|
bashjmp.h
|
|
- #undef setjmp and longjmp before redefining them as sigsetjmp and
|
|
siglongjmp, respectively
|
|
|
|
bashhist.c
|
|
- fixed an uninitialized variable problem in expand_histignore_pattern
|
|
|
|
builtins/set.def
|
|
- used `on_or_off' where `value' was needed in minus_o_option_commands
|
|
|
|
builtins/common.h
|
|
- added extern declaration for set_var_attribute
|
|
|
|
print_cmd.c
|
|
- include `bashansi.h' instead of just string.h or strings.h
|
|
|
|
builtins/*.def, builtins/common.c
|
|
- include `../bashansi.h' where appropriate
|
|
|
|
parse.y
|
|
- fixed a parenthesization problem in alias_expand_token
|
|
|
|
general.h
|
|
- added extern declaration for `ungetc_with_restart'
|
|
|
|
lib/readline/readline.c
|
|
- renamed LibraryVersion to rl_library_version, made it extern,
|
|
assigned `2.1' to it
|
|
|
|
lib/readline/readline.h
|
|
- extern declaration for `rl_library_version'
|
|
|
|
lib/readline/doc/rltech.texinfo
|
|
- added description of `rl_library_version'
|
|
|
|
lib/glob/glob.c
|
|
- changed call to sprintf in glob_dir_to_array to a couple of
|
|
calls to strcpy, since we keep the length of the first string
|
|
we copy
|
|
|
|
3/7
|
|
---
|
|
aclocal.m4
|
|
- added new macro `BASH_FUNC_LSTAT' to check for lstat on Linux,
|
|
which defines it as an inline function in <sys/stat.h>
|
|
|
|
configure.in
|
|
- call BASH_FUNC_LSTAT if $ac_cv_func_lstat has value `no'
|
|
|
|
3/8
|
|
---
|
|
parse.y
|
|
- changed the occurrences of `list' in the if command productions
|
|
to use `compound_list' instead
|
|
|
|
3/11
|
|
----
|
|
parse.y
|
|
- changed the occurrences of `list' in the while and until command
|
|
productions to use `compound_list'
|
|
|
|
lib/readline/complete.c
|
|
- fix to filename_completion_function -- off-by-one error when
|
|
expand-tilde is enabled and a filename to be completed begins
|
|
with `~/'
|
|
|
|
3/12
|
|
----
|
|
builtins/cd.def
|
|
- made the POSIX.2 behavior of PWD not containing symlinks after
|
|
using $CDPATH part of `posix mode', not default shell behavior
|
|
|
|
lib/readline/display.c
|
|
- fix to update_line to handle update problems when using
|
|
horizontal scroll mode. This is a dumb update solution -- it
|
|
should use a better one
|
|
|
|
3/14
|
|
----
|
|
examples/functions/csh-compat
|
|
- replaced the defintion for `alias' with a better one posted to
|
|
usenet by Mohit Aron <aron@cs.rice.edu>
|
|
|
|
3/15
|
|
----
|
|
jobs.c
|
|
- fix to wait_for_background_pids to keep `wait' from hanging
|
|
|
|
3/19
|
|
----
|
|
lib/readline/input.c
|
|
- new function `_rl_input_available()' returns > 0 if there is
|
|
input available on the readline input file descriptor. Only
|
|
works if select(2) or FIONREAD are available
|
|
|
|
lib/readline/isearch.c
|
|
- slight change to the isearch termination behavior -- ESC still
|
|
terminates the search, but if there is pending input or if input
|
|
arrives within 0.1 seconds (on systems with select(2)) it is
|
|
used as a prefix character with rl_execute_next
|
|
|
|
shell.c
|
|
- the GNU coding standards say to write the output generated by
|
|
the --help command line option to stdout, not stderr
|
|
- show_shell_version now takes an `extended' option that displays
|
|
copyright information if non-zero
|
|
- show_shell_version now prints the value of `MACHTYPE' by default
|
|
- the `--version' option now causes the shell to exit successfully
|
|
after printing the extended version information
|
|
|
|
externs.h
|
|
- changed prototype for show_shell_version
|
|
|
|
shell.c, bashline.c, builtins/help.def
|
|
- changed calls to show_shell_version to add appropriate argument
|
|
|
|
Makefile.in
|
|
- pass a `MACHTYPE' define to the compiler
|
|
|
|
3/22
|
|
----
|
|
general.c
|
|
- changed print_timeval() and print_time_in_hz() to output three
|
|
fractional digits after the decimal point
|
|
|
|
examples/loadables/sleep.c
|
|
- changed to an implementation that will sleep fractional portions
|
|
of seconds if select() is available
|
|
|
|
3/25
|
|
----
|
|
builtins/shopt.def
|
|
- fixes to shopt -o from Andreas Schwab. Use FLAG_ON/FLAG_OFF
|
|
instead of SETOPT/UNSETOPT
|
|
|
|
3/26
|
|
----
|
|
Makefile.in, builtins/Makefile.in
|
|
- use `@includedir@' instead of `@incdir' for autoconf 2.9
|
|
|
|
Makefile.in
|
|
- the `info', `dvi', and `ps' targets do not depend on `texindex'
|
|
- add a `dist' target that just prints a message describing how
|
|
distributions are constructed
|
|
|
|
support/mkdirs
|
|
- replace uses of [...] with `test'
|
|
|
|
3/28
|
|
----
|
|
parse.y
|
|
- fix for a problem with \@ prompt expansion from Tim Mooney
|
|
|
|
jobs.c
|
|
- broke the code that prints a pipeline out into a separate
|
|
function: print_pipeline(). This gets called by
|
|
pretty_print_job and can be used for debugging
|
|
- two new functions to save and restore the_pipeline around calls
|
|
to make_child that you don't want to disturb the current pipeline,
|
|
for example in process substitution
|
|
|
|
subst.c
|
|
- changed process_substitute to call save_pipeline and
|
|
restore_pipeline in the appropriate places
|
|
|
|
3/29
|
|
----
|
|
general.c
|
|
- ansicstr now takes an additional parameter, the length of the
|
|
string to be translated. It's the second paramter.
|
|
|
|
builtins/echo.def
|
|
- changed call to ansicstr to pass strlen(list->word->word)
|
|
|
|
parse.y
|
|
- redid the $'...' expansion so it works like it's supposed to:
|
|
the quoted strings may appear anywhere in a token, and multiple
|
|
ansi-c quoted strings may appear in a token
|
|
- redid the $"..." expansion so it works like it's supposed to
|
|
|
|
tests/nquote.{tests,right}, tests/run-nquote
|
|
- tests for the $'...' and $"..." quoting stuff -- simple-minded
|
|
|
|
subst.c
|
|
- on systems without /dev/fd, open the named pipe for a `reading
|
|
in child' process substitution (>(...)) with O_NONBLOCK
|
|
|
|
lib/posixheaders/filecntl.h
|
|
- add code to make sure the O_NONBLOCK is defined to O_NDELAY if
|
|
it is present and O_NONBLOCK is not defined by <fcntl.h>
|
|
|
|
general.c
|
|
- don't bother handling both O_NONBLOCK and O_NDELAY in
|
|
unset_nodelay_mode, since filecntl.h defines O_NONBLOCK as
|
|
O_NDELAY for non-Posix systems
|
|
|
|
4/1
|
|
---
|
|
lib/readline/funmap.c
|
|
- made `vi-fetch-history' a bindable command name
|
|
|
|
doc/readline.3
|
|
- many cleanups, updated the list of default bindings
|
|
|
|
4/4
|
|
---
|
|
doc/bash.1, doc/readline.3
|
|
- fixed up use of \-; now it is not used unless the text is being
|
|
printed in bold or italic
|
|
|
|
configure.in, config.h.in
|
|
- add a configuration option, --enable-usg-echo-default, to turn
|
|
on DEFAULT_ECHO_TO_USG and make `echo' expand backslash-escaped
|
|
characters by default
|
|
|
|
4/8
|
|
---
|
|
parse.y
|
|
- another small change to localeexpand to handle backslash-escaped
|
|
double quotes in the double-quoted string
|
|
|
|
4/9
|
|
---
|
|
shell.c
|
|
- add the value of MACHTYPE to the text output by `--help'
|
|
|
|
4/11
|
|
----
|
|
parse.y
|
|
- more changes to the $"..." and $'...' code to move it into
|
|
read_token
|
|
- don't try to check token[token_index - 1] unless token_index
|
|
is greater than 0
|
|
|
|
4/12
|
|
----
|
|
trap.c
|
|
- new function run_trap_cleanup to clean up after _run_trap_internal
|
|
in the event that parse_and_execute does not return normally
|
|
(e.g., if a `return' is executed in the trap command)
|
|
- set running_trap to the number of the signal whose trap is being
|
|
run plus one in _run_trap_internal
|
|
|
|
trap.h
|
|
- extern declaration for run_trap_cleanup
|
|
|
|
jobs.c
|
|
- new function `unfreeze_jobs_list' to set freeze_jobs_list back to 0.
|
|
called from parse_and_execute_cleanup so a `return' while running
|
|
an interrupt trap does not leave the jobs list frozen
|
|
|
|
jobs.h
|
|
- new extern declaration for unfreeze_jobs_list
|
|
|
|
builtins/common.c
|
|
- if running_trap is non-zero in parse_and_execute_cleanup, indicating
|
|
that parse_and_execute was running a trap command when it got a
|
|
`return', call run_trap_cleanup (running_trap - 1)
|
|
- parse_and_execute_cleanup now calls unfreeze_jobs_list
|
|
|
|
4/16
|
|
----
|
|
Makefile.in
|
|
- don't try to make `doc' as a dependency of `install'
|
|
|
|
doc/Makefile.in
|
|
- make `info' a dependency of `install' to make sure the info
|
|
document is present and up to date before installing it
|
|
- make the `install' target install the documents with a $(srcdir)/
|
|
prefix in case we're building in another directory
|
|
|
|
lib/glob/glob.c
|
|
- fixed an off-by-one error in glob_dir_to_array
|
|
|
|
shell.c
|
|
- removed an extra increment of arg_index when setting up the
|
|
arguments for -c command
|
|
|
|
4/17
|
|
----
|
|
pathexp.c
|
|
- made quote_globbing_chars backslash-quote backslashes as well as
|
|
`?*[]'; changed it to be a little faster
|
|
|
|
bashhist.c
|
|
- call quote_globbing_chars to quote backslashes in the previous
|
|
history line even if no other globbing chars are present. This
|
|
is done only if we're matching against a HISTIGNORE pattern of `&'
|
|
- don't bother quoting globbing characters in the current history
|
|
line in history_should_ignore -- fnmatch ignores special chars in
|
|
its `string' argument
|
|
|
|
[bash-2.0-alpha2 frozen]
|
|
|
|
4/18
|
|
----
|
|
command.h
|
|
- new flag value for a word: W_NOSPLIT. A word with this bit set
|
|
in its flags will not have word splitting performed
|
|
|
|
parse.y
|
|
- turn on the W_NOSPLIT flags for assignment statements appearing
|
|
where an assignment statement is acceptable (words that would
|
|
return ASSIGNMENT_WORD rather than WORD). This means that, for
|
|
the time being, assignment statement arguments to builtins like
|
|
`declare' or `alias' will be split unless they are quoted
|
|
|
|
subst.c
|
|
- don't split a word in expand_word_internal if the W_NOSPLIT flag
|
|
is set, rather than checking W_ASSIGNMENT; do the same thing in
|
|
expand_word_list_internal
|
|
|
|
builtins.h
|
|
- a new flag, ASSIGNMENT_BUILTIN, indicating that this builtin takes
|
|
assignment statements as arguments
|
|
- rearranged the values of the builtin flags, so the BUILTIN_* flags
|
|
come first, then the *_BUILTIN flags
|
|
|
|
builtins/makebuiltins.c
|
|
- added code for an array of `assignment builtins' -- builtins that
|
|
take assignment statements as arguments -- and to add the
|
|
ASSIGNMENT_BUILTIN flag for those builtins
|
|
|
|
execute_cmd.c
|
|
- added a hack function `fix_assignment_words', which checks the
|
|
first word of a builtin command to see if it is a builtin that
|
|
has the ASSIGNMENT_BUILTIN flag set, and adds W_NOSPLIT to the
|
|
flags for all words with the W_ASSIGNMENT bit set. This means
|
|
that word splitting is not done for any of the assignment
|
|
statements in commands like `declare z=$a'
|
|
|
|
4/19
|
|
----
|
|
execute_cmd.c
|
|
- fixed a memory-freed-twice error in find_in_path_element
|
|
|
|
lib/readline/rltty.c
|
|
- include <sys/ioctl.h> if GWINSZ_IN_SYS_IOCTL is defined and
|
|
SHELL is not defined
|
|
|
|
lib/readline/input.c
|
|
- changed a stray HAVE_FIONREAD to FIONREAD
|
|
- include <sys/ioctl.h> if FIONREAD_IN_SYS_IOCTL is defined
|
|
|
|
aclocal.m4
|
|
- new macro, BASH_HAVE_FIONREAD, to check for a #define of
|
|
FIONREAD in <sys/ioctl.h> or one of the files it includes;
|
|
defines FIONREAD_IN_SYS_IOCTL if present
|
|
|
|
config.h.in
|
|
- new line for FIONREAD_IN_SYS_IOCTL
|
|
|
|
configure.in
|
|
- call BASH_HAVE_FIONREAD
|
|
|
|
4/22
|
|
----
|
|
builtins/cd.def
|
|
- fixed a memory-freed-twice error in mkpath()
|
|
|
|
jobs.c
|
|
- don't print a job termination message for a non-interactive shell
|
|
with startup_state == 2 (those shells are started to run commands
|
|
when bash is invoked with `-c command')
|
|
|
|
4/23
|
|
----
|
|
general.h
|
|
- definition for a `generic pointer' type PTR_T -- `void *' on ANSI
|
|
C systems, `char *' otherwise
|
|
|
|
jobs.h
|
|
- new members of job struct: `j_cleanup', a function to call when the
|
|
job is marked JDEAD, and `cleanarg', argument to pass to j_cleanup
|
|
|
|
jobs.c
|
|
- initialize j_cleanup and cleanarg to NULL in stop_pipeline
|
|
- call j_cleanup from waitchld() when a job is marked JDEAD
|
|
|
|
test.c
|
|
- fixed binop() so it recognizes `<' and `>' as binary operators
|
|
- fixed a bug in binary_operator so `<' works correctly
|
|
|
|
tests/test-tests
|
|
- fixed the tests so they no longer rely on the modes of files in
|
|
the file system to test -u, -g, -r, -x, -w, and so on, except
|
|
for a few `standard' files like /dev/tty and /dev/null
|
|
- added tests for string < string and string > string
|
|
|
|
xmalloc.c
|
|
- include <unistd.h> if HAVE_UNISTD_H is defined for a prototype
|
|
for sbrk
|
|
- add an extern declaration for sbrk if SBRK_DECLARED is not defined
|
|
- use PTR_T to cast the return value of sbrk() when finding out where
|
|
the break is and how many bytes of memory have been allocated
|
|
|
|
lib/malloc/malloc.c
|
|
- added code to write 0xcf into memory as it's freed, to uncover
|
|
callers that try to refer to freed memory, and writes 0xdf into
|
|
newly-allocated memory, to uncover callers that assume something
|
|
about new allocations (e.g., that newmem[0] == 0)
|
|
|
|
lib/malloc/gmalloc.c
|
|
- latest version from GNU sources
|
|
|
|
4/25
|
|
----
|
|
doc/bash.1
|
|
- changed the description of `unset' to include a description of
|
|
the `-v' option
|
|
|
|
parse.y
|
|
- fixed a problem with conversion to 12-hour time in
|
|
decode_prompt_string that made 12:00pm show up as 00:00pm
|
|
|
|
4/26
|
|
----
|
|
builtins/common.c, subst.c
|
|
- a couple of fixes from Andreas Schwab
|
|
|
|
configure.in
|
|
- set up the minimal configuration after checking for
|
|
--enable-minimal-config with AC_ARG_ENABLE, before checking any
|
|
of the other options, instead of after checking all options.
|
|
This makes `--enable-minimal-config --enable-prompt-string-decoding'
|
|
work as documented
|
|
- changed AC_PREREQ to require autoconf version 2.8 or higher
|
|
- added some code to disable gnu malloc by default on the systems
|
|
listed in NOTES
|
|
- set MALLOC_SRC to have the $(ALLOC_LIBSRC)/ prefix to avoid having
|
|
a directory in the dependencies when making without the gnu
|
|
malloc
|
|
|
|
lib/malloc/Makefile.in
|
|
- make gmalloc.o depend on $(BUILD_DIR)/config.h
|
|
|
|
4/30
|
|
----
|
|
COMPAT
|
|
- new file listing user-visible incompatibilites between bash-1.14
|
|
and bash-2.0
|
|
|
|
parse.y
|
|
- new prompt expansions, \v (version) and \V (version + patchlevel)
|
|
|
|
config.h.top
|
|
- the default value of PS1 is now '\s-\v\$ '
|
|
|
|
doc/{bash.{1,html},features.texi}
|
|
- added descriptions of \v and \V prompt expansions
|
|
- changed default value of PS1
|
|
|
|
Makefile.in
|
|
- added dependencies on config.h.top for files that use definitions
|
|
included there
|
|
|
|
builtins/exec.def
|
|
- removed reference to `no_exit_on_failed_exec' from the help text
|
|
|
|
5/3
|
|
---
|
|
builtins/cd.def
|
|
- fixed a typo in fix from 4/22
|
|
|
|
5/7
|
|
---
|
|
builtins/common.c
|
|
- new function `no_options (WORD_LIST *)' to be called by builtins
|
|
that do not take options to check for options and -?. It returns
|
|
0 on success, non-zero if an unwanted option is supplied
|
|
|
|
builtins/common.h
|
|
- extern declaration for no_options
|
|
|
|
builtins/return.def
|
|
- corrected the error message to include returning from a sourced
|
|
script
|
|
|
|
builtins/{getopts,eval,wait,source,fg_bg,help}.def
|
|
- changed the following builtins to either call no_options or test
|
|
explicitly for options and return EX_USAGE if any are found:
|
|
|
|
getopts eval wait source . fg bg help
|
|
|
|
builtins/help.def
|
|
- error messages are now printed using builtin_error
|
|
|
|
5/8
|
|
---
|
|
builtins/jobs.def
|
|
- fixed an unitialized variable problem
|
|
|
|
tests/more-exp.tests
|
|
- added additional tests for IFS problem uncovered by `iffe'
|
|
|
|
5/9
|
|
---
|
|
lib/malloc/Makefile.in
|
|
- use $(ALLOCA_SOURCE) instead of $< in rule that builds alloca.o.
|
|
Some makes don't expand the $< in non-suffix rules
|
|
|
|
lib/readline/rldefs.h
|
|
- fix workaround for SVR4.2 bug
|
|
|
|
shell.c
|
|
- even though SVR4.2 has getpeername(), isnetconn() should not use it
|
|
|
|
maxpath.h
|
|
- rework to make sure PATH_MAX and NAME_MAX are defined, and remove
|
|
the BUILDING_MAKEFILE code
|
|
|
|
general.c, parse.y, oslib.c, jobs.c, builtins/common.c, builtins/cd.def
|
|
- change uses of MAXPATHLEN to PATH_MAX
|
|
|
|
examples/loadables/{{log,base,dir}name,tty,pathchk,tee}.c
|
|
- new loadable builtins:
|
|
|
|
logname basename dirname tty pathchk tee
|
|
|
|
configuure.in, config.h.in
|
|
- look for tzset(3), define HAVE_TZSET if found
|
|
|
|
subst.c
|
|
- new special variable function, sv_tz, which calls tzset when
|
|
TZ is changed, if tzset(3) exists and the shell is compiled
|
|
to do prompt string decoding
|
|
|
|
subst.h
|
|
- extern declaration for sv_tz
|
|
|
|
5/10
|
|
----
|
|
builtins/echo.def
|
|
- only call printf if the string to print is non-null
|
|
- add an fflush(stdout) after the printf call to work around a
|
|
bug in SunOS 5.5
|
|
|
|
5/16
|
|
----
|
|
shell.c
|
|
- moved some variable declarations out of this file to more
|
|
logical places
|
|
|
|
support/config.guess
|
|
- small fixes from rfg@monkeys.com
|
|
|
|
version.c
|
|
- moved functions for getting, setting, and displaying shell version
|
|
information here from shell.c
|
|
|
|
general.c
|
|
- moved set_lines_and_columns to variables.c
|
|
- moved getc_with_restart and ungetc_with_restart to input.c
|
|
- new function argv_to_word_list(), converts an array of strings
|
|
into a WORD_LIST
|
|
- renamed find_name_in_list to find_name_in_array to match rest
|
|
of functions that operate on arrays of strings
|
|
|
|
configure.in, Makefile.in, jobs.c, nojobs.c
|
|
- changes so that jobs.c no longer includes nojobs.c, and the correct
|
|
object file (jobs.o or nojobs.o) is selected by configure
|
|
and substituted into the Makefile
|
|
|
|
list.c
|
|
- new file, list manipulation functions from general.c
|
|
|
|
externs.h, general.h
|
|
- moved extern declarations for functions defined in oslib.c and
|
|
list.c to externs.h from general.h
|
|
|
|
5/17
|
|
----
|
|
locale.c
|
|
- new file, with locale code from parse.y and shell.c
|
|
|
|
shell.c
|
|
- don't turn off job control if act_like_sh is set
|
|
- if an unknown option is supplied at startup or if -c is
|
|
supplied without an argument, exit with EX_USAGE
|
|
- call posix_initialize after parsing all the options, to
|
|
catch `bash -o posix'
|
|
- new functions: init_interactive(), init_noninteractive()
|
|
- exit with EX_NOTFOUND if a script argument is not found
|
|
- exit with EX_NOINPUT if a script file cannot be opened for
|
|
some reason
|
|
|
|
shell.h
|
|
- new define for EX_NOINPUT exit status (126)
|
|
|
|
5/18
|
|
----
|
|
lib/readline/bind.c
|
|
- fixed _rl_get_keyname() so that it properly handles C-\ and outputs
|
|
it as \C-\\ and C-" as \C-\". This fixes the improper binding
|
|
commands written by `bind -p' that caused weird things to happen
|
|
when people used the output of `bind -p' as a start for their
|
|
own inputrc files
|
|
- new function _rl_init_file_error to print error messages encountered
|
|
while parsing the inputrc file
|
|
- print out an error message if parsing an inputrc line and no closing
|
|
double quote is found for a key binding
|
|
|
|
lib/readline/complete.c
|
|
- in rl_complete_internal, if the completion function results in
|
|
multiple matches, but none match up to even the first character,
|
|
use what the user typed in (which is presumably a glob pattern
|
|
that expanded into multiple files) as matches[0]. This makes
|
|
things like show-all-if-ambiguous work right, too
|
|
|
|
oslib.c
|
|
- if we are providing our own version of getenv(), provide a function
|
|
_getenv() as well, which just calls getenv()
|
|
|
|
builtins/ulimit.def
|
|
- #define _KERNEL before including <sys/resource.h> if HPUX is
|
|
defined. This makes the full set of limits available on hpux
|
|
version 8 and above
|
|
|
|
bashline.c
|
|
- new function, enable_hostname_completion, sets up readline to
|
|
perform or not perform hostname completion. Hostname completion
|
|
is on by default.
|
|
- don't attempt hostname completion in attempt_shell_completion()
|
|
unless perform_hostname_completion is set
|
|
|
|
builtins/shopt.def
|
|
- add a `set_func' member to the shopt options structure, to provide
|
|
a hook for those variables that require a little more than just
|
|
toggling a variable on or off
|
|
- new shopt variable `hostcomplete', turns hostname completion on and
|
|
off
|
|
|
|
doc/{bash.{1,html},features.texi}
|
|
- added description of new shopt `hostcomplete' variable
|
|
|
|
5/21
|
|
----
|
|
sig.c
|
|
- don't try to save the shell history in termination_unwind_protect
|
|
if we're dying due to SIGABRT
|
|
|
|
bashhist.c
|
|
- new functions: last_history_entry (static), last_history_line
|
|
|
|
bashhist.h
|
|
- extern declarations for new functions in bashhist.c
|
|
|
|
error.c
|
|
- have programming_error() report the last command in the history
|
|
before aborting
|
|
|
|
builtins/fc.def
|
|
- if the editor returns a non-zero exit status when using `fc -e',
|
|
return immediately without trying to execute the commands, as
|
|
per Posix.2, 5.12.2
|
|
- when using `fc -s', echo the command to be executed to stderr,
|
|
not stdout
|
|
|
|
lib/readline/terminal.c
|
|
- new file, with all code related to termcap/terminfo
|
|
|
|
lib/readline/{readline,rltty,display,util}.c
|
|
- moved functions dealing with termcap to terminal.c
|
|
|
|
lib/readline/readline.c
|
|
- readline_initialize_everything now calls _rl_enable_meta_key()
|
|
to turn on the meta key, based on the value of _rl_enable_meta
|
|
(on by default)
|
|
|
|
lib/readline/rltty.c
|
|
- do not enable and disable the meta key each time readline is
|
|
called; do it once at initialization
|
|
|
|
5/23
|
|
----
|
|
bashhist.c
|
|
- when `hist_verify' is set, call re_edit with the expanded line,
|
|
not the original one, and do not print the results of the
|
|
expansion before re-editing
|
|
|
|
5/24
|
|
----
|
|
support/config.guess
|
|
- recognize linux/sparc
|
|
|
|
configure.in
|
|
- don't use GNU malloc on linux/sparc
|
|
|
|
variables.c
|
|
- initialize a new $MACHTYPE variable to the value of MACHTYPE as
|
|
set by autoconf
|
|
|
|
doc/{bash.{1,html},features.texi}
|
|
- documented $MACHTYPE
|
|
|
|
5/30
|
|
----
|
|
builtins/ulimit.def
|
|
- allow the max vm size to be set via setrlimit() if RLIMIT_VMEM
|
|
is defined
|
|
|
|
5/31
|
|
----
|
|
shell.h
|
|
- changed EX_USAGE to 258, EX_BADUSAGE is now 2
|
|
- added a number of execution failure statuses, so that builtins
|
|
can indicate various failures. All are greater than 256, so
|
|
they cannot be returned by other utilities
|
|
|
|
execute_cmd.c
|
|
- new function, builtin_status(), to translate the new return
|
|
status codes to something the shell can export
|
|
- changed execute_simple_command to call builtin_status after
|
|
execute_builtin_or_function to translate error codes if a
|
|
builtin is invoked. If a function or regular builtin is
|
|
invoked, all return values greater than EX_SHERRBASE get
|
|
translated to EXECUTION_FAILURE, with the exception that
|
|
EX_USAGE gets translated to EX_BADUSAGE. If a special
|
|
builtin failed with a status > EX_SHERRBASE, special_builtin_failed
|
|
is set to cause the shell to exit in POSIX mode
|
|
- changed execute_builtin_or_function to return EX_REDIRFAIL if
|
|
redirections fail
|
|
- changed execute_subshell_builtin_or_function to translate
|
|
EX_USAGE to EX_BADUSAGE if a builtin is executed
|
|
- set this_command_name to NULL in execute_for_command before binding
|
|
each member of the word list to the loop variable, to avoid
|
|
garbled error messages if the variable has the integer attribute
|
|
|
|
builtins/{set,unset}.def
|
|
- return EX_USAGE instead of EXECUTION_FAILURE if a bad option is
|
|
supplied
|
|
|
|
builtins/source.def
|
|
- return EX_USAGE instead of EXECUTION_FAILURE if the required
|
|
filename argument is missing
|
|
|
|
builtins/setattr.def
|
|
- return EX_BADASSIGN if any assignment statements given as arguments
|
|
to readonly, export, etc. return failures (assignment to
|
|
non-identifier, assignment to readonly variable)
|
|
|
|
builtins/declare.def
|
|
- don't allow `declare var=value' to assign value to a readonly
|
|
variable
|
|
|
|
lib/readline/rldefs.h
|
|
- include <stdarg.h> if we're going to be using stdarg instead of
|
|
varargs
|
|
|
|
lib/readline/display.c
|
|
- added `stdarg' version of rl_message
|
|
|
|
lib/readline/readline.h
|
|
- changed extern declaration for rl_message to be in ANSI-C format
|
|
if __STDC__ is defined and we're using stdarg
|
|
|
|
variables.c
|
|
- make sure this_command_name is set to null before calling
|
|
make_variable_value in assign_array_var_from_string so any
|
|
error messages are not garbled
|
|
|
|
6/2
|
|
---
|
|
builtins/common.c
|
|
- don't execute the command in parse_and_execute if -n has been
|
|
enabled and the shell is not interactive
|
|
- include flags.h for read_but_dont_execute
|
|
|
|
[bash-2.0-alpha3 released]
|
|
|
|
6/5
|
|
---
|
|
subst.c
|
|
- array_length_reference and parameter_brace_expand_length now
|
|
return -1 on errors
|
|
- parameter_brace_expand now returns &expand_param_error if
|
|
paramter_brace_expand_length returns something < 0
|
|
|
|
variables.c
|
|
- assign_in_env now checks for assignments to readonly shell
|
|
variables and disallows them
|
|
|
|
6/6
|
|
---
|
|
xmalloc.c
|
|
- only do pointer arithmetic on pointers cast to (char *), since
|
|
it's not required that compilers support arithmetic on void *
|
|
|
|
shell.c
|
|
- make sure <sys/socket.h> is included with the same conditions
|
|
used to call getpeername(2) in isnetconn()
|
|
|
|
parse.y
|
|
- added a new function, paren_match, to parse the contents of $(...)
|
|
constructs. This function correctly handles embedded quoted
|
|
strings, embedded command substitutions, embedded command
|
|
substitutions with embedded quoted strings, etc. The implementation
|
|
is much closer to that described in POSIX.2, section 3.6.3.
|
|
- changed read_token_word to call paren_match where appropriate
|
|
|
|
subst.c
|
|
- rewrote extract_delimited_string so that it correctly understands
|
|
quoted strings inside command substitutions, a la paren_match
|
|
in parse.y. Corrected the description of the function's output
|
|
in the code. extract_delimited_string is now very recursive, and
|
|
does not try to do everything in one pass without recursion
|
|
|
|
6/7
|
|
---
|
|
test.c
|
|
- fixed three_arguments() to test the second argument for a valid
|
|
binary operator before checking whether or not the first argument
|
|
is `!'. This is what POSIX.2 says to do.
|
|
|
|
lib/malloc/malloc.c
|
|
- don't compile in the memory scrambling code (#define MEMSCRAMBLE)
|
|
if NO_MEMSCRAMBLE is defined.
|
|
|
|
configure.in
|
|
- define NO_MEMSCRAMBLE in LOCAL_CFLAGS for SCO 3.2v[45]
|
|
|
|
6/9
|
|
---
|
|
parse.y
|
|
- renamed paren_match to parse_matched_pair
|
|
- call parse_matched_pair to parse <(...) and >(...) constructs,
|
|
since those should be treated the same as $(...) for the purposes
|
|
of matching parens and skipping embedded quoted strings
|
|
|
|
6/13
|
|
----
|
|
parse.y
|
|
- augmented parse_matched_pair
|
|
o fixed up backslash quoting and CTLESC handling after
|
|
backslashes
|
|
o match pairs of ${...} and $[...] inside double-quoted
|
|
strings or `` strings
|
|
o keep track of line number quoted string starts on for
|
|
better error messages
|
|
o push and pop delimiters when parsing quoted strings
|
|
inside $(...), ${...}, and $[...] for use by the
|
|
history code
|
|
o set EOF_Reached to 1 if we get an EOF before finding the
|
|
match closer
|
|
- rewrote read_token_word from scratch to use parse_matched_pair:
|
|
o shell quote characters use parse_matched_pair to find
|
|
the matching quote
|
|
o fixed up backslash parsing code
|
|
o compound array assignments use parse_matched_pair
|
|
o corrected all_digits and dollar_present computations, so,
|
|
for instance, 2''>/dev/null is no longer accepted as
|
|
identical to 2>/dev/null
|
|
o converted ${...} parsing to use parse_matched_pair
|
|
o removed printing of error messages about unmatched quotes;
|
|
now handled by parse_matched_pair
|
|
o converted $'...' and $"..." to use parse_matched_pair
|
|
o removed all of the delimited_xxx and dollar_xxx variables
|
|
and embedded_quoted_string
|
|
- modified report_syntax_error to regularize error messages:
|
|
o non-interactive shells and interactive shells running
|
|
scripts with `.' now always report line numbers
|
|
o unexpected EOF is always reported when EOF_Reached is true
|
|
o non-interactive shells no longer duplicate the script name
|
|
in error messages (e.g., `./z3: ./z3: line 3: syntax error')
|
|
|
|
bashline.c
|
|
- make sure `newnames' is freed in _ignore_completion_names
|
|
|
|
lib/readline/complete.c
|
|
- don't insert the first match on TAB completion in
|
|
rl_complete_internal() if matches[0] is the empty string --
|
|
that will overwrite whatever the user has typed, if dequoting
|
|
what the user typed results in the empty string
|
|
|
|
execute_cmd.c
|
|
- include <limits.h> if HAVE_LIMITS_H is defined for ARG_MAX
|
|
- only put the special environment variable for GNU getopt into
|
|
the environment if ARG_MAX exceeds 10240
|
|
|
|
subst.c
|
|
- rewrote extract_dollar_brace_string so that it fully obeys
|
|
the POSIX.2 rules for finding the closing `}' and uses
|
|
skip_{single,double}_quoted rather than trying to do it with
|
|
inline delimiters
|
|
- removed the INC_NEST and DEC_NEST defines
|
|
|
|
6/14
|
|
----
|
|
jobs.c
|
|
- don't print status messages for background jobs that complete
|
|
successfully when running shell scripts
|
|
|
|
builtins/shopt.def
|
|
- when using shopt -o as a synonym for set -o, make sure $SHELLOPTS
|
|
is updated
|
|
- make sure to update $SHELLOPTS when using shopt to set or unset
|
|
interactive comments
|
|
|
|
execute_cmd.c
|
|
- fixed find_in_path_element to not return non-executable files
|
|
when FS_EXEC_PREFERRED is one of the flags, after saving such
|
|
a file as file_to_lose_on (fix from william@nscs.fast.net)
|
|
|
|
6/17
|
|
----
|
|
lib/readline/complete.c
|
|
- after printing possible completions, all lines of a multi-line
|
|
prompt are redisplayed using rl_forced_update_display()
|
|
|
|
subst.c
|
|
- in expand_word_internal, only do tilde expansion on words where
|
|
(flags & (W_ASSIGNMENT|W_QUOTED)) == W_ASSIGNMENT (unquoted
|
|
assignment statements) and contain unquoted `=~' or `:~', and
|
|
only if posixly_correct is off. POSIX.2 says that only the
|
|
assignments preceding the command name should be tilde-expanded.
|
|
|
|
6/18
|
|
----
|
|
support/config.guess
|
|
- recognize the new Pyramid DC-OSx as `mips-pyramid-sysv4'
|
|
|
|
configure.in
|
|
- set LOCAL_CFLAGS to -Xa for mips-pyramid-sysv4 as per
|
|
Peter Chubb
|
|
|
|
subst.c
|
|
- variable assignment errors when there is not a command name
|
|
after the assignments now causes a non-interactive shell to
|
|
exit in POSIX.2 mode
|
|
|
|
execute_cmd.c
|
|
- if the iteration variable in a for statement is a read-only
|
|
variable, a variable assignment error occurs. This causes
|
|
non-interactive shells to exit in posix mode, and a failure
|
|
status to be returned for other non-interactive shells and
|
|
interactive shells
|
|
- if the selection variable in a select statement is a read-only
|
|
variable, a variable assignment error occurs, with the same
|
|
consequences as a for statement variable assignment error
|
|
|
|
doc/bashref.*
|
|
- renamed features.* to bashref.*, since that more accurately
|
|
reflects the current contents
|
|
|
|
6/19
|
|
----
|
|
test.c
|
|
- changed three_arguments() to do one-argument tests on $1 and
|
|
$3 and return the appropriate values if -a or -o is given as
|
|
the second argument
|
|
- changed three_arguments() to perform a one-argument test on
|
|
$2 if $1 == '(' and $3 == ')' and return that result
|
|
- make sure test_stat translates /dev/fd/xx to DEV_FD_PREFIX/xx
|
|
so /dev/fd/0 always means the same thing, even on linux,
|
|
which uses /proc/self/fd
|
|
|
|
aclocal.m4
|
|
- added a check for libncurses in BASH_CHECK_LIB_TERMCAP
|
|
|
|
configure.in
|
|
- added an initial message saying we're configuring for bash-2.0
|
|
|
|
lib/glob/fnmatch.c
|
|
- made a small change to fnmatch() to fix a bug matching patterns
|
|
with multiple consecutive `*'s
|
|
|
|
6/20
|
|
----
|
|
parse.y
|
|
- inhibit history expansion when calling pre_process_line() from
|
|
shell_getc() if the current delimiter is a single quote, even
|
|
if we're on a different line than the opening quote
|
|
- make sure read_a_line prints a prompt if we're interactive and
|
|
not using readline, and make sure we call clearerr() if we
|
|
get EOF when interactive and not using readline
|
|
|
|
bashhist.c
|
|
- new function history_expansion_p(char *) returns 1 if the string
|
|
passed contains the history expansion or history substitution
|
|
characters
|
|
- pre_process_line() now calls history_expansion_p and calls
|
|
the history expansion code only if that returns 1
|
|
|
|
6/26
|
|
----
|
|
lib/readline/isearch.c
|
|
- swap the behavior of ^J and ^M when i-searching. ^J now terminates
|
|
the search without accepting the line. ^M terminates the search
|
|
and accepts the line, executing the command
|
|
|
|
examples/loadables/sprintf.c
|
|
- new `sprintf' builtin: sprintf var format [args...]
|
|
|
|
lib/readline/readline.c
|
|
- added a line in _rl_dispatch that sets _rl_suppress_redisplay if
|
|
the function is rl_insert and there is input available
|
|
|
|
6/27
|
|
----
|
|
builtins/getopts.def
|
|
- new function, getopts_bind_variable(), used when assigning a value
|
|
to the user-supplied variable passed to getopts(). It makes sure
|
|
that that variable name is legal and prints an error message if it
|
|
is not
|
|
|
|
builtins/getopt.c
|
|
- don't increment sh_optind until after we've checked whether or not
|
|
the current option character appears in the list of options passed
|
|
to getopts by the user
|
|
|
|
6/28
|
|
----
|
|
variables.c
|
|
- added a new parameter to print_var_value: QUOTE. If it's non-zero
|
|
and the variable's value contains shell metacharacters, quote the
|
|
value so it can be read back in
|
|
|
|
variables.h
|
|
- changed extern declaration for print_var_value
|
|
|
|
siglist.h
|
|
- if SYS_SIGLIST_DECLARED is not defined, but HAVE_UNDER_SYS_SIGLIST
|
|
is, only declare sys_siglist as extern char *sys_siglist[] if
|
|
sys_siglist is not `#define'd
|
|
|
|
parse.y
|
|
- make sure a reserved word is acceptable before returning `}' as
|
|
a token from special_case_tokens, even if the token read so far
|
|
is "}"
|
|
- make reset_parser set allow_open_brace to 0
|
|
|
|
7/1
|
|
---
|
|
test.c
|
|
- fixed binop to not try to read s[3] if s[2] == '\0'. There are
|
|
no one-character binary operators that begin with `-'
|
|
|
|
variables.c
|
|
- fixed kill_all_local_variables to do nothing if variable_context
|
|
is >= local_variable_stack_size (indicating that we do have some
|
|
local variables, but not at this level of function nesting, and
|
|
we are beyond the end of the array allocated the last time we
|
|
had local variables)
|
|
|
|
7/2
|
|
---
|
|
execute_cmd.c
|
|
- non-interactive shells in posix mode should exit if the variable
|
|
in a for command is not a valid identifier. This should really
|
|
be caught by the parser
|
|
- non-interactive shells in posix mode should exit if a function
|
|
name is not a valid identifier. This should also be caught by
|
|
the parser
|
|
|
|
7/3
|
|
---
|
|
jobs.c
|
|
- non-interactive shells should ignore stopped children, so
|
|
waitchld() should set waitpid_flags to WUNTRACED only if the
|
|
shell is interactive and it's not a subshell environment
|
|
|
|
lib/readline/signals.c
|
|
- if not being compiled as part of the shell, readline should
|
|
catch SIGTERM and clean up
|
|
|
|
shell.c
|
|
- change to isnetconn: on Solaris 2.5, getpeername() can return
|
|
EINVAL rather than ENOTSOCK if the fd passed as the first
|
|
argument is not a socket
|
|
|
|
7/5
|
|
---
|
|
lib/readline/complete.c
|
|
- new variable, available to library users, to inhibit completion
|
|
and cause the completion character to be inserted into the
|
|
line with self-insert: rl_inhibit_completion. Set to 0 by default.
|
|
|
|
lib/readline/readline.h
|
|
- extern declaration for rl_inhibit_completion
|
|
|
|
lib/readline/doc/rltech.texinfo
|
|
- documented rl_inhibit_completion
|
|
|
|
lib/readline/bind.c
|
|
- new readline user variable: disable-completion. This provides
|
|
users a way to toggle the value of rl_inhibit_completion
|
|
|
|
doc/{bash.{1,html},readline.3}, lib/readline/doc/rluser.texinfo
|
|
- documented disable-completion variable
|
|
|
|
lib/readline/doc/Makefile
|
|
- added `html' target to create html from rlman.texinfo and
|
|
hist.texinfo
|
|
|
|
7/8
|
|
---
|
|
builtins/cd.def
|
|
- only try cd spelling correction if the shell is currently
|
|
interactive, regardless of value of `cdspell' option
|
|
|
|
lib/posixheaders/alloca.h
|
|
- AIX 4.2 needs `#pragma alloca' if gcc is not being used
|
|
|
|
7/9
|
|
---
|
|
builtins/getopts.def
|
|
- return EXECUTION_FAILURE from getopts if it's trying to assign
|
|
to a read-only variable
|
|
- reset sh_badopt to zero in getopts_reset()
|
|
|
|
builtins/getopt.c
|
|
- new variable, sh_badopt, set to 1 if we find an illegal option
|
|
- do the increment of sh_optind if sh_badopt is non-zero and we're
|
|
at the end of the option string at the beginning of sh_getopt().
|
|
The increment is deferred until the next call so $OPTIND is
|
|
correct
|
|
|
|
builtins/getopt.h
|
|
- extern declaration of sh_badopt
|
|
|
|
7/10
|
|
----
|
|
Makefile.in
|
|
- don't pass ALLOCA_SOURCE or ALLOCA_OBJECT to the make in lib/malloc
|
|
- don't make libmalloc.a depend on ALLOCA_DEP -- it causes some
|
|
compilers to build alloca.o in the top directory, and if ALLOCA
|
|
is not defined, makes the malloc library depend on a directory
|
|
|
|
aclocal.m4
|
|
- some small changes to make the output look better
|
|
|
|
memalloc.h
|
|
- made some small changes suggested by the autoconf documentation
|
|
|
|
7/11
|
|
----
|
|
parse.y
|
|
- swapped meanings of \h and \H in prompt_string_decode for
|
|
bash-1.14.6 compatibility
|
|
|
|
doc/{bash.{1,html},bashref.texi}
|
|
- updated prompt string decoding section with swap of \h and \H
|
|
|
|
general.c
|
|
- print_timeval and print_time_in_hz now accept a FILE * as the
|
|
first argument, so `times' can print to stdout while `time'
|
|
prints to stderr
|
|
|
|
execute_cmd.c
|
|
- changed time_command to print the timing statistics to stderr
|
|
|
|
builtins/times.def
|
|
- added the FILE * argument to the calls to print_timeval and
|
|
print_time_in_hz
|
|
|
|
support/texi2html
|
|
- upgraded to version 1.50
|
|
|
|
error.c
|
|
- include bashhist.h if HISTORY is defined for declarations of
|
|
last_history_line() and remember_on_history
|
|
|
|
lib/glob/glob.c
|
|
- add a `#pragma alloca' as the first thing in the file if we're
|
|
not using gcc and _AIX is defined
|
|
|
|
lib/posixheaders/memalloc.h
|
|
- remove the `#pragma alloca' stuff; it is done in the C source
|
|
files now, to avoid problems with other AIX header file
|
|
declarations
|
|
|
|
7/12
|
|
----
|
|
lib/readline/rltty.c
|
|
- some changes to work around AIX 4.2 bugs (sometimes OPOST is unset
|
|
in termios, sometimes FLUSHO is inexplicably set in termios, etc.)
|
|
|
|
7/15
|
|
----
|
|
lib/readline/rltty.c
|
|
- make SETATTR use TCSADRAIN on POSIX machines. This setting is
|
|
supposed to be used for changes that affect output
|
|
|
|
[bash-2.0-alpha4 released]
|
|
|
|
7/16
|
|
----
|
|
trap.c
|
|
- changed reset_or_restore_signal_handlers to honor traps before
|
|
special signals, so that `trap "" 2' works right and causes
|
|
children to ignore SIGINT
|
|
|
|
locale.c
|
|
- added lc_all variable to track the value of LC_ALL
|
|
- added new functions: set_default_locale_vars, set_locale_var,
|
|
set_lang, get_locale_var, removed get_current_messages_locale
|
|
|
|
subst.h
|
|
- added extern declaration for sv_locale
|
|
|
|
subst.c
|
|
- LC_ALL, LC_CTYPE, LC_MESSAGES, and LANG are now special variables;
|
|
sv_locale() is called when they are assigned a value
|
|
|
|
shell.c
|
|
- call set_default_locale_vars after initializing the shell variables
|
|
in main(), so LC_CTYPE and LC_MESSAGES (if present) have values
|
|
- shell.c does not need to include <locale.h>
|
|
|
|
general.c
|
|
- changed print_timeval and print_time_in_hz to format their output
|
|
as Posix.2 specifies for `time -p' if the new POSIX_TIME argument
|
|
is non-zero
|
|
|
|
parse.y
|
|
- new grammar production: timespec, to handle `time' and `time -p'
|
|
- change to special_case_tokens so that -p after `time' returns
|
|
TIMEOPT
|
|
|
|
execute_cmd.c
|
|
- set posix_time in time_command if the command's flags include
|
|
CMD_TIME_POSIX
|
|
- call print_timeval and print_time_in_hz with posix_time as
|
|
the new third argument
|
|
- use a space to separate the word (`real') and the time if we're
|
|
in posix mode. This is what POSIX.2 defines for `time -p'
|
|
|
|
builtins/times.def
|
|
- call print_timeval and print_time_in_hz with 0 as the new third
|
|
argument
|
|
|
|
command.h
|
|
- new flag: CMD_TIME_POSIX, used to handle `time -p'
|
|
|
|
doc/{bash.{1,html},bashref.texi}
|
|
- documented `time -p'
|
|
|
|
7/17
|
|
----
|
|
support/mkversion.c
|
|
- include `config.h' before any other include files
|
|
|
|
parse.y
|
|
- initialize was_dollar to 0 in parse_matched_pair
|
|
|
|
configure.in
|
|
- removed duplicate check for <sys/file.h> from call to
|
|
AC_HAVE_HEADERS
|
|
|
|
sig.c
|
|
- include siglist.h so we can find out if it defines HAVE_SYS_SIGLIST
|
|
|
|
siglist.h
|
|
- define HAVE_SYS_SIGLIST if we end up defining sys_siglist as
|
|
_sys_siglist (Solaris 2.[45])
|
|
|
|
siglist.c
|
|
- include "siglist.h" before testing whether or not HAVE_SYS_SIGLIST
|
|
is defined; it may be defined in there (Solaris 2.[45])
|
|
|
|
7/19
|
|
----
|
|
examples/misc/alias-conv.sh
|
|
- updated, now uses code from examples/functions/csh-compat to do
|
|
the alias conversion, uses `command' builtin in functions it
|
|
creates, does some substitution of csh special variables to
|
|
bash equivalents
|
|
|
|
examples/misc/cshtobash
|
|
- a more ambitious script that attempts to convert csh aliases,
|
|
environment variables, and local variables to bash equivalents
|
|
|
|
7/22
|
|
----
|
|
bashline.c
|
|
- added `:' to the set of completion word break characters so that
|
|
individual directories in $PATH assignments can be completed
|
|
|
|
aclocal.m4
|
|
- added a new macro, BASH_CC_WORKS, that aborts configuration if
|
|
${CC} can't compile a simple program successfully
|
|
|
|
configure.in
|
|
- call BASH_CC_WORKS before doing anything else
|
|
|
|
7/23
|
|
----
|
|
execute_cmd.c
|
|
- fixed select_query to print the prompt ($PS3) to stderr
|
|
|
|
support/bashbug.sh
|
|
- workaround for bug in SunOS 5.x /bin/sh that causes it to
|
|
not ignore interrupts while waiting for a foreground process
|
|
to exit
|
|
|
|
7/24
|
|
----
|
|
general.c
|
|
- added new functions to decompose `timeval's and `clock_t's into
|
|
seconds and thousandths of seconds: timeval_to_secs and
|
|
clock_t_to_secs
|
|
- changed print_timeval and print_time_in_hz to call timeval_to_secs
|
|
and clock_t_to_secs, respectively
|
|
- removed no-longer-used third argument for print_timeval and
|
|
print_time_in_hz -- `time' output is now done in execute_cmd.c
|
|
|
|
general.h
|
|
- new extern declarations for timeval_to_secs and clock_t_to_secs
|
|
|
|
builtins/times.def
|
|
- changed calls to print_timeval and print_time_in_hz, removing the
|
|
no-longer-used third argument
|
|
|
|
execute_cmd.c
|
|
- changed the way time_command prints its output: it now interprets
|
|
a format string, replacing several escape sequences prefixed with
|
|
a `%' with the real, user, and system times. There are options in
|
|
the format string to ask for the `long' format that `times' uses
|
|
as well as to specify the number of places after the decimal point,
|
|
and whether to output fractional seconds at all
|
|
- time_command now uses the value of the `TIMEFORMAT' variable, if
|
|
present, to format the timing output. This is flexible enough to
|
|
encompass the bash default, posix `time -p', BSD, and SV time
|
|
formats
|
|
|
|
7/25
|
|
----
|
|
Makefile.in
|
|
- `make clean' should delete the files listed in $(CREATED_SUPPORT);
|
|
`make mostlyclean' should not
|
|
|
|
doc/{bash.{1,html},bashref.texi}
|
|
- fixed an error in the description of the effect that setting and
|
|
unsetting GLOBIGNORE has on the setting of the `dotglob' option
|
|
|
|
doc/bashref.texi
|
|
- updated the section listing the major differences between bash
|
|
and the SVR4.2 shell
|
|
|
|
lib/readline/readline.c
|
|
- removed the setting of _rl_suppress_redisplay, since it doesn't
|
|
really do anything yet
|
|
|
|
oslib.c
|
|
- new function get_clk_tck (void), returns the value of _SC_CLK_TCK
|
|
if sysconf(3) is available, otherwise returns the value of
|
|
CLOCKS_PER_SEC (default 60)
|
|
|
|
general.c
|
|
- moved CLOCKS_PER_SEC defines to oslib.c
|
|
- changed clock_t_to_secs to call get_clk_tck once to get the
|
|
right value to use
|
|
|
|
externs.h
|
|
- extern declaration for get_clk_tck
|
|
|
|
execute_cmd.c
|
|
- changed print_formatted_time so that a `%' at the end of the string
|
|
is output literally
|
|
- changed print_formatted_time to output a newline after the
|
|
translated format string, so it does not need to be included in
|
|
the format
|
|
- changed BASH_TIMEFORMAT (the default time format) to have a leading
|
|
newline to match ksh93
|
|
|
|
configure.in
|
|
- use `shlicc2' on BSD/OS machines
|
|
|
|
7/26
|
|
----
|
|
doc/bash.html
|
|
- major overhaul, cleaned up text, corrected some minor HTML errors
|
|
|
|
variables.c
|
|
- call sv_optind and sv_opterr to initialize the getopts stuff in
|
|
initialize_shell_variables
|
|
|
|
7/29
|
|
----
|
|
shell.c
|
|
- don't let maybe_execute_file try to read files that are not
|
|
`regular files'
|
|
|
|
7/30
|
|
----
|
|
parse.y
|
|
- cast `string' in yy_string_get() to unsigned char * to avoid
|
|
sign extension bugs. For example, bash -c $'ls\377who'
|
|
|
|
|
|
builtins/reserved.def
|
|
- add help text for the `time' reserved word
|
|
- deleted description of `HISTCONTROL'
|
|
- added descriptions for HISTIGNORE, PWD, HOSTNAME, GLOBIGNORE,
|
|
MACHTYPE
|
|
|
|
7/31
|
|
----
|
|
builtins/common.c
|
|
- parse_and_execute saves and restores the line number around
|
|
calls, and resets it to 0 when pushing the string onto the
|
|
input stack
|
|
|
|
parse.y
|
|
- added code that parses `` within a double-quoted string as a
|
|
single word
|
|
|
|
8/6
|
|
---
|
|
configure.in, config.h.in
|
|
- look for `textdomain' as well as `gettext' for internationalization
|
|
|
|
locale.c
|
|
- when LC_MESSAGES is set, call textdomain as well as setlocale
|
|
- new variable `default_domain', used to track the value of
|
|
$TEXTDOMAIN
|
|
|
|
subst.c
|
|
- call sv_locale when TEXTDOMAIN changes
|
|
|
|
8/7
|
|
---
|
|
error.c
|
|
- new function, sys_error(), which prints a formatted string followed
|
|
by a colon and strerror(errno) to stderr
|
|
|
|
error.h
|
|
- extern declaration for sys_error
|
|
|
|
jobs.c, nojobs.c, input.c, execute_cmd.c, subst.c
|
|
- changes to use sys_error()
|
|
|
|
[many files]
|
|
- changes to many of the literal strings in the code for consistency
|
|
and easier potential translation
|
|
|
|
8/8
|
|
---
|
|
parse.y
|
|
- new function debug_parser(int) to toggle the value of yydebug
|
|
if YYDEBUG != 0
|
|
|
|
8/9
|
|
---
|
|
oslib.c
|
|
- don't use CLOCKS_PER_SEC, just try to get CLK_TCK (60 by default)
|
|
|
|
bashline.c
|
|
- set saved_history_line_to_use to -1 when it's not going to be used
|
|
rather than 0. A value of 0 can be confused with the first
|
|
history line
|
|
|
|
builtins/evalstring.c
|
|
- moved parse_and_execute and auxiliary functions here from
|
|
builtins/common.c
|
|
|
|
builtins/evalfile.c
|
|
- moved maybe_execute_file here from shell.c
|
|
|
|
Makefile.in, builtins/Makefile.in
|
|
- changes necessitated by the new files
|
|
|
|
8/12
|
|
----
|
|
builtins/common.c
|
|
- fixed an off-by-one bug in single_quote that could make bash
|
|
run off the end of a string if it consisted entirely of single
|
|
quotes
|
|
|
|
8/13
|
|
----
|
|
shell.c
|
|
- moved code from main() to a new function: open_shell_script
|
|
- don't try to fclose(default_input) if BUFFERED_INPUT is defined
|
|
- moved argument binding code out of two places in main() and
|
|
open_shell_script() to a new function: bind_args(). This takes
|
|
an additional argument telling whether to bind starting at $0
|
|
or $1
|
|
- moved the code that calls the with_input_from_* functions into
|
|
a new function: set_bash_input
|
|
- moved the normal shell command-line option parsing code out of
|
|
main() into a new function: parse_shell_options
|
|
- moved the long option parsing code out of main() into a new
|
|
function: parse_long_options()
|
|
|
|
general.c
|
|
- new function: move_to_high_fd(fd), which tries to move FD to a
|
|
file descriptor close to the allowed maximum, returning the new
|
|
fd and closing the old one (or returning the old one if something
|
|
goes wrong)
|
|
|
|
general.h
|
|
- new extern declaration for move_to_high_fd
|
|
|
|
variables.c
|
|
- moved indirection_level_string() here from shell.c
|
|
|
|
jobs.c
|
|
- change initialize_jobs to use move_to_high_fd() instead of the
|
|
inline code to do the same thing
|
|
|
|
8/14
|
|
----
|
|
lib/readline/readline.c
|
|
- add `en_US.ISO8859-1' to the list of legal LANG values that turns
|
|
on readline's 8-bit mode
|
|
|
|
8/15
|
|
----
|
|
builtins/evalfile.c
|
|
- combined source_file and maybe_execute_file into a new function
|
|
_evalfile(fname, flags), where the flags select the appropriate
|
|
behavior
|
|
|
|
eval.c
|
|
- moved the functions that perform the read-eval loop here from
|
|
shell.c
|
|
|
|
execute_cmd.c
|
|
- changed CPU calculation for printing timing statistics using
|
|
ideas and code from Deven Corzine (deven@ties.org)
|
|
|
|
eval.c, builtins/evalstring.c
|
|
- make sure we dispose of global_command if set -n is on and the
|
|
shell is not interactive
|
|
|
|
8/16
|
|
----
|
|
variables.c
|
|
- make a new array variable, BASH_VERSINFO, with version information:
|
|
|
|
BASH_VERSINFO[0] = release (2)
|
|
BASH_VERSINFO[1] = version (00)
|
|
BASH_VERSINFO[2] = patch level (0)
|
|
BASH_VERSINFO[3] = build version (1058)
|
|
BASH_VERSINFO[4] = release status (beta1)
|
|
BASH_VERSINFO[5] = $MACHTYPE (sparc-sun-sunos4.1.4)
|
|
|
|
doc/{bash.{1,html},bashref.texi}
|
|
- Documented BASH_VERSINFO
|
|
|
|
configure.in, config.h.in
|
|
- look for bindtextdomain(), set HAVE_BINDTEXTDOMAIN if found
|
|
|
|
subst.c
|
|
- call sv_locale if TEXTDOMAINDIR is set or changes
|
|
|
|
locale.c
|
|
- handle TEXTDOMAINDIR in set_locale_var; call bindtextdomain if
|
|
it is present
|
|
|
|
tests/array.tests
|
|
- added calls to egrep to filter out BASH_VERSINFO and PIPESTATUS,
|
|
which can vary from system to system
|
|
|
|
8/19
|
|
----
|
|
shell.c
|
|
- moved line_buffer_stream from here to oslib.c, made it into a
|
|
replacement for setlinebuf() if that is not available
|
|
|
|
externs.h
|
|
- extern declaration for setlinebuf()
|
|
|
|
lib/readline/input.c
|
|
- in rl_gather_tyi, punt if chars_avail < 0 after checking input fd
|
|
|
|
8/20
|
|
----
|
|
builtins/suspend.def
|
|
- send SIGSTOP instead of SIGTSTP
|
|
|
|
8/21
|
|
----
|
|
builtins/colon.def
|
|
- added true and false as builtins (undocumented)
|
|
|
|
CWRU/POSIX.NOTES, doc/bashref.texi
|
|
- note that process substitution is not available in posix mode
|
|
|
|
bashintl.h
|
|
- new header file for internationalization, included by locale.c
|
|
|
|
8/22
|
|
----
|
|
subst.c
|
|
- in command_substitute, set istring to NULL before trying to
|
|
make the pipe, so if that fails, the code at error_exit:
|
|
doesn't try to free it
|
|
|
|
execute_cmd.c
|
|
- when executing a shell script without a leading `#!' internally,
|
|
and the shell is not interactive, close the fd to the script
|
|
we're reading. If this is called by the exec builtin, the shell
|
|
will not have forked, and the fd will not have been closed, even
|
|
though it's marked close-on-exec
|
|
- if subshell_argv is non-null, free its members (except 0) and
|
|
subshell_argv in shell_execve before reassigning it
|
|
- dispose of currently_executing_command before jumping back to
|
|
subshell_top_level
|
|
|
|
builtins/hash.def
|
|
- use a sentinel variable so we only initialize the hash table
|
|
once in initialize_filename_hashing
|
|
|
|
shell.c
|
|
- don't flush the filename hash table in shell_reinitialize
|
|
- free dollar_vars[0] in set_shell_name before assigning it
|
|
- don't fetch the current hostname more than once
|
|
- don't fetch the current user information more than once unless
|
|
the uid changes
|
|
|
|
parse.y
|
|
- initialize_bash_input should free bash_input.name if it is
|
|
non-null before zeroing it
|
|
|
|
8/23
|
|
----
|
|
aclocal.m4
|
|
- changed BASH_CHECK_SOCKLIB: if -lsocket is present, check for
|
|
and cache the existence of -lnsl. Define LIBS appropriately
|
|
based on the values of the cache variables rather than relying
|
|
on the autoconf tests to do it
|
|
|
|
8/26
|
|
----
|
|
parse.y
|
|
- fix up yy_readline_get and yy_stream_get to fix the sign
|
|
extension problem
|
|
|
|
shell.c
|
|
- move the setjmp(top_level) that catches early SIGINTs to the
|
|
first statement in main()
|
|
|
|
Makefile.in
|
|
- added a `strip' target to strip the binary
|
|
|
|
[bash-2.0-beta1 frozen]
|
|
|
|
8/27
|
|
----
|
|
parse.y
|
|
- replaced several static state variables with a single flags word:
|
|
parser_state
|
|
|
|
8/28
|
|
----
|
|
parse.y
|
|
- in read_token_word, combined the ${...} case with the other
|
|
expansion cases -- the code was identical
|
|
- added code to handle ksh-style ((...)) -- equivalent to
|
|
`let "..."'. In fact, the above construct is translated internally
|
|
into `let "..."', so error messages output by the evaluator
|
|
will contain `let'
|
|
|
|
expr.c
|
|
- changed evalerror to call internal_error so the name of the
|
|
shell script is prefixed to the message, if necessary
|
|
|
|
Makefile.in
|
|
- changed RELSTATUS to `beta2'
|
|
|
|
tests/{arith,new-exp}.{tests,right}
|
|
- changed the expected error message because of the change in format
|
|
of the arithmetic evaluation error messages in expr.c
|
|
|
|
builtins/pushd.def
|
|
- changed pushd_builtin so `pushd -' is equivalent to `pushd $OLDPWD'
|
|
|
|
externs.h
|
|
- changed the extern declaration for setlinebuf() to avoid having
|
|
to include stdio.h before externs.h everywhere
|
|
|
|
8/29
|
|
----
|
|
error.c
|
|
- new function, parser_error, for use by parts of the parser that
|
|
don't want to call report_syntax_error
|
|
|
|
error.h
|
|
- extern declaration for parser_error
|
|
|
|
parse.y
|
|
- changed some parts of the parser to use parser_error
|
|
- made the ((...)) code #ifdef'd on DPAREN_ARITHMETIC
|
|
|
|
shell.c
|
|
- added a line to the --help output saying to use `bashbug' to
|
|
report bugs
|
|
|
|
configure.in
|
|
- added new option: --enable-dparen-arithmetic; it controls
|
|
the DPAREN_ARITHMETIC define in config.h
|
|
- changed $host_os check for SCO to only enable -DWAITPID_BROKEN
|
|
for sco3.2v5; all other SCO versions enable -DMUST_UNBLOCK_CHILD
|
|
|
|
config.h.in
|
|
- added line for DPAREN_ARITHMETIC, modified by configure
|
|
|
|
doc/{bash.{1,html},bashref.texi}
|
|
- documented new ((...)) command and new configuration option
|
|
|
|
execute_cmd.c
|
|
- shell_execve should not try to close default_buffered_input unless
|
|
it is >= 0. Other code that closes it and deallocates the buffer
|
|
should set default_buffered_input to -1
|
|
|
|
8/30
|
|
----
|
|
configure.in
|
|
- more changes to LOCAL_CFLAGS for sco machines
|
|
|
|
error.c
|
|
- changed parser_error to handle all cases of the shell being
|
|
interactive, not interactive, reading from a script, and reading
|
|
from some other file
|
|
|
|
parse.y
|
|
- changed report_syntax_error to call parser_error for consistent
|
|
messages
|
|
|
|
dispose_cmd.c
|
|
- change dispose_command to use programming_error instead of
|
|
report_error
|
|
|
|
execute_cmd.c, input.c, general.c
|
|
- changed calls to report_error to internal_error, since we don't
|
|
want to possibly exit in any of those cases
|
|
|
|
9/3
|
|
---
|
|
input.c
|
|
- changed the `localbuf' type to `unsigned char'
|
|
|
|
parse.y
|
|
- changed yy_stream_get to use feof to test for end of file when
|
|
not using getc_with_restart
|
|
|
|
9/6
|
|
---
|
|
config.h.top
|
|
- added a commented-out define for SYS_BASH_LOGOUT, which is a
|
|
system-wide .bash_logout file, run when a login shell exits
|
|
- added /sbin to STANDARD_UTILS_PATH
|
|
|
|
builtins/exit.def
|
|
- added support for SYS_BASH_LOGOUT
|
|
|
|
9/10
|
|
----
|
|
lib/readline/{{chardefs,histlib}.h,{bind,histexpand,readline,util,vi_mode}.c}
|
|
- changed to_upper to _rl_to_upper and to_lower to _rl_to_lower
|
|
- changed digit_value to _rl_digit_value
|
|
- changed digit_p to _rl_digit_p
|
|
- changed uppercase_p and lowercase_p to _rl_uppercase_p and
|
|
_rl_lowercase_p respectively
|
|
- changed pure_alphabetic to _rl_pure_alphabetic
|
|
|
|
support/zecho.c
|
|
- new file, implements a bare-bones echo (no -n, no \-escapes),
|
|
to be used by tests
|
|
|
|
tests/rhs-exp.tests
|
|
- changed calls to echo to use recho to avoid errors when bash is
|
|
configured with --enable-usg-echo-default
|
|
|
|
tests/more-exp.tests
|
|
- changed some calls to echo to use zecho to avoid errors when bash
|
|
is configured with --enable-usg-echo-default
|
|
|
|
9/11
|
|
----
|
|
lib/readline/histexpand.c
|
|
- fixed a possible off-by-one error in history_expand_internal when
|
|
deciding whether or not to reallocate `result'
|
|
|
|
expr.c
|
|
- fixed expcond() so that an assignment may be supplied as the
|
|
token after the `?'
|
|
- illegal bases now cause an evaluation error
|
|
- multiple base specifications now cause an evaluation error
|
|
|
|
tests/arith.tests
|
|
- added more tests for conditional operator and associativity
|
|
|
|
tests/{run-heredoc,heredoc.{tests,right}}
|
|
- new set of tests for here-documents
|
|
|
|
builtins/common.c
|
|
- print out the name returned by get_name_for_error in
|
|
builtin_error()
|
|
|
|
subst.c
|
|
- set this_command_name to NULL before processing command-line
|
|
assignment statements so arithmetic evaluation errors don't
|
|
print garbage
|
|
- according to POSIX.2, echo ${foo?$x} should print the expanded
|
|
value of $x, even when it doesn't expand into anything
|
|
|
|
9/12
|
|
----
|
|
shell.c
|
|
- changed the execution of startup files so that $ENV is never
|
|
run by a non-interactive shell and an interactive shell begun
|
|
as `sh' reads and executes $ENV, as posix specifies
|
|
|
|
doc/{bash.{1,html},bashref.texi}
|
|
- updated description of startup file behavior
|
|
|
|
doc/Makefile.in
|
|
- make sure references to bashref.texi are preceded by $(srcdir)/
|
|
so we can build the documentation in another directory just by
|
|
typing `make'; e.g. after giving configure the --srcdir option
|
|
|
|
subst.c
|
|
- change to array_remove_pattern to avoid evaluating the `param'
|
|
part of the ${param#word} spec twice when doing things like
|
|
echo ${A[x=(i+=1)]#${A[y=(i+=2)]}}
|
|
|
|
9/13
|
|
----
|
|
builtins/bashgetopt.c
|
|
- fixed a problem with `;' option specifier (optional argument)
|
|
|
|
support/config.{sub,guess}
|
|
- added cases to recognize CRAY C90 and T90
|
|
|
|
builtins/ulimit.def
|
|
- rewritten almost from scratch to use internal_getopt and to not
|
|
mask the return value from getrlimit/setrlimit, and to make it
|
|
easier to maintain
|
|
- added `-l' option for systems with RLIMIT_MEMLOCK (4.4 BSD)
|
|
|
|
doc/{bash.{1,html},bashref.texi}
|
|
- documented new `-l' option to `ulimit'
|
|
|
|
9/24
|
|
----
|
|
parse.y
|
|
- added `in' to the list of tokens that should not be followed by
|
|
a semicolon when combining history lines
|
|
- removed the special-case code in history_delimiting_chars that
|
|
tried to be smart about `()'
|
|
|
|
9/25
|
|
----
|
|
print_cmd.c
|
|
- fixes to print_group_command from Andreas Schwab
|
|
- rewrote indent() to use a single malloced string for the spaces
|
|
to print, rather than calling cprintf multiple times
|
|
|
|
shell.c
|
|
- make sure to set the strings in current_user to NULL after freeing
|
|
their contents in uidget().
|
|
|
|
parse.y
|
|
- make sure decode_prompt_string quotes the values inserted by the
|
|
\w and \W escape sequences using backslashes if the string will be
|
|
expanded later because promptvars is set
|
|
|
|
support/mkdirs
|
|
- removed leading `^' from regular expressions to be matched by
|
|
`expr' on the advice of meyering@appaloosa.asic.sc.ti.com
|
|
|
|
9/26
|
|
----
|
|
parse.y
|
|
- added a few more possible flag values for parser_state
|
|
- changed history_delimiting_chars to not add a semicolon after a
|
|
right paren if we're parsing a case statement
|
|
|
|
9/27
|
|
----
|
|
builtins/ulimit.def
|
|
- a few minor cleanups
|
|
|
|
10/1
|
|
----
|
|
builtins/trap.def
|
|
- make sure first_arg is non-empty before calling signal_object_p()
|
|
|
|
[bash-2.0-beta2 frozen]
|
|
|
|
10/2
|
|
----
|
|
bashintl.h
|
|
- if we have setlocale(), but don't have a definition for LC_ALL,
|
|
undefine HAVE_SETLOCALE
|
|
|
|
configure.in
|
|
- set LOCAL_LDFLAGS on AIX 4.2 to allow dynamic loading of builtins
|
|
|
|
builtins/enable.def
|
|
- use correct flags for AIX 4.2 in dlopen call if _AIX is defined
|
|
|
|
examples/loadables/Makefile
|
|
- add sample commands for AIX 4.2
|
|
|
|
10/3
|
|
----
|
|
variables.c
|
|
- new functions: merge_temporary_env(), merge_builtin_env(), to
|
|
take temporary_env and builtin_env, respectively, and create
|
|
shell variables from them
|
|
|
|
variables.h
|
|
- new extern declarations for merge_temporary_env() and
|
|
merge_builtin_env()
|
|
|
|
execute_cmd.c
|
|
- if variable assignments preceds a posix special builtin, and the
|
|
shell is in posix mode, those assignments should persist in the
|
|
shell environment after the builtin completes
|
|
|
|
doc/bashref.texi
|
|
- modified description of what's changed by posix mode to include
|
|
the persistance of assignment statements preceding special builtins
|
|
|
|
doc/mkposix
|
|
- new script to create CWRU/POSIX.NOTES directly from the `Bash
|
|
POSIX Mode' node of bashref.texi, like INSTALL is created
|
|
|
|
10/4
|
|
----
|
|
lib/{malloc,glob,readline}/Makefile.in, builtins/Makefile.in
|
|
- don't have autoconf substitute LOCAL_CFLAGS into the CFLAGS
|
|
assignment so people on SCO 3.2v[45] can still build with
|
|
NO_MEMSCRAMBLE even when they run `make CFLAGS=...'
|
|
|
|
test.c
|
|
- renamed eaccess() to test_eaccess() to avoid conflict with SCO
|
|
|
|
config.h.bot
|
|
- #undef HAVE_GETCWD if GETCWD_BROKEN is defined, so we use the
|
|
replacement in getcwd.c
|
|
|
|
general.c
|
|
- fixed a small memory leak in full_pathname that occurs if
|
|
getcwd() returns NULL
|
|
|
|
oslib.c
|
|
- new constant string variable: bash_getcwd_errstr, to use when
|
|
getcwd() returns NULL
|
|
|
|
{general,jobs}.c, parse.y, builtins/{cd.def,common.c}
|
|
- change calls to getwd() to use getcwd() instead
|
|
|
|
general.c, builtins/common.c, builtins/cd.def
|
|
- changed error behavior when getcwd() returns NULL to use
|
|
bash_getcwd_errstr, sys_error(), and strerror(errno) where
|
|
appropriate
|
|
|
|
sig.c
|
|
- change a couple of calls to signal to set_signal_handler
|
|
|
|
aclocal.m4
|
|
- added definitions of _popen and _pclose to the BASH_FUNC_GETCWD
|
|
macro
|
|
|
|
configure.in
|
|
- added -DPATH_MAX=1024 to LOCAL_CFLAGS for sco3.2v[45] on the
|
|
advice of <grog@lemis.de>
|
|
- removed check for getwd(3)
|
|
|
|
externs.h
|
|
- removed extern declaration for getwd(), added extern declaration
|
|
for getcwd() if HAVE_GETCWD is not defined
|
|
|
|
oslib.c
|
|
- removed definition of getwd(); it is no longer used
|
|
|
|
lib/readline/rltty.c
|
|
- changed SETATTR macro for SCO POSIX systems to call tcsetattr
|
|
with TCSANOW, on advice of <wbader@nacs.fast.net>
|
|
|
|
10/7
|
|
----
|
|
support/mkdirs
|
|
- slight change to work around a bug in the HP-UX `expr'
|
|
|
|
10/8
|
|
----
|
|
lib/readline/vi_mode.c
|
|
- changes so that the text inserted with an `i' command is available
|
|
to be reinserted with `.'
|
|
|
|
examples/functions/autoload.v2
|
|
- new implementation: uses arrays, keeps a list of autoloaded
|
|
functions, allows autoloaded functions to be removed, allows
|
|
autoloaded functions to be listed
|
|
|
|
execute_cmd.c
|
|
- when freeing the members of subshell_argv in shell_execve(), free
|
|
only the members up to subshell_argc
|
|
|
|
10/9
|
|
----
|
|
configure.in
|
|
- replaced calls to AC_HAVE_FUNCS with AC_CHECK_FUNCS
|
|
- replaced calls to AC_FUNC_CHECK with AC_CHECK_FUNC
|
|
- replaced calls to AC_HAVE_HEADERS with AC_CHECK_HEADERS
|
|
- added additional code to check for libintl.{a,so} for the
|
|
internationalization functions if bindtextdomain is not found
|
|
in libc
|
|
- define HAVE_WAIT3 if AC_FUNC_CHECK(wait3,...) succeeds, rather
|
|
than HAVE_FUNC_WAIT3, which is not used in the source
|
|
- added a call to AC_FUNC_STRCOLL to check for the presence of a
|
|
working strcoll(3)
|
|
|
|
config.h.in
|
|
- removed HAVE_FUNC_WAIT3
|
|
- added HAVE_STRCOLL
|
|
|
|
variables.c, stringlib.c
|
|
- move sort_char_array from variables.c to stringlib.c
|
|
|
|
variables.h, externs.h
|
|
- move extern declaration of sort_char_array from variables.h to
|
|
externs.h
|
|
|
|
variables.c
|
|
- don't sort the exported environment, even when we're not in
|
|
posix mode
|
|
|
|
stringlib.c
|
|
- changed qsort_string_compare to use strcoll(3) if it is available
|
|
(HAVE_STRCOLL is defined). This means that the results of glob
|
|
expansions are now sorted in the per-locale collation order
|
|
|
|
locale.c
|
|
- track the value of $LC_COLLATE and call setlocale(LC_COLLATE,...)
|
|
when it changes. Also, set its default value
|
|
|
|
subst.c
|
|
- LC_COLLATE is now a special variable; call sv_locale when it is
|
|
assigned to or unset
|
|
|
|
lib/readline/util.c
|
|
- move compare_strings here from complete.c; renamed it
|
|
_rl_qsort_string_compare; made it use strcoll(3) if it's
|
|
available; made it global so other library files can use it
|
|
|
|
lib/readline/complete.c
|
|
- use _rl_qsort_string_compare instead of static compare_strings.
|
|
This means that completions are now sorted in a locale-specific
|
|
collation order
|
|
|
|
lib/readline/funmap.c
|
|
- removed static declaration of qsort_string_compare; qsort now
|
|
uses _rl_qsort_string_compare instead
|
|
|
|
oslib.c
|
|
- rewrote stricmp, strnicmp; renamed them strcasecmp and
|
|
strncasecmp, since they're only compiled in if HAVE_STRCASECMP
|
|
is not defined
|
|
|
|
externs.h
|
|
- removed extern declarations of strnicmp, stricmp, replacing them
|
|
with declarations of strcasecmp and strncasecmp if HAVE_STRCASECMP
|
|
is not defined; removed #defines of stricmp and strnicmp to
|
|
strcasecmp and strncasecmp
|
|
|
|
trap.c
|
|
- changed calls to stricmp to direct calls to strcasecmp
|
|
|
|
Makefile.in
|
|
- bumped RELSTATUS to `beta3'
|
|
|
|
doc/bash.{1,html}
|
|
- added mention of LC_COLLATE
|
|
|
|
doc/bashref.texi
|
|
- removed item about sorting environment from the section on posix
|
|
mode
|
|
|
|
10/16
|
|
-----
|
|
subst.c
|
|
- fixed array_length_reference to return 0 for an unbound variable
|
|
and 1 for a variable that is not an array
|
|
|
|
examples/scripts.v2/cdhist.bash
|
|
- package with functions to replace cd and maintain a cd directory
|
|
stack
|
|
|
|
examples/scripts.v2/pmtop
|
|
- a `poor man's top' for SunOS 4.x and BSD
|
|
|
|
examples/scripts.v2/bashrand
|
|
- a script to return a random number within a specified range, with
|
|
an optional seed
|
|
|
|
examples/scripts/zprintf
|
|
- printf(1) replacement that uses gawk to do the output
|
|
|
|
doc/{bash.{1,html},bashref.texi}, lib/readline/doc/hsuser.texinfo
|
|
- several small corrections
|
|
|
|
10/17
|
|
-----
|
|
variables.c
|
|
- changed the calls to list_string_with_quotes and then
|
|
expand_words_no_vars in assign_array_var_from_string to a single
|
|
call to expand_string. This behaves more rationally, and closer
|
|
to ksh93
|
|
|
|
subst.c
|
|
- commented out list_string_with_quotes -- it is no longer used
|
|
|
|
lib/readline/terminal.c
|
|
- new function, _rl_set_screen_size(int rows, int cols), to set
|
|
readline's idea of the screen size
|
|
|
|
jobs.c, nojobs.c
|
|
- make sure that window size changes are propagated back down to
|
|
the readline code, by calling _rl_set_screen_size with the
|
|
new sizes. This happens when bash gets a SIGWINCH or if
|
|
`checkwinsize' is set with `shopt'
|
|
|
|
10/18
|
|
-----
|
|
support/config.guess
|
|
- added code to recognize the various NetBSD ports
|
|
|
|
lib/readline/signals.c
|
|
- don't install a handler for SIGALRM if the containing application
|
|
has installed a handler with SA_RESTART as part of the flags.
|
|
This is in effect, obviously, only for systems with POSIX signals.
|
|
|
|
subst.c
|
|
- make parameter_brace_expand_length expand variables in a double-
|
|
quoted environment so it takes spaces in the variable value into
|
|
account
|
|
|
|
10/21
|
|
-----
|
|
command.h
|
|
- flags for possible values of subshell_environment telling what
|
|
caused the subshell
|
|
|
|
builtins/command.def
|
|
- the `command' builtin should not be setting CMD_NO_FORK at all;
|
|
it doesn't know enough about the execution context to do so
|
|
|
|
execute_cmd.c, subst.c
|
|
- set subshell_environment to one of the values in command.h rather
|
|
than to `1', so we know what kind of subshell it is (just for
|
|
informational purposes; nothing actually uses this yet)
|
|
|
|
|
|
10/22
|
|
-----
|
|
execute_cmd.c
|
|
- just return EXECUTION_SUCCESS immediately in execute_command_internal
|
|
if read_but_dont_execute is set
|
|
|
|
10/23
|
|
-----
|
|
general.c
|
|
- fixed check_dev_tty to return immediately if ttyname() returns NULL
|
|
|
|
builtins/suspend.def
|
|
- SIGSTOP cannot be caught, so there's no reason to try to do so
|
|
|
|
examples/loadables/{finfo,pathchk,print}.c
|
|
- minor fixes
|
|
|
|
pathexp.c
|
|
- fix to off-by-one error in setup_ignore_patterns
|
|
|
|
jobs.c
|
|
- try to set the tty pgrp to our pgrp if we change our pgrp to our
|
|
pid and become a process group leader. If it doesn't work,
|
|
reset our pgrp to what it was originally and disable job control
|
|
|
|
aclocal.m4
|
|
- new test, BASH_STRUCT_TERMIO_LDISC, to test for a c_line member
|
|
of struct termio
|
|
|
|
config.h.in
|
|
- add a new preprocessor variable, TERMIO_LDISC, undefined by default
|
|
|
|
configure.in
|
|
- call BASH_STRUCT_TERMIO_LDISC after BASH_STRUCT_TERMIOS_LDISC
|
|
|
|
10/25
|
|
-----
|
|
lib/readline/terminal.c
|
|
- increased the size of the termcap buffers to 4096
|
|
|
|
10/29
|
|
-----
|
|
parse.y
|
|
- include memalloc.h for uses of alloca that the code in the
|
|
generated bison parser does not catch (e.g., HP-UX 10.10)
|
|
|
|
aclocal.m4
|
|
- new test, BASH_KERNEL_RLIMIT_CHECK, to check whether a given
|
|
HP-UX machine needs _KERNEL defined for the RLIMIT_* defines in
|
|
<sys/resource.h> (9.05, 10.01 yes, 10.10,10.20 no)
|
|
|
|
configure.in
|
|
- call BASH_KERNEL_RLIMIT_CHECK if $host_os begins with `hpux'
|
|
|
|
config.h.in
|
|
- new #undef for RLIMIT_NEEDS_KERNEL
|
|
|
|
builtins/ulimit.def
|
|
- only define _KERNEL before including <sys/resource.h> if HPUX
|
|
and RLIMIT_NEEDS_KERNEL are both defined
|
|
|
|
[bash-2.0-beta3 frozen]
|
|
|
|
11/1
|
|
----
|
|
locale.c
|
|
- if setting LC_ALL to a null value (as is done when `unset LC_ALL'
|
|
is run), call setlocale() to set LC_ALL back to default_locale
|
|
|
|
lib/readline/readline.c
|
|
- moved i18n code from here to nls.c
|
|
|
|
lib/readline/Makefile.in, Makefile.in
|
|
- new readline library member, nls.c
|
|
|
|
lib/readline/nls.c
|
|
- new file, with internationalization code from readline.c (such as
|
|
it is)
|
|
- updated legal_lang_values to just contain a list of codesets
|
|
- added code modified from a diff sent by Ulrich Drepper
|
|
<drepper@cygnus.com> to parse a locale specification and isolate
|
|
and normalize the codeset part, for checking against the values
|
|
in legal_lang_values
|
|
|
|
11/4
|
|
----
|
|
builtins/setattr.def, locale.c, aclocal.m4, oslib.c
|
|
- minor cleanups
|
|
|
|
11/5
|
|
----
|
|
lib/readline/complete.c, test.c, trap.c
|
|
- more minor cleanups
|
|
|
|
11/6
|
|
----
|
|
parse.y
|
|
- added a `flags' parameter to parse_matched_pair, currently unused
|
|
|
|
11/7
|
|
----
|
|
configure.in, config.h.in
|
|
- add a check for time_t, defaulting to `long' if it's not
|
|
defined in <sys/types.h>
|
|
|
|
builtins/fc.def
|
|
- use `time_t *' instead of `long *' in call to time()
|
|
|
|
11/8
|
|
----
|
|
configure.in
|
|
- removed check for getpwent in libsun.a; it's not necessary for
|
|
recent versions of irix (irix[56].?)
|
|
|
|
11/11
|
|
-----
|
|
test.c
|
|
- used `&&' where `||' was needed when testing if HAVE_LSTAT and
|
|
S_IFLNK are both defined
|
|
|
|
[bash-2.0-beta3 net release version frozen]
|
|
|
|
11/12
|
|
-----
|
|
builtins/getopt.c
|
|
- when sh_getopt detects that a required argument is not present,
|
|
set sh_optarg to "" so that getopts does the right thing
|
|
|
|
11/15
|
|
-----
|
|
builtins/ulimit.c
|
|
- made the default (without -H or -S) report the soft limit and set
|
|
both soft and hard limits (like sh and ksh)
|
|
|
|
expr.c
|
|
- changed the maximum base in base#num constants to 64, implemented
|
|
just like ksh93
|
|
|
|
doc/{bash.{1,html},bashref.texi}
|
|
- updated description of ulimit builtin to new behavior when
|
|
neither -H nor -S is supplied
|
|
- updated arithmetic evaluation section with new maximum base and
|
|
explanation of how numbers between 10 and 63 are represented
|
|
|
|
lib/readline/vi_mode.c
|
|
- in rl_vi_done_inserting, don't try to save the text entered while
|
|
in insert mode unless rl_undo_list is non-null (indicating that
|
|
there was actually some text to be saved)
|
|
|
|
11/19
|
|
-----
|
|
lib/readline/tcap.h
|
|
- new file, for termcap library definitions. Uses <termcap.h> if
|
|
it is available
|
|
|
|
lib/readline/rldefs.h
|
|
- remove inclusion of termcap.h; now included in tcap.h
|
|
|
|
lib/readline/{terminal,display,readline}.c
|
|
- include tcap.h
|
|
|
|
lib/readline/Makefile.in
|
|
- update dependencies to include tcap.h
|
|
|
|
11/21
|
|
-----
|
|
lib/readline/complete.c
|
|
- broke the code that computes the lcd of the list of completion
|
|
matches out into a separate function, compute_lcd_of_matches()
|
|
|
|
lib/readline/complete.c
|
|
- call compute_lcd_of_matches after calling the application-specific
|
|
completion ignore function, since it may have eliminated some
|
|
names from the match list
|
|
|
|
builtins/cd.def
|
|
- replaced instances of MAXNAMLEN in the spelling correction code
|
|
with PATH_MAX
|
|
|
|
lib/readline/terminal.c
|
|
- new termcap capabilities: kh (sent by Home key) and kH (sent by
|
|
End key) automatically bound to beginning-of-line and end-of-line
|
|
respectively in emacs_standard and vi_movement maps
|
|
|
|
mailcheck.c
|
|
- fix to remember_mail_dates so any message following the
|
|
filename is saved correctly
|
|
|
|
11/22
|
|
-----
|
|
lib/readline/bind.c
|
|
- fixed extern declaration of _rl_parsing_coditionalized_out
|
|
to match declaration in readline.c
|
|
|
|
11/25
|
|
-----
|
|
doc/{bash.{1,html},bashref.texi}
|
|
- fixed a gross documentation error in the description of
|
|
${parameter:offset:length} (offset and length were transposed)
|
|
- slight changes to the description of output redirection
|
|
|
|
subst.c
|
|
- new function, quoted_substring, to return substrings of variables
|
|
when the expression is within double quotes and the value has
|
|
CTLESC characters embedded within it. Called by
|
|
parameter_brace_substring
|
|
- get_var_and_type should return VT_POSPARMS if `*' is passed as
|
|
the variable name
|
|
- added a new first parameter for pos_params -- the variable name
|
|
- changed pos_params to obey the rules for "$*" wrt using the
|
|
first character of IFS as the separator in the result
|
|
- if an unquoted $* or $@ is expanded, call quote_escapes on the
|
|
result to protect any special characters from inadvertently
|
|
causing quoting
|
|
|
|
12/3
|
|
----
|
|
builtins/ulimit.def
|
|
- corrected a misspelling of `unlimited'
|
|
- added support for linux RLIMIT_AS resource limit for -v option
|
|
and changed the block multiplier to 1024 if we have RLIMIT_VMEM
|
|
or RLIMIT_AS
|
|
|
|
12/5
|
|
----
|
|
lib/readline/readline.c
|
|
- fix rl_insert to handle a count of exactly 1024
|
|
|
|
shell.c
|
|
- new function: unbind_args(), which removes all the positional
|
|
parameters. Just calls remember_args(NULL, 1)
|
|
|
|
execute_cmd.c
|
|
- call unbind_args when executing a subshell, after setting up
|
|
subshell_argX
|
|
|
|
bashintl.h
|
|
- include <libintl.h> if HAVE_LIBINTL_H defined
|
|
|
|
config.h.in
|
|
- add HAVE_LIBINTL_H define
|
|
|
|
configure.in
|
|
- add call to AC_CHECK_HEADERS for libintl.h
|
|
|
|
doc/Makefile.in
|
|
- added infodir and various mandir defines for completeness
|
|
|
|
Makefile.in
|
|
- changed some of the *dir defines to use the autoconf values
|
|
(e.g., bindir = @bindir@)
|
|
- changed manroot to mandir, removed old mandir and manext variables
|
|
- added `manpfx' variable; should be either `man' or `cat'
|
|
|
|
12/6
|
|
----
|
|
lib/readline/readline.c
|
|
- fixed rl_digit_loop so it once again displays the argument count
|
|
as it's being entered (added calls to _rl_save_prompt and
|
|
_rl_restore_prompt)
|
|
|
|
12/7
|
|
----
|
|
support/config.guess
|
|
- recognize netbsd/vax
|
|
- recognize openbsd on all supported platforms
|
|
- recognize tenon's machten running on powerpc and macintosh
|
|
|
|
12/9
|
|
----
|
|
support/config.guess
|
|
- added all sorts of systems from config.guess distributed with
|
|
autoconf-2.12
|
|
|
|
12/10
|
|
-----
|
|
subst.c
|
|
- new function quoted_strchr(); does the same thing as strchr but
|
|
honors shell backslash and CTLESC quoting conventions
|
|
- parameter_brace_patsub now calls quoted_strchr
|
|
|
|
12/11
|
|
-----
|
|
shell.c
|
|
- if the shell is named `-su', run the normal login shell startup
|
|
files, even if the shell is not interactive. This handles the
|
|
case of `su - username -c command' compatibly
|
|
|
|
lib/readline/readline.c
|
|
- minor change to rl_digit_loop so that M-- and M--1 are equivalent,
|
|
as the prompt for digit arguments has always implied
|
|
|
|
lib/malloc/malloc.c
|
|
- added definitions of calloc() and cfree(), compiled in unless
|
|
NO_CALLOC is defined to cpp
|
|
|
|
|
|
12/16
|
|
-----
|
|
parse.y
|
|
- protect uses of history_expansion_inhibited with #ifdef
|
|
BANG_HISTORY
|
|
|
|
[bash-2.0-release candidate frozen]
|
|
|
|
builtins/common.c
|
|
- changed backslash_quote to quote a tilde if it's the first
|
|
character in the string
|
|
|
|
12/17
|
|
-----
|
|
aclocal.m4
|
|
- changed BASH_CC_WORKS to provide a cross-compiling default for
|
|
better error messages
|
|
|
|
configure.in
|
|
- generated configure using autoconf-2.12
|
|
- changed the default value of CFLAGS to `-g -O2'
|
|
|
|
12/18
|
|
-----
|
|
aclocal.m4
|
|
- look for /var/spool/mail before /usr/spool/mail when checking
|
|
for the default mail directory
|
|
|
|
jobs.c, builtins/shopt.def
|
|
- fixed a couple of `macro replacement within a string literal'
|
|
problems
|
|
|
|
Makefile.in
|
|
- removed `realclean' target
|
|
|
|
shell.c
|
|
- changed the first line ouput by bash --version to conform to
|
|
the latest GNU coding standards (replace space between version
|
|
and machtype with a hyphen)
|
|
|
|
12/19
|
|
-----
|
|
execute_cmd.c
|
|
- when looking at the debug trap in execute_function and
|
|
execute_command_internal, make sure it's trapped and not
|
|
ignored before trying to save the value of the trap string
|
|
|
|
12/20
|
|
-----
|
|
trap.c
|
|
- changed set_signal and ignore_signal to handle EXIT_TRAP and
|
|
DEBUG_TRAP specially, so we don't try to fetch signal handlers
|
|
or do other unnecessary things
|
|
|
|
12/22
|
|
-----
|
|
builtins/ulimit.def
|
|
- if the current euid is not 0, and we're trying to set the hard
|
|
limit of a resource to RLIM_INFINITY, set it to the current hard
|
|
limit to avoid error messages
|
|
|
|
builtins/read.def
|
|
- fix for bug that caused core dump if line read had leading white
|
|
space and IFS was set to ''
|
|
|
|
[bash-2.0-release frozen]
|