Files
bash/CWRU/old-changelogs/CWRU.chlog.v10
T

3178 lines
93 KiB
Plaintext

[code made available via ftp -- first redistributable version]
9/3
---
lib/readline/history.c
- removed stray extern declaration of strrchr()
- made get_history_word_specifier a static function
lib/readline/readline.c
- removed redundant declaration of rl_visible_stats
execute_cmd.c
- make sure that the subshell forked to execute ( xxx yyy ) &
sets original_pgrp to -1 so that ( exec xxx yyy ) & does not
make the exec builtin restore the original process group
9/4
---
builtins/read.def
- free `t' *only if* it was assigned the value from
string_list_dollar_star when more words are read than variables
supplied
variables.c
- moved some external function declarations to file scope
test.c
- changed the unary_advance and advance macros to use the
do { ... } while (0) idiom rather than the comma operator
9/5
---
builtins/getopts.def
- if __GNU_LIBRARY__ is defined, change getopt_set_posix_option_order
to a macro, because getopt.c will not be compiled in
9/7
---
subst.c
- support $POSIX_PEDANTIC as a synonym for $POSIXLY_CORRRECT
builtins/set.def
- added support for `set -o posix'
- changed list_long_opts to use a define (`MINUS_O_FORMAT') for
the format argument to printf
bashline.c, execute_cmd.c, jobs.c, nojobs.c, print_cmd.c, subst.c, test.c,
variables.c
- moved extern declarations from function scope to file scope, or
removed extern function declarations already appearing in bash
header files
bashline.c
- include alias.h if ALIAS defined
lib/readline/history.h
- added extern declaration for history_tokenize
shell.c
- changed run_startup_files to use the global value of
posixly_correct instead of the posix_env argument, which was
eliminated
lib/readline/readline.c
- changed alphabetic() so we're not casting the return value
from strchr() to an int
9/8
---
builtins/ulimit.def
- disable the getrlimit stuff if GETRLIMIT_MISSING is defined
machines.h
- define GETRLIMIT_MISSING for the Sequent Symmetry
- change the M_OS define to `Dynix_ptx' for the Sequent Symmetry
- take HAVE_ALLOCA out of the Symmetry definition
- removed extra HAVE_ALLOCA define from linux machine description
cpp-Makefile
- add $OSTYPE to HOSTTYPE_DECL, defining it as ${OS_NAME}
variables.c
- make a variable $OSTYPE analogous to $HOSTTYPE, set from the
OSTYPE define from cpp-Makefile
documentation/bash.1
- added description of $OSTYPE
parse.y
- changed report_syntax_error so that syntax errors set $? to 2
like sh and ksh do
lib/readline/funmap.c
- added bindings for the non-incremental `search again' functions
like those that vi uses
expr.c, general.c, builtins/trap.def, builtins/common.c
- removed some extraneous extern function declarations
9/9
---
jobs.h
- added some more extern function declarations exported by jobs.c
parse.y, bashline.c, shell.c, builtins/common.c
- removed some extraneous extern function declarations
builtins/common.h
- fixed the extern declaration of parse_and_execute_cleanup
lib/readline/readline.h
- added more extern function declarations for functions in bind.c
and complete.c
- include tilde.h instead of redeclaring the tilde variables and
functions
parse.y
- made with_input_from_stream and with_input_from_stdin void
functions
- made the yy_*_get and yy_*_unget functions static
shell.c
- made all the initialize functions static void
trap.h
- added extern declarations for the rest of the functions defined
in trap.c
trap.c
- made initialize_traps a void function, since it has no return
value
externs.h
- new file, with function declarations not mentioned in other header
files. Included by shell.h.
cpp-Makefile, builtins/Makefile
- updated the dependencies to include new header files
bashline.c, execute_cmd.c, jobs.c, general.c, mailcheck.c, make_cmd.c,
nojobs.c, parse.y, print_cmd.c, shell.c, subst.c, test.c, trap.c,
variables.c, builtins/common.c, builtins/bind.def, builtins/declare.def,
builtins/exec.def, builtins/hash.def, builtins/let.def, builtins/source.def,
builtins/trap.def, builtins/type.def, error.c
- removed extern function declarations already in externs.h
lib/tilde/tilde.h, jobs.h
- protect against multiple inclusion with #ifdef __XXX_H__
jobs.h
- added extern declaration of job_control
general.c
- include <tilde/tilde.h> and remove all of the extern declarations
for the tilde variables
lib/readline/history.h
- added extern declarations for variables exported by history.c
execute_cmd.c
- don't bother trying to free the string passed to make_child in
the child if the command is not found
bashhist.c, bashhist.h
- new files with bash interface to the history library. Moved code
from parse.y, shell.c, subst.c to here.
parse.y, bashline.c, shell.c, subst.c, variables.c
- include bashhist.h
error.c, bashhist.c, bracecomp.c
- added copyright comment
machines.h
- changed hpux_8 and hpux_9 entries to #undef USE_GNU_MALLOC
because they have the same YP bug as SunOS
9/10
----
print_cmd.c
- fixed the printing of functions declared within functions by
making print_function_def and named_function_string responsible
for printing the open and close braces and printing the `inside'
command rather than overloading print_group_command
builtins/fc.def, builtins/history.def
- fixed up to use bashhist.h and removed extra declarations of
history stuff
nojobs.c
- restore the top-level signal mask on Posix.1 systems after
forking in make_child
- make all children set the job control signals to SIG_DFL in
make_child
9/12
----
documentation/texi2roff-2.0.shar
- removed from the source tree
9/13
----
lib/doc-support
- new directory for building texindex
lib/doc-support/texindex.c
- upgraded to version 1.45 from the texinfo-3.1 distribution
documentation/Makefile
- fixed so that features.dvi would build correctly
variables.c, subst.c, braces.c, flags.c, jobs.c, mailcheck.c, parse.y,
builtins/cd.def, builtins/common.c, lib/readline/history.c,
lib/readline/isearch.c, lib/readline/readline.c
- removed instances of `index' being used as a variable or
structure member
cpp-Makefile
- pass HAVE_LIMITS_H through to the rest of the build in
SYSTEM_FLAGS and LIBRARY_CFLAGS
maxpath.h
- removed inclusion of `sysdefs.h', since the only reason it was
included was to pick up HAVE_LIMITS_H
9/14
----
bashhist.h
- add extern declaration of history_expansion_inhibited, dependent
on BANG_HISTORY
execute_cmd.c, builtins/common.c, subst.c, variables.c, parse.y, jobs.c,
error.c, bashline.c
- moved all extern variable declarations to beginning of file,
giving them file scope
execute_cmd.c
- changed the code so that /dev/null is used as fd 0 for async
jobs if the shell itself is not interactive (!interactive_shell)
rather than currently interactive (!interactive)
builtins/break.def, builtins/cd.def, builtins/declare.def
builtins/exit.def, builtins/fc.def, builtins/fg_bg.def builtins/hash.def,
builtins/kill.def builtins/read.def, builtins/return.def,
builtins/setattr.def builtins/source.def, builtins/type.def,
builtins/wait.def
- moved all extern variable declarations to beginning of file,
giving them file scope
9/15
----
support/mksysdefs
- change the test to set SCOREL so that it handles SCO v4.2 and
above (everything above and including 4.0)
machines.h
- changed M_OS define of `Solaris' to `SunOS5'; added -DSolaris to
SYSDEP_CFLAGS for Solaris 2 systems
9/16
----
print_cmd.c
- make sure cprintf() null-terminates the_printed_command correctly
test.c
- changed the last two stray stat() calls to test_stat()
- made test_stat handle emulation of /dev/fd for systems that
don't have it: /dev/fd/x returns the result of fstat(x, finfo)
documentation/bash.1
- added -b to the usage line for the `set' builtin
- added description of `set -o posix'
- added -u, -v to the usage line for the `ulimit' builtin
- added text describing key bindings in ~/.inputrc to the
READLINE section
documentation/texinfo.tex
- upgraded to the latest version from the texinfo-3.1 distribution
documentation/features.texi, lib/readline/doc/rluser.texinfo,
lib/readline/doc/hsuser.texinfo
- a major overhaul and expansion
9/17
----
bashline.c
- set rl_vi_comment_begin to "#" when in Posix.2 mode
lib/readline/vi_mode.c
- set vi mode comment begin character string to "#" by default
9/18
----
lib/readline/bind.c
- added `set keymap' command to the init file variable setting code
documentation/bash.1, documentation/features.texi
- added description of `set keymap' command
lib/readline/doc/rluser.texinfo
- completed description of init file and keybinding syntax
9/20
----
variables.c
- if POSIXLY_CORRECT or POSIX_PEDANTIC are in the initial shell
environment, enter `Posix.2 mode'
machines.h
- define SCO REQUIRED_LIBRARIES as `-lc_s -lc -lPW' to pick up
the functions in libc and libPW from libc (e.g. rename)
9/21
----
execute_cmd.c
- fixed X_BIT macro to protect its argument with parens in the
macro body
maxpath.h
- include sys/param.h on Dynix machines if MAXPATHLEN is not
defined after including limits.h
general.c
- moved the inclusion of <signal.h> on Posix.1 systems up with the
rest of the includes
shell.c, lib/readline/complete.c, lib/tilde/tilde.c
- don't extern declare getpwuid on Dynix machines
lib/readline/history.c
- make sure strlen() is cast to int whenever used in a comparison
9/23
----
lib/readline/readline.c
- changed rl_call_last_kbd_macro to disallow recursive macro
execution
9/26
----
bashline.c
- free rl_vi_comment_begin before assigning to it; make sure to
savestring() what we assign to it
9/28
----
lib/readline/search.c
- in noninc_search, make the ^W and ^U bindings closer to what
Posix.2 specifies. (The ^W binding still uses unix_word_rubout,
which uses whitespace as the word boundary. This is what
ksh-88 does, too. Posix.2 says to use punctuation characters
as word boundaries also.)
lib/readline/vi_mode.c
- fixed a bug in rl_vi_delete_to which caused c[wW] to delete one
extra character when there were multiple spaces between words.
Made the same change to rl_vi_change_to() and rl_vi_yank_to().
lib/readline/complete.c
- fixed quoted substring completion so that `\' can quote the
quote character
- fixed the quoted string completion mechanism by doing the
following:
o quoted word break characters do not break words for the
completer, so `"abcde"/xhy' no longer sends `/xhy' to
the rest of the completion code
o quotes are stripped after the application-specific
completion function is attempted if filename completion
is about to be performed. If needed, they are added
back later. This has the benefit of removing unneeded
quotes.
9/29
----
siglist.h
- ICL DRS6000s need sys_siglist to be defined as _sys_siglist
machines.h
- take the define of sys_siglist out of the DRS6000 entry
- added summary of available definitions for SYSDEP_CFLAGS
- added new SYSDEP_CFLAGS variable: HAVE_GETPW_DECLS to isc386, sgi,
Linux, Dynix descriptions
- changed isc386 description: added ISC_SYSDEPS to make the
SYSDEP_CFLAGS lines a little cleaner
shell.c, lib/tilde/tilde.c, lib/readline/complete.c
- now uses HAVE_GETPW_DECLS define
lib/tilde/tilde.c
- removed references to getpwent(), since it's not called
- add extern declaration for getpwnam()
lib/readline/complete.c
- add a __STDC__ definition for getpwnam() for isc386 machines
cpp-Makefile
- updated the dependencies: bashhist.h, bashansi.h, dependencies
on the library include files
9/30
----
mailcheck.c
- cleaned up the name space by making functions not used by other
files static
- took out redundant test in check_mail after the goto next_mail_file
variables.c
- cleaned up the code a bit by removing unnecessary { ... } pairs
enclosing some code blocks
- check for $IGNOREEOF at startup, call sv_ignoreeof if imported
parse.y
- new variable `ignoreeof', non-zero if we are ignoring EOF, used
in handle_eof_input_unit -- keeps us from looking up $IGNOREEOF
and $ignoreeof on every EOF character
subst.c
- sv_ignoreeof now sets or clears `ignoreeof'
flags.h
- changed flags_alist `name' member to be a char, since we only
ever use one character
- added FLAG_UNKNOWN to be returned by find_flag, since (int *)-1
is not portable, and (int *)0 is just as good a value
flags.c
- changed find_flag, change_flag_char, change_flag, to take a
char as a parameter rather than a char * because we only use
one char and this is faster
builtins/set.def
- changed calls to find_flag to pass a char instead of a char *
shell.c, jobs.c, builtins/set.def
- changed instances of change_flag_char to change_flag, since the
two are now equivalent
cpp-Makefile
- added BUILTIN_OBJS, made BUILTINS_LIB depend on them
- added dependencies for builtin objects on builtin .def files
- otherwise tightened up the dependencies
10/1
----
support/mksysdefs
- handle SGI Irix 5.x by making SYSDEF="Irix5"
parse.y
- made init_yy_io a void function
input.h
- moved extern function declarations for parse.y and input.c to
this file from externs.h
shell.c
- include input.h unconditionally, now that it has extern function
declarations
- check for $POSIX_PEDANTIC at shell startup, set posixly_correct
if found
make_cmd.c
- include input.h for the extern function declarations
execute_cmd.h
- new file, with extern declarations from execute_cmd.c
subst.c, builtins/type.def, variables.h, builtins/exec.def, builtins/hash.def,
shell.c, buitlins/common.c, execute_cmd.c, mailcheck.c
- include execute_cmd.h
cpp-Makefile, builtins/Makefile
- updated the dependencies as a result of the new and changed
include files
execute_cmd.h, externs.h, input.h
- changed to use the __P(()) method of using prototypes for extern
functions
nojobs.c
- include command.h
10/5
----
bashline.c
- make sure test_for_directory frees the filename if stat(2)
fails
lib/readline/vi_mode.c
- fixed the `c' command when used with the following motion
commands: `^', `0', `%', `b', `B'. The cursor was being
moved one position too far, resulting in too much erasure
parse.y
- changed redirection_needing_here_document into a stack of
such redirections (redir_stack), indexed by need_here_doc,
to handle command lines with >1 redirection, e.g.
cat <<a; cat <<b
- new function gather_here_documents to run the redirection stack
shell.c
- don't import redirection_needing_here_doc; call
gather_here_documents() instead
input.h
- extern declaration for gather_here_documents()
machines.h
- add OPENDIR_NOT_ROBUST to the SYSDEP_CFLAGS for SunOS 5
10/6
----
subst.c
- removed the unused `preserve_backslashes' and Q_KEEP_BACKSLASH
code in expand_word_internal
- fixed memory leak: free `istring' before longjmping out of a
bad substitution
- fixed memory leak: free `temp' at the bad_substitution label
- fixed memory leak: free `value' at the bad_substitution label
- removed all calls to longjmp from expand_word_internal: it now
returns a pointer to expand_word_error or expand_word_fatal,
and the caller is responsible for cleaning up locally allocated
resources and calling longjmp with the appropriate parameter.
BY CONVENTION: when one of those distinguished values is returned,
the `string' variable has already been freed, so the caller must
set it to null or otherwise not free it
- changed an fprintf (stderr, ...) to report_error in
parameter_brace_expand_error
dispose_cmd.c
- check for word->word being non-null in dispose_word before trying
to free it
10/8
----
variables.c
- made new_shell_variable static
- made set_var_read_only, set_func_read_only, set_var_auto_export,
set_func_auto_export, sort_char_array, maybe_make_export_env,
put_command_name_into_env void functions
variables.h
- added declarations for all the missing extern functions
builtins/hash.def
- include posixstat.h for definition of struct stat to use in
function prototype declarations
expr.c
- renamed local function `assignment' to `expassign' to avoid
clashing with the global `assignment' defined in variables.c
builtins/source.def
- include `execute_cmd.h' to pick up extern function declarations
trap.h
- protected against multiple inclusion with __TRAP_H__ define
- added prototypes with __P
10/11
-----
support/mksysdefs
- check in /usr/include/ansi and /usr/include/bsd for NeXT 3.x
machines
lib/readline/vi_mode.c
- include rldefs.h
10/12
-----
test.c
- changed the `-x' test to call access(2) when AFS is defined,
since `stat' doesn't work with AFS
builtins/cd.def
- added code to dirs_builtin to implement dirs -n and dirs +n
documentation/bash.1, documentation/features.texi
- updated description of `dirs' builtin
10/14
-----
lib/readline/bind.c
- new function _rl_bind_if_unbound, which binds a key sequence to a
readline function if that key sequence is unbound
lib/readline/readline.c
- use _rl_bind_if_unbound to try to bind the arrow keys in
init_terminal_io
10/15
-----
lib/readline/display.c
- laid the groundwork for expanding special characters in
readline prompt strings: new function expand_prompt
- rl_redisplay now has static local prompt variables:
local_prompt: expanded prompt string after last newline
local_prompt_prefix: expanded prompt string before last newline
visible_length: number of visible chars in local_prompt
prefix_length: number of visible chars in local_prompt_prefix
changed when rl_display_prompt changes
10/18
-----
lib/readline/display.c
- new function: rl_expand_prompt, expands the prompt and sets the
local display variables to the right values for redisplay.
- changed rl_redisplay to use the values computed by rl_expand_prompt
if rl_display_prompt == rl_prompt and the old expansion code if
otherwise (for instance, if rl_display_prompt is set by rl_message)
lib/readline/readline.c
- new function: rl_get_termcap to retrieve the value of any termcap
attribute that readline retrieves
- made readline_internal static, added appropriate declarations
- new global library variable: rl_visible_prompt_length
- added call to rl_expand_prompt in readline() before call to
rl_initialize
lib/readline/search.c
- use rl_visible_prompt_length instead of strlen(rl_prompt) in
noninc_search ()
10/19
-----
execute_cmd.c
- in execute_command_internal, mark an async job with a forced
subshell `( xxx ) &' as no longer an interactive shell, no
matter whether or not the original shell was interactive. This
allows jobs to be reaped without notification and fixes a mem
`leak' (not really a leak, but the shell keeps increasing the
size of the jobs table)
10/21
-----
machines.h
- updated the NEC EWS description with hints from Jim Blandy
10/23
-----
lib/readline/display.c
- changed expand_prompt so that it understands `escape' characters
to mark the beginning and end of a sequence of non-visible
characters, and takes these into account when returning the
length of the prompt string
lib/readline/readline.h
- new defines: RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE
10/24
-----
parse.y
- removed check for $NO_PROMPT_VARS from decode_prompt_string()
documentation/bash.1
- removed reference to $NO_PROMPT_VARS
10/25
-----
machines.h
- add -lc_s to the AIX/PS2 REQUIRED_LIBRARIES definition
lib/readline/readline.c
- removed the extra space that rl_yank_nth_arg adds before the
yanked string
10/26
-----
trap.c
- set_sigint_handler now sets the SIGINT handler to sigint_sighandler
only if `interactive' is set, rather than interactive_shell. This
fixes the `". x", then sigint' bug reported by Vasco Pedro.
general.c
- removed `register' from variable declarations in function prologues
- some functions now take slightly different arguments:
delete_element takes a `char *' as the third argument
find_name_in_list takes a `char **' as the second argument
general.h
- changed definition of REVERSE_LIST to cast the argument of the
call to reverse_list()
- added prototypes for all extern functions defined in general.c
- definition of BCOPY for use in general.c and elsewhere
shell.c
- changed some calls to reverse_list to REVERSE_LIST
shell.h, make_cmd.c, unwind_prot.c, input.c, builtins.h, error.c
- include command.h before general.h for declaration of WORD_LIST
execute_cmd.c, expr.c, general.c, input.c, shell.c, unwind_prot.c, parse.y
- changed calls to bcopy to call xbcopy instead, and cast the
first two arguments to char *
copy_cmd.c
- changed calls to bcopy to call BCOPY instead
machines.h
- new machine definition for IBM AIX/ESA (OSF/1) from Sergio
Gelato
support/mksysdefs
- If `uname -m' returns `ESA', the machine is an IBM ESA
lib/posixheaders/memalloc.h
- new file, to unify the code to include <alloca.h> if necessary
and declare alloca()
config.h, config.h.mini, lib/readline/rldefs.h, lib/readline/history.c,
lib/readline/isearch.c, lib/readline/search.c, lib/tilde/tilde.c
- changed to include "memalloc.h"
builtins/getopt.c
- don't include #pragma alloca line on IBM ESA systems
- include malloc.h rather than alloca.h for AIX/ESA
support/getcppsyms.c
- new defines to support AIX/ESA
cpp-Makefile, builtins/Makefile, lib/readline/Makefile
- updated dependency information to include memalloc.h
lib/readline/vi_keymap.c
- `\' in vi insertion mode should be mapped to self-insert rather
than quoted-insert
10/27
-----
nojobs.c
- added variable `already_making_children', made a function
start_pipeline called from make_child to set it, value cleared
in stop_pipeline. This is how jobs.c treats it.
execute_cmd.c
- in the `subshell' code in execute_command_internal, we need to
handle a possible `return' if in a function:
f()
{
echo x | ( read b ; return 1 )
return 0
}
and treat it like an `exit'
- already_making_children is no longer a job-control only variable
- made the code that decides whether or not to wait for a child
process in the simple_command case of execute_command_internal
be the same for job control and non-job control shells, since
already_making_children has been put into nojobs.c
lib/readline/display.c
- changed the display code to handle invisible characters in the
prompt and still wrap lines at the correct column. wrap_offset
is the variable used to keep track of the number of invisible
characters in the buffer
- changed rl_redisplay to use `screenchars' from readline.c so we
don't have to compute (screenwidth * screenheight) on each
redisplay
lib/readline/readline.c
- new variable `screenchars', set to the total number of characters
on the screen we can use (screenwidth * screenheight)
- changed rl_refresh_line so that it computes the line that the
cursor is on correctly, taking invisible characters into account
10/28
-----
general.h
- changed declaration of vfree to xfree
general.c
- renamed vfree to xfree, since some systems already have a vfree()
in libc
execute_cmd.c, jobs.c, builtins/read.def, builtins/common.c
- changed vfree to xfree
shell.c
- for systems that don't define USG and define ENOTSOCK, try to
use getpeername() in issock() to find out whether or not an
fd is a socket
documentation/bash.1, documentation/features.texi
- documented the new \[ and \] prompt string escape sequences
documentation/bash.1, lib/readline/doc/rluser.texinfo
- documented the new `show-all-if-ambiguous' readline variable
lib/readline/complete.c
- changed rl_complete to call rl_complete_internal with `!' if
the variable `_rl_complete_show_all' is non-zero
- changed rl_complete_internal to show all matches if there is
more than one and what_to_do is `!'
lib/readline/bind.c
- new variable `show-all-if-ambiguous' to control the value of
_rl_complete_show_all
- changed a call to alloca() in rl_parse_and_bind to a
malloc/free pair (`seq' variable), since some systems do not
allow alloca'd memory to be passed to a function
- did the same alloca -> xmalloc/free in rl_generic_bind
(`keys' variable)
10/29
-----
dispose_cmd.h, make_cmd.h, command.h
- added prototypes for the extern function declarations
variables.c
- BSD/386 needs getenv to have a `const char *' argument
make_cmd.c
- changed make_until_or_while to a static function
command.h
- removed extern declarations for functions in make_cmd.c; those
are in make_cmd.h
11/1
----
input.c
- make sure that sync_buffered_stream returns a value
test.c
- make sure that binary_operator returns a value
11/2
----
cpp-Makefile
- added a definition of GCC_LINT_FLAGS and GCC_LINT_CFLAGS to
generate lint-like warnings from gcc
siglist.h
- cast references to sys_siglist[] in the `strsignal' macro
for the benefit of Linux
jobs.c, nojobs.c
- changed all absolute references to sys_siglist to call the
strsignal macro instead
lib/readline/{readline.c,display.c,signals.c}
- _rl_output_character_function is an int
lib/readline/rltty.c
- outchar should return an int
general.c
- use %ld to printf longs
builtins/trap.def
- reordered code and eliminated some brace groups
builtins/ulimit.def
- open_files() should return a long
shell.h
- include <varargs.h> if HAVE_VARARGS_H is defined, not simply if
HAVE_VFPRINTF is defined
parse.y, execute_cmd.c, subst.c, trap.c, jobs.c
- make sure that all function parameters are declared explicitly
and not defaulted to int
builtins/fg_bg.def
- fixed a bug where last_asynchronous_pid could be set to a random
value if an unknown job or a non-job-control job was selected
test.c
- added a missing `%s' to a call to test_syntax_error
cpp-Makefile
- renamed `endian.h' to `bash-endian.h'; it seems that linux and
gnu libc use it in /usr/include. What a pain in the ass.
11/4
----
machines.h
- add `#define HAVE_VARARGS_H' to the Linux machine description;
the auto-configuration process is unable to find it in the gcc
private include directories
11/5
----
cpp-Makefile
- COMPRESS_EXT should be `.gz'
general.h
- have the BCOPY define for USG machines use `memmove' rather than
`memcpy', since that handles overlapping objects correctly
lib/readline/display.c
- fixed the line updating code that checked whether a new line was
shorter or had fewer invisible characters that the visible line,
and called clear_to_eol with the right value and only in the
right cases
machines.h
- added separate machine descriptions for NetBSD and FreeBSD
builtins/command.def
- don't try to call confstr() on NetBSD
11/6
----
machines.h
- define HAVE_BCOPY for sgi
- define HAVE_GETHOSTNAME for Linux and HPUX machines later than
hpux 6.2
general.h
- remove the `if defined (sgi) from the clause that defines BCOPY
general.c
- use new HAVE_BCOPY and HAVE_GETHOSTNAME defines instead of the
OS-specific symbols used before
11/8
----
machines.h
- for i386 machines running aix/ps2, use USE_TERMCAP_EMULATION,
since the terminfo database is more up-to-date than termcap
lib/readline/complete.c
- make sure that X_OK is defined for the VISIBLE_STATS code
config.h, builtins/echo.def
- added a DEFAULT_ECHO_TO_USG option for the echo builtin
lib/readline/rldefs.h
- Xenix 2.2 systems, while mostly USGr3, do not have `sighold'
and related functions
lib/readline/isearch.c
- added a variable `prev_line_found' to keep the incremental
searches from finding the same line two or more times in a
row
support/getcppsyms.c
- recognize `_M_XENIX' and `mc68k32' symbols from cpp
tests/run-dollar-at-star-test
- use `../bash' to point at the bash executable rather than
`../../sun4/bash'
general.h
- some systems have a `strerror' define, so we need to protect
the extern function declaration
trap.h
- use SIG_DFL rather than NSIG as the test of whether or not to
include <signal.h>, since Posix.1 does not require NSIG
11/9
----
subst.c
- new function get_word_from_string to slice a field off the front
of a string and skip trailing separators according to $IFS
builtins/read.def
- changed read_builtin to use get_word_from_string to `incrementally'
do word splitting on the line read so that if fewer variable names
are given than words read, the separators in the original line are
preserved. This makes `read' Posix.2 compliant.
11/10
-----
cpp-Makefile
- add a sentinel file `parser-built' for y.tab.c and y.tab.h to
depend on, since there's no rule for telling make how to build
y.tab.h
shell.c
- removed the #ifdef AUX code that sets up a 4.2 compatible
environment in favor of using the -ZP option to cc to create
a Posix executable (AUX 3.0)
jobs.c
- changed sigwinch_sighandler so that it saves the window size
struct with the new values in shell_tty_info.c_winsize on AIX PS/2
Since readline calls the old sigwinch handler, this code should
be called no matter when the signal is received
support/mksysdefs
- add code to define AIX_13 on AIX PS/2 version 1.3 machines
machines.h
- there are different SYSDEP_CFLAGS and REQUIRED_LIBRARIES for
AIX PS/2 1.2 and 1.3, so use the AIX_13 define to differentiate
11/11
-----
execute_cmd.c
- speedups and fixes for here document processing in
do_redirection_internal: don't do string processing we can
avoid, use stdio to help with write buffering if we're
expanding the document, close some file descriptor leaks
make_cmd.c
- speed up gathering here documents: avoid expensive calls to
strncmp when possible, avoid a stupid strcpy when stripping
leading tabs, use BCOPY instead of strcpy
print_cmd.c
- made varargs and non-varargs versions of cprintf() as similar
as possible
- redid the_printed_command_resize() to be a little smarter about
allocating memory
subst.c
- sped up string_list_internal by allocating all the necessary
space before copying rather than using xrealloc, using BCOPY
and an `end ptr' instead of strcat, trying not to call strlen
to get the separator length
- sped up sub_append_string by using BCOPY instead of strcat,
being smarter about memory allocation, and cutting down calls
to strcpy
- sped up expand_string_internal by not calling the
make_word/dispose_word pair, but by filling in a local
WORD_DESC, short-circuiting if the string is null or empty
- don't bother trying to split words in expand_string_leave_quoted
if expand_string_internal returns a null list
- ditto for dequoting in expand_string_unsplit
lib/readline/vi_mode.c
- removed `w' and `W' from the list of characters that do not
require the point to be moved after a call to rl_vi_domove
in rl_vi_delete_to (`d') and rl_vi_yank_to (`y'). Only the
`c' command (rl_vi_change_to) requires this behavior
11/12
-----
subst.c
- make sure all places which call expand_word_internal are
prepared to deal with error returns (expand_word_error
and expand_word_fatal) by adding a convenience function
call_expand_word_internal that performs the call and deals
with the possible error returns. This keeps the shell
from dumping core on some errors
lib/readline/vi_mode.c
- make sure <sys/types.h> is included before rldefs.h
parse.y
- changed read_a_line to use and re-use a static line buffer
make_cmd.c
- no longer need to free full_line, since read_a_line (called
from read_secondary_line), does not allocate a new one on
each call
builtins/psize.c, alias.c
- need to include command.h before general.h
11/15
-----
documentation/features.texi, lib/readline/doc/{hsuser,rluser}.texi
- fixed some spelling errors and typos
endian.c
- include <sys/types.h> for size_t
Makefile.inc
- new file, included in cpp-Makefile, providing biolerplate Gnu
make definitions
cpp-Makefile
- include Makefile.inc
- added `distclean', `realclean' targets as per Gnu coding
standards
11/17
-----
cpp-Makefile
- `make install' now installs the documentation in $(mandir) and
$(infodir)
- `make documentation' now passes $(MFLAGS) to the sub-make
documentation/Makefile
- now has an `install' target
config.h
- RESTRICTED_SHELL is no longer automatically defined
support/mksysdefs
- Intel paragons (uname -m = paragon) need MAKE_ANSI set to true
lib/readline/history.c
- create the history file with mode 0600, since it's supposed to
be private information
builtins/fc.def
- make sure we put in the tab and `*' only if the line is actually
being listed to stdout rather than to a file for reexecution
11/17
-----
machines.h
- fixed a typo in the hpux machine description
- added some SYSDEP_CFLAGS to the __BSD_4_4__ description
README
- corrected mail address for bash-maintainers
jobs.h
- don't declare fork (), getpid (), and getpgrp () on __BSD_4_4__
11/18
-----
subst.c
- fix to string_list_internal to make it return a null string if
handed a null list
parse.y
- fix to find_reserved_word: `word' is declared as the argument, but
`token' is what's used in the body
lib/malloc/alloca.c
- Crays need to define _getb67() as CRAY_STACKSEG_END
machines.h
- ISC machines should be using USE_TERMCAP_EMULATION
11/19
-----
lib/readline/Makefile, lib/tilde/Makefile, lib/glob/Makefile, cpp-Makefile
- change instances of `make' in recipes to `$(MAKE) $(MFLAGS)'
machines.h
- SunOS4 needs `OPENDIR_NOT_ROBUST'
- recognize a Motorola M88100 if m88k and USGr4 are defined, since
support/mksysdefs sets SYSDEF to USGr4 rather than M88100 for
the Motorola V.4
- changes to the ISC entry to handle ISC version 4 as well as
version 3 using cc and gcc to compile
shell.c
- fixed a typo (__POSIX_VERSION -> _POSIX_VERSION)
- fixed a problem with reset_terminating_signals which caused the
wrong signal numbers to be checked for being trapped or
handled specially
lib/readline/vi_keymap.c
- ^H in movement mode should by default be mapped to rl_backward
- delete (^?) should be unbound in the default movement mode keymap
lib/readline/vi_mode.c
- rl_vi_last_arg should insert a space before inserting the last
argument, according to Posix.2
getcwd.c
- correctly declare the second argument as a size_t if __STDC__
is defined
11/20
-----
builtins/fc.def
- go back to the ad-hoc option parsing style, because the builtin
getopt does not handle things like `fc -l -10' correctly
support/mksysdefs
- fixed a typo problem defining $UnicosMachine that left a comment
unclosed
lib/malloc/alloca.c
- bug fix from Bill Jones for CRAY_STACKSEG_END define
config.h, execute_cmd.c
- fix for CRAY and defining `word'
machines.h
- Crays need to define OPENDIR_NOT_ROBUST
bashtypes.h
- sys/types.h with handling for multiple inclusion and Cray
peculiarities
execute_cmd.c, make_cmd.c, parse.y, subst.c
- include `bashtypes.h' rather than <sys/types.h>
11/22
-----
machines.h
- add definitions of CRAY_STACKSEG_END for Cray XMP and YMP
- removed OLD_CRAY_DESCRIPTION stuff
lib/readline/rldefs.h
- encapsulate CRAY peculiarities with casting pointers to ints
inside two defines: FUNCTION_TO_KEYMAP and KEYMAP_TO_FUNCTION
lib/readline/bind.c, lib/readline/readline.c
- change code to use FUNCTION_TO_KEYMAP and KEYMAP_TO_FUNCTION
maxpath.h
- include <sys/param.h> on the convex, but not on bsdi
newversion.c
- overhauled and cleaned up
- added the `-patch' argument to set the patch level of the shell
- look in `.patchlevel' for the patch level and write it out as
PATCHLEVEL
version.c
- new variable patch_level
shell.c
- the version string is now `dist.patch(build)'
- new function shell_version_string returns a pointer to the
version string, show_shell_version changed to use it
variables.c
- bind $BASH_VERSION to the value of shell_version_string ()
11/23
-----
machines.h
- SCO machines now include -DPGRP_PIPE in the SYSDEP_CFLAGS define
- HPUX_9 needs an #undef HAVE_RESOURCE; it appears that they've
finally removed getrusage
trap.c
- signal_name should return an error when passed NSIG
parse.y
- add AND_AND and OR_OR to the list of tokens which are not followed
by a semicolon
- decrement current_command_line_count if pre_process_line returns
a null or empty string, otherwise the next input line may be
combined with the previous line inappropriately
11/24
-----
machines.h
- the KSR/1 section should be delimited by `__ksr1__', added some
SYSDEP_CFLAGS to that description
support/mksysdefs
- quote all the arguments to expr
support/getcppsyms.c
- recognize and pass on `__ksr1__'
lib/readline/bind.c
- new inputrc variable `output-meta', which means output meta
chars without converting them to M- sequences
lib/readline/readline.c
- new variable `_rl_output_meta_chars' to hold value of
`output-meta', initially off
- slight efficiency improvement to rl_insert_text, rl_forward,
rl_backward
- changed the order of args to rl_kill_text in rl_unix_word_rubout
so that multiple words can be killed and yanked out in the
`right' order
lib/readline/display.c
- changes to use the value of `_rl_output_meta_chars' to decide how
to output characters with the eighth bit set
documentation/bash.1, lib/readline/doc/rluser.texinfo
- documented new readline `output-meta' variable
lib/readline/complete.c
- make the replacement of typed text by a completion match be a
single undoable event
builtins/type.def
- call user_command_matches specifying FS_EXEC_ONLY as the search
criteria. This keeps test from finding directories
bashhist.c
- changed maybe_save_shell_history so that if the history has
been stifled then the history file is replaced with the current
history list
11/29
-----
builtins/exec.def
- if the shell is restricted, exec is not allowed
cpp-Makefile
- more changes for GNU standards: VPATH, libdir, srcdir
jobs.h
- remove machine-specific undefining of HAVE_WAIT_H
machines.h
- cadmus systems need to #undef HAVE_WAIT_H
- hpux_usg and hpux_6 systems need to #undef HAVE_WAIT_H
- added a section for `Irix5' to the sgi section
documentation/Makefile
- fixed up the install for bash_builtins.1 so that it sets the .so
path correctly
shell.c
- renamed issock to isnetconn and made its inclusion unconditional
- added a check for S_ISCHR for SVR4 and SVR4.2 systems to isnetconn
subst.c
- added code so that `history_control=ignoreboth' works
documentation/bash.1, documentation/features.texi
- added a description of `ignoreboth' to the text describing
`history_control'
11/30
-----
input.c
- don't print an error message in check_bash_input if the fnctl
to dup the file descriptor fails unless the file descriptor
is already active
jobs.c, nojobs.c
- set bash_input.location.buffered_fd to -1 when setting
default_buffered_input to -1 in make_child. This fixes
the `( echo hi 1>&3 ) 3>&1 >/dev/null' spurious error message
shell.c, error.c
- removed the automated bug report code
support/bashbug.c
- is no more
Makefile
- added GNU boilerplate definitions
support/bashbug.sh, support/mkbashbug
- new files for a BSD sendbug-like bug reporting shell script
cpp-Makefile
- changes to use $(SUPPORT_SRC) instead of $(SDIR) under some
circumstances
- removed references to support/bashbug.c
- new target to make bashbug from $(SUPPORT_SRC)/bashbug.sh using
$(SUPPORT_SRC)/mkbashbug
- bashbug is now created by default
- don't build endian.aux or create bash-endian.h if HAVE_WAIT_H
is defined, because it will end up being unused anyway
machines.h
- add OPENDIR_NOT_ROBUST to the isc386 description
signames.c
- make the signal_names array 2 * NSIG long to hack around HP/UX
misfeature
builtins/test.def
- fixed the help text for -t to note the the fd argument is not
optional
12/1
----
builtins/common.c
- changed parse_and_execute so that it no longer unconditionally
sets `interactive' to 0. It is now the responsibility of callers
of parse_and_execute to set it how they want, and reset it if
necessary
shell.c, subst.c, builtins/source.def
- changed the functions that call parse_and_execute to manage the
value of `interactive'
shell.c
- changed maybe_execute_file so that it takes a second argument
saying whether or not to force the value of `interactive' to 0
- changed all calls to maybe_execute_file to add a second arg
builtins/fc.def, builtins/exit.def
- changed all calls to maybe_execute_file to add the second arg
Now background jobs re-run with `fc -s' echo the job number
externs.h
- changed the function prototype for maybe_execute_file
12/2
----
execute_cmd.c
- rewrote the auto-resume code in execute_simple_command for clarity
- added the `substring' value for auto_resume to cause a command that
matches a substring of a stopped job to restart that job
documentation/bash.1, documentation/features.texi
- added a description of the possible values for `auto_resume' and
their effects on the shell's behavior
machines.h
- added a generic desription for SVR4 running on the sparc from
Ian Stewartson
Makefile
- added a command to the bash-Makefile target that will remove
bash-Makefile and (hopefully) stop the make if something happens
and bash-Makefile is created with zero length
12/3
----
machines.h
- add -DOPENDIR_NOT_ROBUST to the SYSDEP_CFLAGS for SCO
- if compiling with gcc on SCO, link with -lc_s and -lc in
REQUIRED_LIBRARIES
12/6
----
builtins/source.def
- new variable `sourcelevel' which is incremented each time `.'
is called and decremented before source_builtin returns
variables.c
- find_variable should call find_variable with a second parameter
of 1 if `builtin_env' is non-null, so it will search it. This
ensures that all builtins inside a script read with `.' with a
temporary environment will get the right values
subst.c
- fix for get_word_from_string: white space should be removed from
the beginning of the string if $IFS is " \t\n"
execute_cmd.c
- in `Posix.2 mode', redirections should not perform filename
expansion when the shell is not interactive
12/7
----
support/getcppsyms.c
- recognize `__i386__'
lib/readline/bind.c
- only free and reassign `last_readline_init_file' if it has
changed (`filename' points to something different) in
rl_read_init_file
builtins/ulimit.def
- add a `$DEPENDS_ON !MINIX' line so that this won't be built
under MINIX
config.h
- Minix machines need JOB_CONTROL undefined
cpp-Makefile
- don't define libraries with absolute pathnames; use -llibname
instead
- make sure MALLOC_LIBRARY is defined even if the Gnu malloc is
not being used for the benefit of `LD_HAS_NO_DASH_L'
general.c
- use a `TIMEVAL_MISSING' define to decide whether or not to
try to print a struct timeval * rather than simply `USG'
lib/readline/parens.c
- don't try to include <sys/time.h> unless FD_SET is defined
lib/readline/vi_keymap.c
- fix incorrect cast of rl_abort in vi_movement_keymap
signames.c
- make sure NSIG is defined
siglist.c
- include `trap.h' to pick up definition of NSIG if it's undefined
siglist.h
- minix uses _sys_siglist and does not need an external declaration
for it
12/8
----
lib/readline/readline.c
- add `ks' and `ke' to the termcap attributes that readline retrieves
lib/readline/rltty.c
- new function `control_keypad' to enable and disable keypad keys.
Some systems need this before the arrow keys will work
- call control_keypad to enable and disable the keypad from the
terminal prep and deprep code
12/9
----
support/mksysdefs
- added code a la trn `Configure' to search a list of include
directories for each .h file of interest. Done by defining a
variable containing the code fragement we want to execute and
calling `eval' on this string for each file
lib/readline/bind.c
- slightly changed the filenames used by rl_read_init_file. Now
the filename used is the first non-null file from this list:
1. the filename used for the previous call
2. the value of the shell variable `INPUTRC'
3. ~/.inputrc
documentation/bash.1
- added descriptions of INPUTRC to the shell variables and
readline sections
documentation/features.texi
- added a description of INPUTRC to the shell variables section
lib/readline/doc/rluser.texi
- added description of the INPUTRC environment variable
- changed instances of ~/.inputrc to the more generic `init file'
or `inputrc file'
lib/readline/complete.c
- added #defines for the possible values of `do_replace' rather
than relying on magic numbers
- if a completion that needs double quotes starts with a tilde,
rl_complete_internal now performs tilde expansion before
quoting the string, since the shell allows double quotes to
inhibit tilde expansion
12/10
-----
lib/readline/readline.c
- new function to kill the whole line no matter what point is:
rl_kill_full_line ()
lib/readline/readline.h
- extern declaration for rl_kill_full_line ()
lib/readline/funmap.c
- rl_kill_full_line is available as `kill-entire-line'
cpp-Makefile
- remove `.machine' when `make clean' run
subst.c, subst.h
- made expand_string_leave_quoted static again
12/14
-----
shell.c
- use HAVE_SOCKETS define to decide whether to include <sys/socket.h>
and call getsockname(); defined automatically for non-USG systems
if ENOTSOCK is defined
12/15
-----
bashline.c, flags.c, flags.h, jobs.c, subst.c, builtins/common.c,
builtins/cd.def
- changed `follow_symbolic_links' to `no_symbolic_links', with an
opposite meaning
flags.c, flags.h
- new shell option, -P/-o physical set if no_symbolic_links is set
- changed a sequence of `if' statements into a switch statement in
change_flag
documentation/bash.1, documentation/features.texi
- added documentation for the -P/-o physical option
builtins/cd.def
- follow_symbolic_links is now declared in flags.c and declared
extern here
builtins/set.def
- code to set and get the value of -P/-o physical
- fixed up the help text and short documentation string
- made `set -?' print a usage message
subst.c
- made sv_nolinks set the new variable `no_symbolic_links'
12/17
-----
machines.h
- add -DUSG to HPUX_CFLAGS
- hpux 9 does not need -lPW and can use the gnu malloc if gcc
is being used
config.h
- remove the code that defines USG for HPUX, Xenix, and UNIXPC
in favor of putting it into the machines.h entry
12/19
-----
flags.h
- added prototypes for the extern function declarations from flags.c
*.h
- added copyrights to the include files which were missing them
lib/readline/vi_mode.c
- rl_vi_yank_nth arg inserted the space in the wrong spot before
yanking the last argument
- removed the call to rl_vi_insertion_mode because of changes to
rl_yank_nth_arg
lib/readline/readline.c
- changed rl_yank_nth_arg so that vi mode inserts a space in the
right spot
- fixed rl_yank_nth_arg so that yanking into an empty line does
not corrupt the buffer
lib/readline/search.c
- fixed noninc_search so that ^H and RUBOUT call rl_rubout
explicitly
bashline.c
- fix for operate_and_get_next to make ^O work on the most
recent line even if the history is unstifled. From Seth
Robertson. XXX - may not be right
parse.y
- set interactive to 0 before calling parse_and_execute in
execute_prompt_command to stop infinite recursion through
this function
shell.c
- moved the code that executes PROMPT_COMMAND to parse_command
parse.y
- removed the code that executes PROMPT_COMMAND from read_token
to avoid confusing non-reentrant versions of yacc
- made execute_prompt_command global, not static
input.h
- new declaration for execute_prompt_command
jobs.c
- made give_terminal_to return -1 if tcsetpgrp fails
- initialize_jobs now prints a message if job_control ends up being
set to 0
support/mkmachtype
- shell script stolen from emacs 19 that attempts to output the
`GNU-style' machine type, e.g. sparc-sun-sunos4.1.2. Named
`mkmachtype' because I envision people assigning its output to
a MACHTYPE variable
12/20
-----
execute_cmd.c
- if a command is found in the temporary $PATH, don't add it to
the hash table
error.c
- changed report_error so that the script name is echoed instead
of the shell name if the shell is not interactive
12/22
-----
machines.h
- made the Sun description unconditionally #undef USE_GNU_MALLOC
because memory access bugs are legion in libc in SunOS 4.x and 5.x
jobs.c
- disabled printing an error message when the tcgetattr in
get_tty_state() fails
12/27
-----
cpp-Makefile, jobs.h
- renamed bash-endian.h to bash_endian.h
machines.h
- NeXT machines need to #undef HAVE_DIRENT_H, since it requires
ANSI/POSIX defines that make the rest of the compilation fail
- SGI irix 5.x machines need -DNO_SBRK_DECL in SYSDEP_CFLAGS
- machine descriptions for OSF/1 running on i386 and MIPS machines
from Michael Meissner
12/28
-----
expr.c
- fixed so that blank expressions evaluate to 0 rather than an
error ($[ ] or $(( )))
lib/readline/readline.c
- new variable `_rl_bell_preference' replacing _rl_prefer_visible_bell
- changed ding() to use _rl_bell_preference
lib/readline/rldefs.h
- definitions for NO_BELL, AUDIBLE_BELL, and VISIBLE_BELL
lib/readline/bind.c
- changed rl_variable_bind to parse the `bell-style' variable and its
possible values (`none', `audible', or `visible'), keeping
`prefer-visible-bell' for backwards compatibility
documentation/bash.1, lib/readline/doc/rluser.texinfo
- added descriptions of the `bell-style' and `expand-tilde'
readline variables
general.c
- changed set_signal_handler for posix systems to attempt to
restart all interrupted system calls execept for SIGALRM
trap.c
- changed restore_signal to use set_signal_handler() instead of
signal()
- added a new function set_signal_ignored to set the SIG_HARD_IGNORE
flag for a particular signal
execute_cmd.c
- call set_signal_ignored for SIGINT and SIGQUIT in the child if
the command is asynchronous after calling restore_original_signals,
since restore_original_signals will undo work done by make_child
done in a new function setup_async_signals
execute_cmd.h
- extern declaration for setup_async_signals
subst.c
- call setup_async_signals when making the child for process
substitution
jobs.c, nojobs.c
- removed code from make_child that sets SIGINT and SIGQUIT to
SIG_IGN, since setup_async_signals now does that
shell.c
- let throw_to_top_level call longjmp with DISCARD if the shell
is an interactive shell, but not yet initialized
12/29
-----
config.h
- define PROCESS_SUBSTITUTION if HAVE_DEV_FD is defined, even if
MKFIFO_MISSING is also defined
execute_cmd.c
- close pipes created using /dev/fd for process substitution at
the same time as the pipes for conventional piping are closed
subst.c
- when the /dev/fd list is initialized, clamp the total number of
file descriptors at 256, but make sure there is room enough to
store a bit for the fd passed to add_fifo_list
12/30
-----
lib/readline/readline.c
- change a strncpy() in rl_delete_text to a for loop, since some
versions of strncpy can't handle overlapping arguments
lib/readline/chardefs.h
- definition for digit_value(x)
lib/readline/history.c
- changed calls to sscanf followed by an empty for loop that consumes
the digits to a for loop that computes the value as it goes along
in get_history_word_specifier()
- added `x*' and `x-' history word designators from csh
- added new `&' modifier to repeat previous substitution
- experimental implementation of `q' modifier to quote substituted
words by calling single_quote on the substituted string
lib/readline/history.c, builtins/fc.def
- changed a loop using strncmp() to find one string in another for
substitution to test the current character against the first
character of the pattern before calling strncmp()
documentation/bash.1, lib/readline/doc/hsuser.texinfo
- documented the new history word designators
- documented new `&' and `q' history modifiers
1/1
---
parse.y
- broke the code that parses `( ... )' subshells out into its
own grammar production
lib/readline/history.c
- rearranged some code to get rid of gotos and make the intent
clearer
- fixed a bug in history_truncate_file that tried to write to
a file opened O_RDONLY
- changed a stat-open in history_truncate_file into an open-fstat
pair
- removed gotos in history_search_internal
- changed straight strncmp() calls trying to find history line
matches to check the first character before calling strncmp in
history_search_internal
- changed a call to stat after an open (!) to fstat on the
returned file descriptor
- cleaned up the code in get_history_event
- cleaned up some code in get_history_word_specifier
- cleaned up some code and removed extra function calls in
history_arg_extract
- changed history_arg_extract to malloc enough space for the
entire string at one time, instead of doing xrealloc in a
loop
- cleaned up the code in history_tokenize, removing gotos and
other spaghetti constructs
- replaced a call to sprintf with assignment statements and a call
to strcpy in history_expand
cpp-Makefile
- changed the `INDEX' target to a `TAGS' target
lib/readline/emacs_keymap.c
- added a default binding for ESC-ESC to rl_complete, like ksh emacs
mode editing
1/3
---
machines.h
- make sure ISC_POSIX is defined as nothing when using gcc on isc386
parse.y
- made token_to_read, current_token, last_read_token,
token_before_that, EOF_reached, shell_input_line,
shell_input_line_*, token, token_buffer_size all static vars
- made prompt_again return immediately if the shell is not
currently interactive
- made yylex call prompt_again only if there is no token_to_read
and the shell is currently interactive
jobs.c
- changed the NeXT || alliant define to use RLOGIN_PGRP_BUG
- use TERMIOS_LDISC define for systems with line discipline field
in struct termios
shell.c
- use RLOGIN_PGRP_BUG instead of NeXT to fix machines that get
started without a controlling terminal
machines.h
- added -DRLOGIN_PGRP_BUG to SYSDEP_CFLAGS for NeXT and alliant
- added -DTERMIOS_LDISC to SYSDEP_CFLAGS for Ultrix, Sun OS 4,
and aixpc
support/mksysdefs
- look for sys/param.h, define HAVE_SYS_PARAM if found
cpp-Makefile
- pass -DHAVE_SYS_PARAM via SYSTEM_FLAGS if it's found by mksysdefs
maxpath.h
- include <sys/param.h> if HAVE_SYS_PARAM is defined
lib/readline/history.c
- got rid of the get_which label in get_history_event
- got rid of the event_not_found label in history_expand
- new function hist_error, which takes care of printing history
expansion errors
1/4
---
lib/readline/history.c
- split the actual history expansion code out of history_expand into
history_expand_internal
- got rid of the do_add and add_char labels in history_expand
- history_expand now returns 2 if the `p' modifier was given and the
caller should just print the results
- new function `quote_breaks' to implement the `x' modifier
bashhist.c
- if history expansion fails, make sure the error message is
printed in a standard way by calling internal_error
- print the results of history_expand and return NULL if
history_expand returns 2
1/5
---
lib/readline/history.c
- rearranged some code in the `s' and `&' cases of the switch in
history_expand_internal, added the GET_SUBST_PATTERN macro
1/6
---
tests/*
- cleaned up the directory, made a runnable regression test suite
cpp-Makefile
- added a `tests' target that runs all of the tests with a newly-
built bash
subst.c
- made process substitution work only when unquoted
bashhist.c
- new function history_number to return the history number of a
command
bashhist.h
- extern declaration for history_number
parse.y
- changed the `!' and `\!' code in decode_prompt_string to use
history_number
- replaced calls to sprintf/savestring with calls to itos()
variables.c
- new dynamic variable $HISTCMD is current history number (what
you get with \! in a prompt string)
documentation/bash.1
- description of $HISTCMD
1/7
---
execute_cmd.c
- new variable stdin_redir, incremented for subshells if stdin has
been redirected, saved for children so we don't redirect /dev/null
to fd 0 if it has already been the subject of a redirection. Makes
bash more sh-compatible, but I'm not sure it's the right thing.
- more changes to file_status for systems with AFS
test.c
- changed calls to eaccess to EACCESS (not to be confused with the
EACCES error). EACCESS is defined as access on AFS machines,
eaccess on all others
siglist.h
- don't declare sys_siglist on NetBSD
1/11
----
lib/readline/history.c
- if `&' appears in the rhs of a history substitution, it is
replaced with the matched lhs. A single backslash protects
the `&' from lhs interpolation
- fixed ADD_CHAR macro to properly terminate the target string
- changed GET_SUBST_PATTERN so that a single backslash can
quote the substitution delimiter
- changed GET_SUBST_PATTERN so that subst_lhs is not changed if
the lhs pattern is empty
- if the lhs is empty and there is no previous substitution, the
last string used in a !?string? search is used
- turned the GET_SUBST_PATTERN macro into a real function,
get_subst_pattern()
- changed get_subst_pattern() so that backslashes quoting the
search delimiter are removed
- fixed get_history_word_specifier so that x- returns x-$ without
the last word
documentation/bash.1, lib/readline/doc/hsuser.texinfo
- changes for the new history substitution features
1/13
----
make_cmd.c
- new function fixup_async_list() which traverses a command list and
makes the last command asynchronous (`&'). This is to fix up a
problem with the yacc grammar productions
parse.y
- call fixup_async_list if a list is followed by a bare `&' without
a second list
builtins/fc.def
- fixed a bug in fc_gethnum that caused negative history
specifications (< 0) to be off by 1 when indexing against the
current history index
lib/readline/funmap.c
- kill-entire-line -> kill-whole-line
- tilde-expand is now a bindable command that calls rl_tilde_expand
- added emacs-editing-mode as a bindable command
- added more bindable vi-mode readline commands: vi-redo,
vi-tilde-expand
lib/readline/emacs_keymap.c
- M-C-H is now bound to backward-kill-word
lib/readline/vi_keymap.c
- `0' is now bound to beginning-of-line in vi-movement-mode
documentation/bash.1, lib/readline/doc/rluser.texinfo
- added documentation for some of the new readline functions
test.c
- added definitions for whitespace, digit, and digit_value when
compiling -DSTANDALONE
1/14
----
make_cmd.c, make_cmd.h, parse.y
- fixup_async_list -> connect_async_list
parse.y
- have the productions for all async lists call connect_async_list,
even when followed by another async list
- don't save and restore the buffered stream in buffers[] in
push_stream and pop_stream if the default input fd is -1
(like command substitution sets it to, for instance)
cpp-Makefile
- added $(PURIFY) the final cc line, make PURIFY=purify to build
a `purified' bash
builtins/read.def
- fixed a memory leak -- `input_string' was not being freed
variables.c
- fixed a memory leak in assign_in_env -- free value
subst.c
- process substitution and command substitution now call make_child
with a null first argument -- no need to save a string for the
call; it's never used
1/17
----
lib/readline/{readline.h,complete.c}
- renamed rl_symbolic_link_hook to rl_directory_completion_hook,
which much more accurately reflects its purpose. Left a define
of the old name there is readline.h
bashline.c
- use rl_directory_completion_hook instead of rl_symbolic_link_hook
- bash_symbolic_link_hook -> bash_directory_completion_hook
- bash_directory_completion_hook is now an `int' returning function
- bash_directory_completion_hook now tries to to variable expansion
and command and arithmetic substitution if the directory name
contains `$' or ``'
- fixed a bug in bash_directory_completion_hook which made it
remove the trailing slash on a directory name
- bash_directory_completion returns 1 if variable expansion is
performed, 0 otherwise
- when doing bash filename-specific completion, don't do any kind
of directory name expansion
- removed ``' and `$' from the completer word break characters;
they're not word break chars
lib/readline/complete.c
- changed semantics for rl_directory_completion_hook -- if a non-zero
value is returned, the return value is put into the expanded
filename, replacing the directory name that the user typed
- changed filename_completion_function to quote a replacement if
it contains `$' or ``' in addition to characters appearing in
rl_completer_word_break_characters (#ifdef SHELL)
1/18
----
shell.c
- take out different code for USG and BSD and mail checking. The
shell always calls remember_mail_dates on startup.
1/19
----
execute_cmd.c
- changed executable_file into a simple return statement
support/mksysdefs
- look for bison, define HAVE_BISON if found
cpp-Makefile
- do not unconditionally define HAVE_BISON, let mksysdefs do
the work
1/20
----
machines.h
- added -DNO_SBRK_DECL to hpux_8, hpux_9, and Solaris descriptions
lib/malloc/malloc.c
- removed the code that defines NO_SBRK_DECL for some machines
cpp-Makefile
- removed the definitions of PPROMPT and SPROMPT and their inclusion
as defines in CFG_FLAGS
- added definitions for man3dir and man3ext and passed them to
make install in the documentation directory
config.h
- PPROMPT and SPROMPT are now defined here
builtins/mkbuiltins.c
- plugged up a number of memory leaks (~35K worth)
documentation/Makefile
- made readline.3 and readline.ps standard targets
- make install now installs readline.3
documentation/readline.3
- new manual page documenting the readline library
general.c
- don't define TIMEVAL_MISSING on USG systems if HAVE_TIMEVAL is
defined
1/21
----
machines.h
- define HAVE_SOCKETS in HPUX_SYSDEP_CFLAGS for hpux_8 and hpux_9
Makefile
- add a `tests' target that just runs `make -f bash-Makefile tests'
general.c
- include config.h before any other include files so <unistd.h>
gets included if present
1/24
----
cpp-Makefile
- make `bashbug' by using sed with multiple -e options rather than
a separate `mkbashbug' program
1/25
----
machines.h
- sgi machines need HAVE_SOCKETS defined to make isnetconn() work
lib/readline/isearch.c
- rewrote lots of rl_search_history to eliminate spaghetti and
increase speed
lib/readline/history.c
- added defines for STREQ and STREQN to clean up the search code
lib/readline/complete.c
- compare the first characters of the name and returned value from
getpwent when attempting username completion to avoid all those
calls to strncmp
1/26
----
lib/readline/readline.h
- move definition of VISIBLE_STATS here so all files can see it
- extern definitions of rl_history_search_forward() and
rl_history_search_backward ()
lib/readline/search.c
- implementations of rl_history_search_forward() and
rl_history_search_backward (), which search through the history
list for lines beginning with the string of characters between
the beginning of the line and rl_point (history lines with a
common prefix)
- added definitions of STREQ and STREQN
lib/readline/funmap.c
- added `history-search-forward' and `history-search-backward' as
bindable commands (names compatible with tcsh)
lib/readline/complete.c
- make stat_char use lstat if S_ISLNK is defined to pick up symbolic
links
- split some common code out into auxiliary functions: printable_part
and print_filename
- expand filenames before calling stat_char if visible-stats is
active
documentation/bash.1, documentation/readline.3, lib/readline/doc/rluser.texinfo
- documented new `history-search-forward' and `history-search-backward'
readline commands, by default unbound
error.c
- changed get_name to get_name_for_error and made it externally
visible
error.h
- extern declaration for get_name_for_error
test.c
- call get_name_for_error in test_syntax_error if the shell is
not interactive
1/27
----
lib/readline/emacs_keymap.c
- add M-~ as a binding for rl_tilde_expand, it's more intuitive
lib/readline/bind.c, lib/readline/readline.h
- exported rl_invoking_keyseqs_in_map as a public interface
lib/readline/rldefs.h
- don't include memalloc.h if PRAGMA_ALLOCA is defined
lib/readline/readline.c, lib/readline/isearch.c, lib/tilde/tilde.c,
lib/readline/complete.c, lib/readline/search.c
- replaced all calls to alloca with xmalloc/free pairs or array
declarations
lib/readline/history.c
- replaced some calls to alloca
variables.c, subst.c, mailcheck.c, alias.c, parse.y, builtins/cd.def
- replaced all calls to alloca with xmalloc/free pairs or array
declarations
builtins/source.def
- replaced call to alloca with xmalloc/free/unwind_protect
- replaced stat/open sequence with open/fstat
1/28
----
lib/readline/history.c
- print an error message for an unrecognized history modifier
instead of just ignoring it
- replaced remaining calls to alloca()
execute_cmd.c
- added a #pragma alloca at the head of the file if AIX and
RISC6000 are defined and __GNUC__ is not
1/31
----
support/recho.c
- now a standard part of the distribution, needed for `make tests'
cpp-Makefile
- make sure recho is built before the tests are run
2/1
---
builtins/command.def
- If subshell_environment is 1, we've already forked and are in
a subshell, so add CMD_NO_FORK to the flags of the command
to be executed and see if we can get away without forking
2/9
---
support/mksysdefs
- write the name of the maintainer to sysdefs.h surrounded by
double quotes
cpp-Makefile
- removed the now-unnecessary double quotes around the MAINTAIN_DEFINE
variable value
lib/readline/readline.h
- new variable rl_attempted_completion_over, set in the completion
attempt function to suppress the normal filename completion
lib/readline/complete.c
- if rl_attempted_completion_over is set after the program-specific
completion function is called, don't do filename completion
general.h
- new FREE and STRLEN convenience defines
subst.c
- code cleanups, use of FREE and STRLEN
2/10
----
execute_cmd.c, parse.y, jobs.c, variables.c, test.c
- changed code to use FREE, STRLEN, other code cleanups
- removed, wherever possible, calls to strncmp and strcmp
builtins/set.def
- changed the `unset' builtin to use internal_getopt
builtins/set.def, builtins/test.def, builtins/fg_bg.def, builtins/type.def,
builtins/enable.def, builtins/exec.def, builtins/declare.def,
builtins/ulimit.def, builtins/cd.def, builtins/fc.def
- removed calls to strcmp, strncmp wherever possible, replacing
them with incline
builtins/common.h
- new define ISOPTION, to test whether a string s is setting
a specific option
builtins/kill.def, builtins/read.def, builtins/trap.def, builtins/umask.def,
builtins/enable.def, builtins/alias.def, builtins/hash.def
- changed to use ISOPTION
builtins/read.def
- moved option processing before all of the code that sets up
the input stream
2/11
----
Makefile
- added `distclean' target to mirror one in cpp-Makefile
2/14
----
documentation/bash.1, documentation/features.texi
- noted that `=' was not a valid character for an alias name
2/17
----
builtins/common.c
- if parse_and_execute gets an interrupt during execution, make
sure that `interactive' is restored to the correct value (the
same value as `interactive_shell' before throwing control back
to the top level with throw_to_top_level so the shell does
not exit in throw_to_top_level
builtins/reserved.def
- cleaned up the variables section, removing some and correcting
the descriptions
2/18
----
cpp-Makefile
- provide alternate defintions for build_builtins_in_dir depending
on whether __STDC__ is defined and > 0. The `stdc' version uses
`##' to concatenate tokens
machines.h
- new machine description for QNX 4.2 from pt@flard.ocunix.on.ca
jobs.c, nojobs.c
- changed some calls to report_error to calls to internal_error
test.c
- some systems may not define S_IFMT, so use an #ifdef to work around
print_cmd.c
- combined the code for print_word_list and command_print_word_list
into an internal function that takes a pointer to a function to
use to print the words
variables.c
- don't call savestring in bind_variable on the value if it's an
empty string
nojobs.c
- changed wait_for to call waitpid with -1 for pid value on Posix
systems so all processes in a pipeline get reaped at the same
time (or at least most of them)
2/21
----
lib/readline/{complete.c,display.c,readline.c,rltty.c,signals.c}
- changed _GO32_ to __GO32__
machines.h
- SunOS5 needs to add /usr/ccs/lib to the library search path
for the right termcap library
2/22
----
shell.c
- make sure that a subshell sets sourced_env to 0 after longjmp
so that $ENV is sourced by subshells forked to execute scripts
without a leading `#!' line
bashhist.c, bashhist.h
- make maybe_add_history a global interface -- new function
to add a line to the history file depending on the value
of history_control
builtins/fc.def
- call maybe_add_history in fc_addhist rather than add_history
machines.h
- new entry for concurrent machines in att universe from
geoffl@vallista.ca.boeing.com (Geoffrey A. Lowney)
2/23
----
general.c, general.h
- new function string_to_long, which basically does the same
thing as atol(), which I don't believe is universal
builtins/ulimit.def
- replaced a call to sscanf with calls to all_digits and
string_to_long
- non-root users can only raise a resource up to the hard limit,
even if they specify `unlimited', so shell_ulimit translates
RLIM_INFINITY into limit.rlim_max if euid != 0
2/25
----
shell.c
- make the default behavior of bash when invoked with -c command
to make the first argument after the command string $0 and the
rest $1...$N
documentation/bash.1
- document the change in -c behavior
3/2
---
mailcheck.c
- made add_mail_file return the index in the list of mail files,
so an immediate call to find_mail_file need not be made and
we are guaranteed that the index returned is never -1
- added the check back in that changes the message to note that
*new* mail has arrived -- the test was not redundant after all
- fixed an off-by-one error in free_mail_files
- replaced an sprintf() in get_mailpaths with two calls to strcpy
general.c
- changed getc_with_restart to do local buffering to reduce the
number of read(2) system calls
subst.c
- changed do_assignment_internal to check for expansion and quoting
characters and only call expand_string when something needs
expansion, string_quote_removal when quotes appear, and savestring
for simple assignment statements
3/3
---
builtins/exit.def, documentation/bash.1
- removed `bye' as a synonym for `exit'
shell.h
- new exit value: EX_USAGE
builtins/{bind,command,declare,fc,getopts,histctl,history,inlib,jobs,read,
setattr,trap,ulimit}.def
- changed to return EX_USAGE when a usage message is printed
builtins/declare.def
- removed the `no_modifiers' code, changed argument name to local_var
command.h, make_cmd.h
- declarations for the select command, inside #ifdef SELECT_COMMAND
copy_cmd.c
- declarations for copying select commands
dispose_cmd.c
- code to dispose of select command structures
execute_cmd.c
- code to execute select commands
make_cmd.c
- code to construct select command structures
- removed `coerce_to_word()'
parse.y
- code to parse select commands in the grammar. The SELECT token is
returned by read_token only if SELECT_COMMAND is defined
print_cmd.c
- code to print select commands
config.h, config.h.mini
- make SELECT_COMMAND the #define that controls whether or not the
`select' command is compiled in
documentation.bash,1, documentation/features.texi
- documented the `select' command and $PS3
3/4
---
builtins/getopts.def
- removed a call to sprintf() in favor of expanding a number manually
builtins/getopt.c
- make sure that we set nextchar to NULL when incrementing optind
so that it does not end up pointing to stale memory (freed, then
later reallocated)
3/7
---
builtins/common.c
- fixed parse_and_execute not to be overzealous in marking a command
as NO_FORK -- make sure there's nothing left in the string to be
executed before doing so
machines.h
- change the string check for BSD/386 to __bsdi__
- add INT_GROUPS_ARRAY to BSDI, SunOS4, 386bsd, FreeBSD, and NetBSD
descriptions
test.c
- change to use INT_GROUPS_ARRAY
execute_cmd.c
- tightened up the execution loop in execute_for_command and
removed a couple of unneeded variables
lib/posixheaders/memalloc.h
- make sure to check for sun being defined when checking for sparc;
there are ICL DRS6000 machines running SVR4.2 out there that do
not have the file
3/8
---
execute_cmd.c
- make sure close_fd_bitmap is called before do_redirections, lest
the bitmap override some of the redirections
cpp-Makefile
- supply an explicit suffix list, so make understands the .def.o
suffix rule as such
3/9
---
jobs.h
- added extern declarations for rest of global functions in jobs.c
- added prototypes
jobs.c
- made delete_job, terminate_current_pipeline, kill_current_pipeline,
describe_pid, notify_and_cleanup, reap_dead_jobs,
initialize_job_signals , without_job_control void functions
3/10
----
execute_cmd.c, execute_cmd.h
- moved check_identifier to general.c, general.h
general.c
- check_identifier has acquired a second parameter; when set to 1
this causes the word to be checked by legal_identifier
- for and select commands call check_identifier with a second arg
of 1, function names are checked with legal_identifier when in
Posix.2 mode
general.h
- add second argument to extern declaration of check_identifier
CWRU/POSIX.NOTES
- added description of new function name behavior
lib/readline/readline.h
- include sys/ioctl.h on FreeBSD and NetBSD
lib/readline/rlconf.h
- new file, with readline configuration variables
- included in rldefs.h
lib/readline/{readline.c,readline.h,complete.c,display.c}
- took configuration defines out and put them into rlconf.h
lib/readline/Makefile
- updated dependencies to include rlconf.h
3/14
----
lib/readline/Makefile
- remove VI_MODE from the CFLAGS
lib/readline/rlconf.h
- made VI_MODE a definable configuration option
lib/readline/vi_mode.c
- include rlconf.h before testing whether or not VI_MODE is defined
lib/readline./funmap.c
- include `rlconf.h' before `readline.h'
lib/readline/keymaps.c
- include `rlconf.h' before `vi_keymap.c' and `keymaps.h'
lib/readline/readline.c, lib/readline/vi_mode.c
- rl_vi_set_last -> _rl_vi_reset_last
- new function _rl_vi_set_last to set the vi-mode last command
information
- renamed vi_done_inserting to _rl_vi_done_inserting
lib/readline/vi_mode.c
- _rl_vi_last_command, _rl_vi_last_repeat, _rl_vi_last_arg_sign,
and _rl_vi_doing_insert are now static
3/15
----
bashline.c
- unbind C-M-m in emacs_meta_keymap so people don't accidentally
switch into vi editing mode
3/21
----
builtins/cd.def
- `pwd' now follows the setting of nolinks/set -o physical; there
is an undocumented -P option to get the `real' working directory
3/28
----
make_cmd.c
- only follow the command chain to the end of a list in
connect_async_list if the list is not being executed in the
background as a unit with CMD_WANT_SUBSHELL
support/mksysdefs
- removed the define of HAVE_CSH
- added an additional check for SVR4 on i[34]86 machines from
mkmachtype
lib/readline/vi_mode.c
- fix up rl_vi_delete_to so that cw deletes the character under
the cursor no matter what, as per Posix.2
- any text modifying command that calls rl_vi_insertion_mode needs
to explicitly set the `last command' info for `.'
- rl_vi_movement_mode() no longer resets the `last command' info
so that things like `cw' can be redone with `.'
3/29
----
general.h
- a new define MEMMOVE_MISSING to specify to use memcpy in the
define for BCOPY
- the defines for BCOPY don't need a trailing `;'
machines.h
- isc386 needs -DMEMMOVE_MISSING in SYSDEP_CFLAGS
3/30
----
bashline.c
- fix to set_saved_history to simplify the code by using
rl_get_previous_history
3/31
----
error.c
- change the bug report message
support/mksysdefs
- removed `WHOAMI' junk for setting the `maintainer'
cpp-Makefile
- hardcode the maintainer to `bug-bash@prep.ai.mit.edu'
subst.c
- call rl_reset_terminal in sv_terminal if interactive_shell
is nonzero
- split the code that checks whether or not expand_string_unsplit
needs to be called from do_assignment_internal into a separate
function that takes a function pointer to call as an additional
parameter
trap.c
- make sure that set_signal_ignored also sets original_signals[sig]
to SIG_IGN
bashline.c
- `{' is not a word break character for the completion functions
4/2
---
[first beta distribution of bash-1.14.0]
4/5
---
builtins/cd.def
- fixed a problem with CDPATH processing (used `dirlen' instead of
`pathlen')
subst.c
- make sure that get_word_from_string updates `stringp' even if
it's nothing but separators
builtins/read.def
- after the call to get_word_from_string, set *e to 0 only if t
is not null and a word was actually returned
machines.h
- remove the NO_SBRK_DECL declaration for sgi machines from all
but Irix 5.x machines
- sgi needs __STDC__ defined if __EXTENSIONS__ is defined
lib/posixheaders/stdc.h
- moved the #if defined (__P) inside the check for __STDC__, so
the other things get defined even if __P is already defined
- don't redefine const, inline, etc. if `const' is already defined
cpp-Makefile
- add dependencies on stdc.h
- pass -DHAVE_SYS_STREAM_H through to builds in subdirs
support/mksysdefs
- redirect error messages from subshell attempting to find and invoke
bison
- look for <sys/stream.h>, define HAVE_SYS_STREAM_H if found
lib/readline/rldefs.h
- include <sys/stream.h> only of HAVE_SYS_STREAM_H is defined
externs.h, print_cmd.c
- made print_command and print_simple_command void functions
builtins/common.c, builtins/common.h
- builtin_error now a void function
- dispose_saved_dollar_vars now a void function
- bad_option now a void function
- initialize_shell_builtins now a void function
variables.c
- initialize_shell_variables now a void function
- adjust_shell_level now a void function
- delete_all_variables now a void function
jobs.c
- inserted some returns into `int'-valued functions lacking them
hash.c
- initialize_hash_table now static void
externs.h
- added declarations for functions from mailcheck.c
4/6
---
lib/readline/readline.c
- added missing function arguments
lib/readline/complete.c
- get_y_or_n now accepts space for `y' and rubout/del for `n' to
be more emacs-like
lib/readline/history.c
- fixed an off-by-one error in history_expand_internal: checking
the wrong character for the history event or word specifier
4/7
---
lib/readline/complete.c
- make sure `max' is intialized to 0 when displaying the possible
completions, even if we've done `goto display_matches'
lib/posixheaders/stdc.h
- if __STDC__ is defined but we're not using gcc (__GNUC__ not
defined), make `inline' expand to nothing
lib/readline/isearch.c
- use STREQN to match the search string against the history line,
since we're not interested in exact matches, only matches of
the search string
4/8
---
machines.h
- description for a sparc running netbsd
4/11
----
lib/readline/vi_mode.c
- make sure we're starting an undo group when we implicitly
enter insertion mode after a command like c[motion], so
we can get to the characters that were inserted
- new variable: vi_continued_command, set to 1 if we enter
insert mode implicitly
4/12
----
machines.h
- generic entry for MIPS machines running SVR4, SVR4.2
- changed sony entry to handle M_MACHINE already being
defined
lib/malloclib/malloc.c
- fixes for malloc stats, from kboyce@bnr.ca
4/13
----
machines.h
- changed the u370/USGr4 description: added -DNO_SBRK_DECL to
SYSDEP_CFLAGS
lib/readline/readline.c
- add a call to rl_set_keymap_from_edit_mode after reading the
inputrc file in readline_initialize_everything to override
the effect of any `set keymap' assignments in the inputrc
file
support/mksysdefs
- added a check for MIPS RISCos machines
- set the value of `dirlist' to /bsd43/usr/include if we're
building on a RISCos machine
lib/readline/bind.c
- skip leading whitespace in lines read from the inputrc file
in rl_read_init_file
- call rl_set_keymap_from_edit mode after reading the inputrc
file in rl_re_read_init_file
4/14
----
documentation/Makefile
- change bash_builtins.1 to builtins.1 in the recipe for `install'
- remove the dependency on texindex from features.dvi
builtins/kill.def
- remove explicit inclusion of <sys/types.h>
machines.h
- Xenix requires -DMEMMOVE_MISSING
- Xenix 2.3 requires -DLD_HAS_NO_DASH_L
- added #undef HAVE_RESOURCE to xenix descriptions just to be sure
cpp-Makefile
- make sure texindex is built before trying to build the documentation
lib/doc-support/texindex.c
- fixes for portability and to fit into the bash configuration
scheme
support/mksysdefs
- fixed the Xenix section to make sure that sysdefs.h defines `i386'
for machines.h -- apparently the default xenix cc does not
predefine it
4/16
----
shell.c
- regularized parsing of `-c' option so it can be bundled with other
options
- if bash is started with a `-o' without an argument, list the long
options with list_minus_o_opts
builtins/set.def
- renamed `list_long_opts' to `list_minus_o_opts', made it global
builtins/common.c
- builtin_error now calls get_name_for_error if this_command_name
is null or empty
hash.c, hash.h
- made hash utility functions able to cope with being passed a
null hash table
4/18
----
lib/readline/history.c
- changes to history_expand, history_expand_internal to allow
modifiers to be used with `!#'
- changes to get_history_event so that only `?' or newline can
terminate a substring search string. This is more csh-like.
builtins/common.c
- get_working_directory now uses get_name_for_error when for_whom
is null and it needs to print an error message
shell.c
- set no_rc and no_profile in shell_reinitialize to clarify our
intent about not running the .bashrc for shell scripts
4/19
----
lib/readline/vi_mode.c
- change rl_vi_possible_completions to fix an inadvertent infinite
loop in code that attempts to move to the end of the current word
4/21
----
lib/readline/vi_mode.c
- comment out rl_vi_possible_completions -- it's unused
lib/readline/vi_keymap.c
- comment out vi_escape_keymap declaration -- it's unused
parse.y, subst.c
- shells running in `posix mode' do not perform process substitution
4/22
----
support/getcppsyms
- don't process and define __GNUC__ at all
- only test for and possibly define __STDC__ if __GNUC__ is not
defined (not using gcc)
4/25
----
machines.h
- Make sure SunOS 4.x has INT_GROUPS_ARRAY defined
4/26
----
lib/readline/readline.c
- make sure screenwidth is not set to 0
4/27
----
Makefile
- changed the text printed by the `.notified' target to refer to
`bashbug'
[1.14.1 announced and made available for anonymous FTP]
4/28
----
builtins/read.def
- unset the variables passed to `read' as arguments when EOF is
read from stdin (sh, Posix.2 compatibility)
machines.h
- add HAVE_STRERROR to the solaris machine description
print_cmd.c
- made declaration of printf depend on __GNUC__ being defined, since
only gcc seems to need it
cpp-Makefile
- renamed DEBUG_FLAGS to CDEBUGFLAGS
4/29
----
builtins/getopt.c
- fix for core dump problems
parse.y, make_cmd.c, make_cmd.h, execute_cmd.c
- changed make_redirection to take a `REDIRECTEE', which is a union,
as its second argument, to avoid int/long/pointer problems
- changed all calls to make_redirction to pass a correctuly-
initialized REDIRECTEE argument
5/1
---
general.h
- Linux needs a slightly different declaration for gethostname()
nojobs.c
- fix to arguments to stop_pipeline
5/3
---
alias.c, bashline.c, variables.c
- added casts to eliminate compiler warnings
general.h
- removed __P type information from functions taking a GENERIC_LIST *,
since that is never what is passed
- changed prototype to show that xrealloc takes a `void *'
general.c
- xrealloc takes a `void *' as its first argument
5/4
---
support/mksysdefs
- changed test -r to test -f when looking for ranlib
lib/readline/readline.c
- cleaned up some casts before xmalloc/xrealloc calls
- make sure the arrow keys are bound into the vi movement keymap in
init_terminal_io
- set the keymap explicitly in init_terminal_io before trying to
bind the arrow keys
lib/readline/vi_keymap.c
- bind ESC in vi_movement_keymap to 0 rather than rl_abort, since
the rl_abort binding keeps _rl_bind_if_unbound from working
shell.c
- look in $PATH for an input file given on the command line only
if that file is not an `absolute program' (contains no slashes)
5/5
---
machines.h
- changed HPUX_SYSDEP_CFLAGS to HPUX_CFLAGS
general.h, general.c, copy_cmd.c, make_cmd.c, print_cmd.c, parse.y, subst.c
- BCOPY -> FASTCOPY because some machines define or undef BCOPY in
system header files
longest_sig.c, support/pagesize.{c,sh}
- removed from distribution, moved to CWRU/misc
lib/readline/parens.c, lib/readline/bind.c
- don't compile in all of the paren-matching code if PAREN_MATCHING
is not defined in rlconf.h
5/9
---
lib/readline/rldefs.h
- new #define WINSIZE_IN_IOCTL_H, set for machines that need
to include <sys/ioctl.h> to get TIOCGWINSZ and related definitions
- use `dirent' instead of `direct', define `dirent' as `direct' if
HAVE_DIRENT_H is not defined
lib/readline/signals.c, lib/readline/readline.c
- changed to include <sys/ioctl.h> if WINSIZE_IN_IOCTL_H defined
lib/readline/readline.c
- strip high bit in rl_getc if __GO32__ is defined
lib/readline/complete.c
- use `struct dirent' rather than `struct direct' in
filename_completion_function
lib/readline/bind.c
- make sure that "" is not passed to open as the name of the inputrc
file
general.c
- hpux_9 needs #undef HAVE_GETDTABLESIZE, just like hpux_8, on hppa
builtins/times.def
- Posix.1 systems need to default to using `struct tms' and the
output of `times'
jobs.c
- don't redefine _POSIX_SOURCE on sun systems if already defined
parse.y
- changed a couple of calls to reverse_list to use the REVERSE_LIST
macro instead
newversion.c
- now adds the `build version' as part of `SCCSVERSION' in the same
format as the shell prints the version string
5/12
----
builtins/psize.sh
- if /tmp/pipesize is an empty file, default by defining PIPESIZE
to be 512. An empty file indicates that `psize.aux' did not
succeed for some reason
5/13
----
machines.h
- dynix/ptx needs -DHAVE_SOCKETS added to SYSDEP_CFLAGS
bashline.c
- changed some calls to strncmp to use STREQN
5/15
----
print_cmd.c
- if the delimiter to a here document is supposed to be quoted,
print it single-quoted
- make if statements and while/until statements print similarly,
with the then/do on the same line as the first word, separated
from the command list by a semicolon
make_cmd.c
- reverse the order of patterns in the case statement pattern
list in make_pattern_list, so it's printed in the same way
it was defined
Makefile
- make sure that references to cpp-Makefile and ansi-Makefile
are prefixed with $(srcdir) or use CPP_MAKEFILE or ANSI_MAKEFILE
respectively
- make sure that srcdir is passed from Makefile to bash-Makefile
when making `all'
support/mkdirs
- new program, clone of `mkdir -p'
cpp-Makefile
- before running a make in a subdirectory, call `mkdirs' to ensure
that that subdirectory exists
5/16
----
newversion.c
- added a `-dir' option to specify a directory prefix, like $(srcdir)
5/17
----
builtins/mkbuiltins.c
- if the .def filename begins with a slash, don't prepend the name
of the `error directory' when printing error messages or writing
line number information to a generated c source file
config.h
- don't include memalloc.h if BUILDING_MAKEFILE is defined
lib/malloc/Makefile
- skeleton Makefile to make this directory more like other
library directories
Makefile, cpp-Makefile, builtins/Makefile, lib/*/Makefile
- changes to make bash buildable in a directory without the source
present by running `make srcdir=xxx'
support/srcdir
- new program, used to print the full path of the source directory;
it echoes the output of `pwd' if $1 is `.'
5/18
----
cpp-Makefile
- CFLAGS -> CCFLAGS, CDEBUGFLAGS -> CFLAGS to obey the GNU standard
(which does not consider the possibility that other information
besides debugging could conceivably be passed to cc)
general.h
- don't prototype gethostname() unless we're defining our own version
in general.c
lib/readline/history.c
- fix hist_error to allocate and return a new string with the
error message; removed the `ret' argument
5/19
----
subst.c
- new function char_is_quoted(s, i) returns 1 if character at
position i in s is quoted
bashline.c
- removed `\' from rl_completer_word_break_characters
- make sure that a command separator character is not quoted in
attempt_shell_completion by calling char_is_quoted before calling
command_word_completion_function
- fixed a problem with detection of command separator characters
in attempt_shell_completion
lib/readline/complete.c
- set found_quote if a backslash is found in the string in
rl_complete_internal
- if compiled for the shell, call char_is_quoted to find out
whether a character in rl_line_buffer is quoted when deciding
where to break a word for the completer
5/23
----
machines.h
- made sure all definitions of M_OS were quoted
lib/doc-support/Makefile
- more surgery to use ${topdir} and ${srcdir}
documentation/bash.1
- clarify that redirections may precede only simple commands
support/fixlinks
- new script to make multiple copies of files links or symlinks
to a single master copy
support/SYMLINKS
- name -> target symlink map for support/fixlinks
support/fixlib
- modification of fixdist to move lib to ../lib and clone the files
in there like using lndir
filecntl.h
- moved to lib/posixheaders, replaced with symlink
support/getcppsyms.c
- removed support for outputting -D__STDC__; it's rarely right
cpp-Makefile
- build_builtins_in_dir(directory, makefile) --> build_builtins(target)
to get rid of the need to know how cpp does token concatenation
nojobs.c
- changed the printing of the pid for asynchronous jobs to be the
same as sh (no brackets)
- took a useless loop out of wait_for_background_pids
5/24
----
cpp-Makefile
- major surgery to replace #define with make variable assignments --
now cpp is used only for inclusion and conditionals (and shorthand)
machines.h
- new entry for Lynx 2.1
builtins/declare.def
- make sure that the name in command name=value is a legal variable
name (affects typeset/declare, export, readonly)
5/26
----
machines.h
- make sure a 386/486 running Solaris2 is not misidentified as a
Sun 386i
- make sure a 486 running NeXT OS is identified as a `NeXT-i386'
5/27
----
builtins/enable.def
- fixed an off-by-one error in option parsing
- improved option parsing to be Posix compliant (`--'), bad options
Makefile
- call /bin/sh to run support/mksysdefs and create sysdefs.h, since
it's a shell script
- ditto for $(CPPMAGIC)
cpp-Makefile
- newversion.aux does not need to be linked against the math
library
5/30
----
machines.h
- set M_OS to `NeXTstep' for NeXT and i386 machines running NeXT OS
[1.14.2 beta release made available for FTP]
5/31
----
siglist.h
- don't define `strsignal' on SunOS5; it has its own
builtins/setattr.def
- change set_or_show_attributes to check for legal variable names