Files
bash/CWRU/old/RELEASE.113
T
2011-12-03 12:52:47 -05:00

141 lines
4.9 KiB
Plaintext

This file details the changes between the previous release of CWRU bash
(07/11/93) and this release.
1. Bugs Fixed
Readline's vi-mode once again has TAB bound to completion; entering `posix
mode' changes it to self-insert
Bash now binds its special emacs-mode functions directly into
emacs_meta_keymap so that eight-bit character handling does not interfere
Some source restructuring: more extern functions are defined in header files
and not in C source files
The handling of `line number' inside functions is now more correct and
closer to reality
Some functions of `general use' were moved to general.c (vfree,
full_pathname)
A bug that caused some redirections to be applied twice was fixed in
execute_command_internal (dispose of redirection_undo_list after copying it;
ditto for exec_redirection_undo_list)
The exit status of a command that is not found is 126, as Posix.2 specifies
More speed improvements -- bash now runs as fast as the SunOS sh on
Haertel's `shell benchmark'
Instead of returning pointers to -1, bash and the readline, history, and
glob libraries now return pointers to special `error pointers', which the
calling code checks for in place of -1
Fixed a problem with canonicalize_pathname which made it get
confused with xxx/./yyy if yyy was `.' or `..'
Fixes to make bash recognize SVR4.2 and set USGr4_2 for SVR4.2 systems
Fixes to the HP/UX machine descriptions to make alloca work on HPUX_9
and to avoid `M_MACHINE redefined' warnings
Fixes to the CRAY machine description
Fixes to the mailpath code to make it Posix.2-compliant -- backslash
may now quote `%' and `?'
The namespace was further cleaned up, and more functions and variables
were made static
On systems with S_IFSOCK or S_ISSOCK defined in sys/stat.h, bash checks
whether fd 0 is a socket to decide whether or not it's being started by
rshd and to run the startup files
Bash now gives the signal mask it inherits to its children -- previously,
login shells cleared the signal mask
cpp-Makefile and subst.c both used the `USE_GLOB_LIBRARY' define, but
with different meanings; subst.c now uses `USE_POSIX_GLOB_LIBRARY'
Fixed pattern substitution so that ${a%%$b}, where b was unset, no longer
causes a core dump
Changed the `test_exit' define in test.c to no longer use `longjmp' as
the rhs or a comma-ized expression; this causes core dumps on some
optimizer/machine combinations
A speed hack in variables.c: if no local variables are defined for a level
of shell context, kill_all_local_variables does not need to search the
whole variable hash table when popping a context
Fixed the `bind' builtin so that -m now changes the keymap for all of the
subsequent operations
Changed some more builtins to use internal_getopt: bind, command, export,
readonly, declare, typeset
Fixed fc to use the Posix.2 format for listing commands in the
history list
Changed bg to set `!', as Posix.2 specifies
Fixed ulimit.def to compile if RLIMIT_RSS is not defined,
as some systems seem to have it
Replaced lib/malloc/alloca.c with the version from emacs 19. The old one
lives in alloca.c.old
malloc.c now uses the ANSI C features to `stringize' macro arguments if
__STDC__ is defined
Fixes to the GNU malloc library from glibc 1.06 and Mike Haertel
Fixes to readline key binding and lookup for Cray systems, which don't
like the casting that readline does
Fixes to all readline library source files to clean up the code: make sure
`int'-returning functions use `return x;' rather than `return;', declare all
arguments, even the `int' ones, and make some functions void. Cleaned up
the code formatting a little, too.
The readline completer now double-quotes filenames with special word-break
characters, so that tilde expansion still works
^C now breaks out of keyboard macros
If being compiled as part of the shell, readline no longer attempts to
handle SIGTTIN, SIGTTOU, or SIGTSTP
tilde_expansion_failure_hook is now a CPFunction rather than a Function,
since that's how it's used
Readline vi-mode `change case' function now skips over characters which
are neither upper nor lower case
Readline vi-mode now allows replacement to be redoable with `.'
2. New Features
A `strict Posix.2' mode, enabled with the -posix startup option or
setting the POSIXLY_CORRECT variable (see CWRU/POSIX.NOTES for a
description of the changed behavior)
`ONESHOT' is now an option in config.h
cpp-Makefile assumes that fixed header files are present if gcc is being
used
The redirections attached to a function declaration are now part of that
function, applied when the function is executed, as specified by Posix.2.
This caused a change to parse.y that resulted in 66 shift/reduce
conflicts(!)
All of the OP= functions that Posix.2 specifies are now implemented for
both `let' and arithmetic substitution
The `command' builtin has acquired the Posix.2 `-v' and `-V' options
(this shares code with the `type' builtin)
A new `bash_builtins' man page, like the `csh_builtins' page on some
systems