Bash-11 Released!

12 views
Skip to first unread message

Brian Fox

unread,
Jan 10, 1992, 4:20:48 PM1/10/92
to
Hi everybody!

I have just placed Bash-1.11 on prep.ai.mit.edu. This is the latest
release of Bash, and is available for anonymous FTP in the file
/pub/gnu/bash-1.11.tar.Z.

* Many bugs have been fixed
* More machines are supported
* Cleaner machine descriptions for existing machines
* Some new features

As usual, please send bug reports and praise to
bash-mai...@ai.mit.edu. Always include the version number of
Bash, along with the machine type and operating system version which
it is running.

Thanks, and happy hacking,

Brian Fox

The following text is available in the file bash-1.11.NOTES:

This is a list of user-visible changes between bash version 1.11 and the
previous release, version 1.10, compiled by Chet Ramey.

The shell language

o If redirections fail for an empty command, the command returns failure
and changes $?. If command substitution took place while expanding the
redirections, the exit status of the command substitution becomes the
new value of $?. Previously, $? was unchanged by empty commands.

o `case' statement pattern lists now allow an optional leading left
parenthesis.

o The shell grammar was changed to allow redirections before a ( ... )
subshell command.

o Lengthy $PATH searches are now interruptible.

o A new variable, `command_oriented_history'. If set, the shell attempts
to store all lines of a multi-line command (e.g. a while loop or a
function definition) as a single history entry.

Shell builtins

o `unalias' now has a -a option, which removes all alias definitions, and
recognizes `--' as the end of options.

o If the shell is compiled with DISABLED_BUILTINS defined (look in
config.h), `builtin xxx' will find xxx even if `enable -n xxx' has
already been executed.

o The `fc' output when listing history lines was changed to match the
Posix.2a specification.

o `jobs' now has a -x option. `jobs -x command args' causes the shell to
replace all job control specifications (e.g. %%, %-) in `args' with the
appropriate process group identifier and execute `command' with the new
arguments.

o `jobs' recognizes `--' as the end of options.

o There is a new help topic that describes some of the shell variables
that bash uses.

o `set -b' is now equivalent to `set -o notify'.

o `shift' now allows the shift count to be 0, like most versions of sh.

o On machines that can set a process's maximum number of open files,
`ulimit -n newval' works as expected.

Readline

o Dynamic history completion. Bound to M-TAB in the emacs keymap. This
will search the history list for completion strings for a partial
command.

o On termios/termio machines, readline no longer unconditionally enables
8-bit input by disabling ISTRIP -- you have to run `stty -istrip' on
xterms to use the meta key. Readline will disable ISTRIP if the tty
driver indicates that the `character size' is 8 bits:
(tio.c_cflag & CSIZE) == CS8)

This was done to make readline usable on machines with hardwired 7-bit
terminals that put garbage in the eigth bit.

o An attempt at completion that expands to a single item will now cause
readline to simply insert that item into the buffer, even if the previous
command was another completion. In the last release, completion
immediately following completion caused readline to list the possible
completions.

o The `call-last-kbd-macro' function is now bindable.

o Readline binds tio.c_cc[VLNEXT] to rl_quoted_insert and tio.c_cc[VWERASE]
to rl_unix_word_rubout on Posix termios systems that support them.

o Readline now uses tio.c_cc[VEOF] as the EOF character on termios systems


Bill Jones

unread,
Jan 13, 1992, 2:00:34 PM1/13/92
to
Their is a bug in the Bash-11 realase of "execute_cmd.c" which will casues it
to reference NULL if the PATH end's in a ":" and you type a no existent
command, the convex rshd creates such a path (SIGH).

The following is my solution to the NULL reference problem in "execute_cmd.c".

Bill Jones

-------------------
*** execute_cmd.c Mon Jan 13 12:46:44 1992
--- execute_cmd.c.fix Mon Jan 13 12:46:26 1992
***************
*** 2577,2588 ****
path_list = get_string_value ("PATH");
path_index = 0;

! while (path_list && path_list[path_index])
{
char *find_user_command_in_path ();

- path_element = get_next_path_element (path_list, &path_index);
-
match = find_user_command_in_path (name, path_element, flags);

free (path_element);
--- 2577,2586 ----
path_list = get_string_value ("PATH");
path_index = 0;

! while (path_element = get_next_path_element (path_list, &path_index))
{
char *find_user_command_in_path ();

match = find_user_command_in_path (name, path_element, flags);

free (path_element);
***************
*** 2692,2703 ****
stat (".", &finfo);

path_index = 0;
! while (path_list && path_list[path_index])
{
/* Allow the user to interrupt out of a lengthy path search. */
QUIT;
-
- path = get_next_path_element (path_list, &path_index);

if (*path == '~')
{
--- 2690,2699 ----
stat (".", &finfo);

path_index = 0;
! while (path = get_next_path_element (path_list, &path_index))
{
/* Allow the user to interrupt out of a lengthy path search. */
QUIT;

if (*path == '~')
{

Reply all
Reply to author
Forward
0 new messages