+++ /dev/null
-[work begins on post-netwide-1.12 release.]
-
- 1/30
- ----
-machines.h, general.c, nojobs.c
- - changes for AIX/RT 2.2.1
-
-lib/readline/vi_mode.c
- - fixed a bug with vi mode, `cw' and whitespace that removed the
- last character of the previous word
-
-lib/readline/readline.c
- - readline did not correctly save the value of last_readline_init_file
- across things like `bind'. Now it does the following:
-
- last_readline_init_file initialized to NULL
- readline_initialize_everything calls rl_read_init_file with
- an explicit argument of ~/.inputrc
- rl_read_init_file sets last_readline_init_file to
- savestring(filename) so it saves a fresh copy
-
-getcwd.c
- - new version from Roland McGrath, with changes for the bash build
- environment
-
-execute_cmd.c, variables.c
- - bash was not looking for $PATH in the temp environment when
- looking up a command. Now, find_variable looks in the temp
- environment if subshell_environment is set. This will be
- set when bash is looking a command up in the path (it's set in
- find_user_command_internal while looking up the path string to
- pass to find_user_command_in_path)
-
- 1/31
- ----
-make_cmd.c
- - removed useless call to alloca, replaced with a static array
- definition
-
- 2/3
- ---
-machines.h
- - Cray machine description
-
- 2/4
- ---
-builtins/getopt.[ch]
- - upgraded to a more recent version from the Gnu C library
-
-jobs.c
- - added a call to init_signal_handler to replace equivalent in-line
- code in initialize_jobs
-
-trap.c
- - new function: maybe_call_trap_handler (sig) calls a trap function
- for signal SIG if one exists
-
-jobs.c
- - bash now (effectively) ignores SIGINT while waiting for a job run
- from a script. We don't want to die if a SIGINT is received while
- running another process, only if that job dies due to SIGINT. This
- lets interactive processes run from scripts that want to catch
- SIGINT and handle it do so without disturbing the shell that's
- interpreting the script. All other versions of sh behave this way.
-
- The implementation is fairly straightforward. In wait_for, the
- parent shell sets the SIGINT handler to wait_sigint_handler, which
- allows the wait builtin to be interrupted and sloughs off everything
- else. flush_child controls the behavior when a `foreground' process
- dies due to SIGINT: it calls a trap handler if one exists;
- otherwise it calls either sigint_sighandler (interactive) or
- termination_unwind_protect (non-interactive). It then resets the
- SIGINT signal handler to what it was before wait_for changed it.
- wait_for does reset the sighandler before returning if flush_child
- does not, so the SIGINT does not stay ignored.
-
- There is a race condition between the time that make_child creates
- a child and sets it to run and the time the parent calls wait_for.
- This is handled by having old_sigint_handler, which holds the
- value of the `real' SIGINT signal handler, be NULL except when the
- shell is in wait_for, and only operate on the SIGINT handler state
- if this variable is non-null.
-
- Should the stuff be unwind-protected? I don't think so; u-p gets
- run on interrupts, and we're controlling the interrupt handler.
-
- 2/5
- ---
-trap.c
- - new function signal_is_trapped (sig) returns 1 if a trap handler
- has been established for SIG
-
-shell.c
- - have throw_to_top_level call longjmp(top_level, DISCARD) if the
- shell is non-interactive and a SIGINT occurred and was trapped
-
-cpp-Makefile, machines.h
- - instead of running `basename ...` to discover the name of the
- alloca object file, use a new variable $ALLOCA_OBJECT. It's set
- to alloca.o if we're using the C emulation, and to ALLOCA_OBJ,
- which must be defined in the machines.h entry, for an
- architecture defining ALLOCA_ASM
-
-cpp-Makefile
- - BSD make of 4.3-tahoe and later already defines MACHINE and does
- not allow it to be overridden, so replace it with Machine.
-
-endian.c
- - added changes from Cray to configure endianness correctly on
- machines with 8-byte longs
-
-parse.y
- - added '&' to no_semi_successors in bash_add_history so bash will
- not add a semicolon after it appears
-
- 2/6
- ---
-subst.c
- - since string_extract_verbatim was overloaded, added a new function
- string_extract_single_quoted to call when extracting strings in
- ''
-
-lib/readline/history.c
- - changed call to string_extract_verbatim to a call to
- string_extract_single_quoted
-
-lib/readline/vi_mode.c
- - rl_vi_subst was not calling rl_end_undo_group properly (i.e. at all)
-
-execute_cmd.c
- - On systems without job control, async commands (`&') have an
- extra redirection added before calling execute_command_internal
- that redirects /dev/null to standard input. This redirection
- must be removed right after execute_command_internal returns,
- because the loop functions call execute_command_internal multiple
- times with the same command struct. If we keep tacking redirections
- onto the front of it, eventually we'll run out of file descriptors
- on a big enough loop.
-
-jobs.c
- - some functions were not correctly blocking SIGCHLD while running:
- delete_all_jobs, map_over_jobs, start_job when it calls
- reset_current
-
- 2/7
- ---
-print_cmd.c
- - an extra space was being printed at the end of a redirection list.
- This caused exporting of functions with embedded here-documents to
- fail, since the end marker would not be matched
-
- 2/8
- ---
-nojobs.c
- - change reap_zombie_children to keep calling waitpid while it returns
- something > 0 (a valid pid)
- - add a call to reap_zombie_children if we get a valid pid after
- waiting in wait_for
-
-variables.c
- - include pwd.h after sys/types.h. It matters on some systems.
-
-shell.c
- - added a function to encapsulate the differences between systems
- in setting a file pointer to line-buffered: line_buffer_file
-
- 2/9
- ---
-shell.c
- - unbuffer stdin when it's not a tty and bash is reading a script
- from stdin
-
- 2/10
- ----
-
-machines.h, cpp-Makefile
- - a new machine description variable HAVE_DIRENT, passed down to
- makes in libraries
-
-support/mksysdefs
- - check for the existance of /usr/include/dirent.h, define
- HAVE_DIRENT_H if there
-
- 2/11
- ----
-machines.h
- - add #define USE_TERMCAP_EMULATION to HP-UX machine description
- - added #define HAVE_DIRENT to a number of entries
-
-jobs.h
- - added missing definitions for WSTOPSIG, WTERMSIG, WEXITSTATUS
- for Posix systems that do not have them and do not have the
- `union wait' defined
-
-builtins/suspend.def, unwind_prot.c, longest_sig.c
- - include <sys/types.h> before <signal.h> -- some systems require
- it
-
-support/mksysdefs
- - For HP machines running HPUX, SYSDEF is set to one of hpux8, hpux7,
- hpux6, or hpux, corresponding to different releases of HP-UX.
- - if `uname -m' returns something starting with XD88, the machine is
- a Tektronix XD88
-
- 2/12
- ----
-variables.c
- - stop core dumping on startup if SHLVL is not set
-
-lib/glob/glob.c
- - make sure we always recurse and glob the entire filename so the
- quoting characters added in shell_glob_filename get removed
- correctly
-
-jobs.c
- - new function end_job_control to terminate stopped jobs and
- give the terminal back to the original pgrp
- - new function restart_job_control to re-initialize the job
- control state
-
-builtins/exec.def
- - call end_job_control before we try to execve the command so
- we're back in the original process group for the new process
- and restart_job_control if the shell_execve fails and we're
- not exiting
-
-shell.c
- - change the code that resets the pgrp just before exiting to
- call end_job_control instead
-
-lib/readline/chardefs.h
- - new define, MACRO_CHAR
-
-lib/readline/readline.c
- - changed rl_generic bind to correctly handle binding keys > 128
- by using the appropriate meta keymap (map[ESC].function as a
- keymap)
- - changed rl_dispatch, rl_show_char, and rl_bind_key to use
- UNMETA instead of substracting 128 and to use META_CHAR to
- check for a character's `meta-ness'
-
- 2/13
- ----
-lib/readline/readline.c, lib/glob/glob.c
- - define HAVE_DIRENT if it's not defined but HAVE_DIRENT_H is
-
-lib/readline/history.c
- - instead of calling write(2) twice for each history line, build
- a big buffer of all the history data to write, fill it, and
- call write(2) once
-
-subst.c
- - wrapped up the eight-bit changes by making the single-quoted
- strings and double-quoted strings code in expand_word_internal
- simply discard a word if it's "" or '' and that's not the
- entire word. This preserves sh semantics.
-
-parse.y
- - If process substitution is compiled into the shell, there was
- a mistake by which <[ and >[ were treated the same as $[
-
-lib/glob/glob.c, lib/readline/readline.c
- - Reorganized the twisty maze of defines for HAVE_DIRENT
-
- 2/14
- ----
-posixstat.h
- - removed lines consisting of only a single #. Some ANSI cpps
- don't like lines like that
-
-execute_cmd.c
- - added a call to QUIT between commands in cmd1 ; cmd2 sequence
-
-test.c
- - removed redundant declaration of expr() in test_command()
-
- 2/16
- ----
-builtins/Makefile
- - added dependencies on the header files in the main shell directory
-
-jobs.c, jobs.h, builtins/fg_bg.def, builtins/kill.def
- - replaced the notified, foreground, and job_control members of the
- job structure with a flags field and bits J_NOTIFIED, J_FOREGROUND,
- and J_JOBCONTROL
-
-subst.c
- - fixed a typo (result[0] == '\0') in EIGHT_BIT version of
- dequote_string
-
-cpp-Makefile
- - added dependencies for the builtin object files
-
-execute_cmd.c
- - complete fix from 2/14 -- add QUIT calls to &&, ||, and `;' when
- executing a command and ignoring the return value
-
-jobs.c
- - if a job is suspended while running in a loop, break out of the
- loop
-
-nojobs.c
- - made the same wait_sigint_handler and wait_for changes as those
- made to jobs.c
-
-shell.c
- - moved the code that adds 128 to last_command_exit_value before
- any SIGINT trap handler is run
-
-subst.c
- - if a word is enclosed completely in "" or '', set the quoted
- flag when the word is returned from expand_word_internal. This
- keeps the globbing routines from being called
-
- 2/17
- ----
-shell.c
- - use shell_name instead of (++argv[0]) when testing for a
- restricted shell
-
- 2/18
- ----
-general.c
- - redid the defines for index and rindex to define and use
- HAVE_INDEX and HAVE_RINDEX, respectively
-
-machines.h
- - added HAVE_DIRENT to the AIXRT machine description
-
-jobs.c
- - define and use INVALID_SIGNAL_HANDLER as something old_sigint_handler
- cannot be set to
-
- 2/19
- ----
-
-config.h
- - made restricted shell mode configurable, #define RESTRICTED_SHELL
-
-shell.c, flags.c, execute_cmd.c, builtins/cd.def
- - add code to implement ksh/sh restricted shell mode
-
-shell.c
- - new function maybe_make_restricted (name) which turns the shell
- into a restricted shell if name == `rbash'
-
-lib/readline/readline.c
- - fixed rl_key_sequence_length problem when meta-ized characters are
- read (one too short). This left extra characters in macros when
- end-kbd-macro was bound to a meta-ized character
-
-builtins/common.c
- - added set_working_directory (name) as analog of
- get_working_directory
-
-variables.h
- - added `imported' variable attribute
-
- 2/20
- ----
-Makefile
- - DESTDIR -> bindir
- - aix-Makefile -> ansi-Makefile because an ANSI C compiler like that
- in SunOS5 (hah!) need not accept /**/# as a directive
-
-bashline.c
- - added code from bfox to do completion into brace expansions
- - use BUILTIN_ENABLED flag
-
-builtins.h
- - added a flags field to struct builtin to replace the `enabled'
- structure member
-
-cpp-Makefile
- - set SHELL=MAKE_SHELL if MAKE_SHELL is defined
- - added support for the LD_HAS_NO_DASH_L definition from machines.h
- - PROGRAM -> Program
- - support for the new LD_HAS_NO_DASH_L machine defintion variable
-
-execute_cmd.c
- - removed the subshell_environment variable
- - find_user_command_internal now calls find_variable_internal
-
-general.c
- - moved init_signal_handler here, changed name to set_signal_handler
-
-general.h
- - added definition for set_signal_handler for non-Posix systems
-
-jobs.c
- - now print `Done' when a background job exits with status 0
-
-machines.h
- - combined all of the Sun machine descriptions into one
- - new descriptions for SunOS5, Alliant, Motorola Delta 68k
- - completely redid the HPUX description, making M_MACHINE much more
- specific rather than just `hpux'
-
-nojobs.c
- - change all instances of signal() to set_signal_handler()
-
-shell.c
- - removed definition of init_signal_handler
- - changed more instances of signal to set_signal_handler
-
-subst.c
- - monster reformat
-
-variables.c
- - added a function find_variable_internal that can be explictly told
- to search the temporary environment, changed find_variable to call
- it
- - changed all variables and functions from the initial shell
- environment to have the `imported' attribute
- - made set_func_auto_export return the pointer to the function struct
-
-builtins/Makefile
- - ar clq --> ar cq
-
-builtins/cd.def
- - `pushd_silent' is gone
-
-builtins/common.c
- - there is no more `enabled' member of a builtin struct;
- test with BUILTIN_ENABLED instead
-
-builtins/enable.def, builtins/help.def
- - use BUILTIN_ENABLED bitmask
-
-builtins/mkbuiltins.c
- - initialize all builtins to be BUILTIN_ENABLED | STATIC_BUILTIN
-
-lib/glob/Makefile
- - ar clq -> ar cq
-
-lib/glob/glob.c
- - added another shell interruption point
- - reorganized the twisty maze of dirent defines to use HAVE_DIRENT_H
-
-lib/readline/readline.c, lib/readline/funmap.c
- - put rl_arrow_keys back in
-
-lib/readline/Makefile
- - ar clq -> ar cq
-
-lib/readline/readline.c
- - reorganized the twisty maze of dirent defines to use HAVE_DIRENT_H
- - made the search string for i-searches dynamically allocated and
- expandable rather than using alloca
- - turned on USE_XON_XOFF again
- - RL_DEFAULT_INPUT_FILE -> DEFAULT_INPUTRC
-
-support/cppmagic
- - added `legal' to the list of unknown flags
-
-support/getcppsyms
- - now recognizes _M88KBCS_TARGET
-
-support/mksysdefs
- - code to distinguish SunOS5 from SunOS4
- - aix-Makefile -> ansi-Makefile
-
-lib/readline/vi_mode.c
- - after completing with `*' or `\', Posix.2a says to go into
- insertion mode
- - for c[wW], don't move back any farther than we started to
- emulate c[eE] -- Posix.2 says the cursor position should not
- change
-
-variables.c
- - if we get PWD from the environment, and it's the same directory
- as `.' (calling same_file) set the_current_working_directory
- to that value
-
-builtins.h
- - added a #define for SPECIAL_BUILTIN
-
-mksysdefs
- - Xenix systems now have one of XENIX_22, XENIX_23, or XENIX_32
- defined based on the OS release level
- - test for /dev/fd being a directory and /dev/fd/0 being readable
- to decide whether or not we have the /dev/fd way of naming open
- files
-
- 2/24
- ----
-builtins/common.c
- - set_working_directory is now a void
-
-general.c
- - new implementation of canonicalize_pathname from bfox
- (+ bug fixes, of course)
-
-bashline.c
- - make bash_symbolic_link_hook call canonicalize_pathname
-
-variables.c
- - set_func_auto_export no longer returns a SHELL_VAR *
-
-lib/readline/readine.c
- - added code to determine whether or not the terminal has a
- meta key and to use it while editing if one is available
-
-subst.c
- - minor bug fix to remove_quoted_escapes (logic bomb :-)
-
- 2/25
- ----
-machines.h
- - cleaned up the hpux section. Cannot define M_OS as HPUX_X,
- because HPUX_X is already defined as expanding to nothing;
- this results in a blank M_OS
-
- - attempted to rationalize Xenix support. Depending on the
- XENIX_nn define provided by support/mksysdefs, configure in
- -DREVERSED_SETVBUF_ARGS, -xenix, -lx, -ldir, and HAVE_DIRENT
-
- Xenix 2.2: -DREVERSED_SETVBUF_ARGS
- cc -lx
-
- Xenix 2.3: HAVE_DIRENT
- cc -ldir
-
- Xenix 3.2: HAVE_DIRENT
- cc -xenix -ldir
-
- 2/26
- ----
-builtins/source.def
- - POSIX_PENDANTIC -> POSIX_PEDANTIC
-
- 2/27
- ----
-support/getcppsyms.c
- - consolidated HP definitions to be of the form
-
- #if defined (__hp9000s300) || defined (hp9000s300)
- printf (" -Dhp9000s300")
- #endif /* __hp9000s300 || hp9000s300 */
-
-machines.h
- - changed the way the hp9000s300 tests for hp9000s200 being defined
-
-support/mksysdefs
- - changed the XENIX_nn defines a little bit
-
-input.c
- - new input buffering package -- like stdio but allows syncing with
- the underlying file descriptor when creating child processes, and
- provides a fd-stream mapping.
-
-input.h, shell.c, jobs.c
- - changes for the input buffering package, using default_buffered_input
- in place of default_input
-
-general.c
- - fix canonicalize_pathname to keep from running off the end of the
- result string (check result[i] before assigning start = i++)
-
-jobs.c
- - change some calls to signal to call set_signal_handler instead
-
- 2/29
- ----
-shell.c
- - only initialize default_buffered_input to the input file
- descriptor if the shell is not interactive
-
-builtins/getopt.c
- - cast the arguments properly in calls to my_bcopy
-
-execute_cmd.c
- - added code to do_redirection_internal to change buffered streams
- if one of the file descriptors corresponding to a buffered input
- stream is modified. This lets the shell do proper buffering if
- the file descriptor from which the shell is reading input is
- modified by a redirection (e.g., exec 0</etc/passwd)
-
-input.c, shell.c, parse.y, jobs.c, nojobs.c
- - changed default_buffered_input to an integer file descriptor that
- is mapped to a buffered stream via the `buffers' array
-
-input.c
- - the `buffers' array is now lazily dynamically allocated
- - added functions to duplicate buffered streams so that things like
- exec 0<&4 will work right
- - added functions to access the buffered stream functionality given
- a file descriptor argument, indexed through the `buffers' array.
- - unbuffered streams now have bp->b_size == 1, so that no special-
- case code is needed when reads are done.
-
-input.h
- - the member of the BASH_INPUT union in effect if it describes a
- buffered stream is now a file descriptor
-
-jobs.c
- - SCO 3.2.4 has fixed the sigsuspend() bug, so don't execute the
- hack workaround if SCOv4 is defined
-
- 3/1
- ---
-builtins/common.c
- - made shell_builtin_compare perform some tests itself before
- calling strcmp to cut down the number of strcmp calls
- - did the same thing for builtin_address_internal
-
-parse.y
- - removed calls to strcmp from read_token, just test if token[0] == }
- and !token[1]
- - only call clearerr if bash_input.type == st_stream in shell_getc
- - removed a call to strcpy from shell_getc that only added a newline;
- changed it to two assignment statements
- - used token_index instead of a call to strlen at the end of
- read_token where the word is being constructed and returned
-
-unwind_prot.c
- - changed a strcmp to a STREQ in unwind_frame_run_internal
-
-variables.c
- - removed some dead code that had been #if'd out
- - added a variable to avoid a call to strlen in
- initialize_shell_variables
- - change a call to strncmp to a STREQN in initialize_shell_variables
- - changed strcmp to STREQ in non_unsettable
-
- 3/2
- ---
-jobs.c
- - rearranged the code that calls flush_child (0) for SCO so it is
- easier to do something like SCO && !SCOv4
- - changed flush_child so that the loop is performed in a blocking
- fashion only if SCO && !SCOv4
-
- 3/3
- ---
-signames.c
- - new standalone program to create a signames.h file that contains
- the initialization code for the signal_names array
-
-trap.h
- - removed the signal_names array initialization code
- - include "signames.h"
-
-cpp-Makefile
- - make sure signames.aux builds signames.h correctly
-
-input.c
- - changed fd_is_seekable and bufstream_getc into macros
-
-mksysdefs
- - changes to define SCOv4 if uname returns the right info
-
-machines.h
- - changes to define BROKEN_SIGSUSPEND and NO_DEV_TTY_JOB_CONTROL
- for various SCO systems
-
-jobs.c
- - check for BROKEN_SIGSUSPEND and NO_DEV_TTY_JOB_CONTROL instead
- of using SCO
-
- 3/4
- ---
-general.c
- - make set_signal_handler return the old signal handler again
-
-shell.c
- - set SIGINT handler to sigint_sighandler for non-interactive shells
- - remove SIGQUIT from list of terminating signals
-
- 3/5
- ---
-builtins/trap.def
- - added special SIGINT handling for the case of reverting a signal
- handler to the default
-
-shell.c
- - added SIGINT back to the list of terminating signals for
- non-interactive shells
-
-variables.c
- - initialize mail variables in initialize_shell_variables only if
- interactive_shell is true
- - only check for command_oriented_history if interactive shell
- - only initialize the history variables if history expansion is
- being performed (remember_on_history == 1)
- - only make PS1 and PS2 non-unsettable if the shell is interactive
-
- 3/6
- ---
-variables.c
- - set up a new temporary environment, FUNCTION_ENV, which is the
- temporary environment provided to a function
- - make find_tempenv_variable search both temporary_env and
- function_env, searching function_env if variable_context > 0
- - change maybe_make_export_env to add variables from function_env
- to the environment
- - new function dispose_function_env to deallocate the temporary
- function environment and cause a new export_env to be made
- - added code to qsort_string_compare to compare the first
- characters of the strings passed before calling strcmp
-
-general.c
- - new function copy_array (char **array) returns a newly-allocated
- copy of ARRAY
-
-execute_cmd.c
- - added code to execute_builtin_or_function that initializes the
- temporary function environment and takes care of disposing of
- it on normal or abnormal exit
- - dispose of temporary environment after we initialize the function
- environment
- - added same code to execute_subshell_builtin_or_function
- - since the trap code now restores the SIGCHLD handler to the
- original, any time make_child is called and the shell needs to
- run in the child process, set_sigchld_handler should be called
- to reinstall the proper SIGCHLD handler
-
-jobs.c
- - new function set_sigchld_handler to reinstall flush_child as the
- SIGCHLD signal handler
-
- 3/9
- ---
-bashline.c
- - swapped code around to avoid calling savestring (this_fignore)
- when this_fignore is null
-
- 3/10
- ----
-jobs.c
- - make sure the code in flush_child that calls the SIGCHLD trap
- handler saves last_made_pid and the_pipeline using unwind-protects
-
-lib/readline/readline.c
- - make sure the code that uses VLNEXT is protected by #ifdef
- TERMIOS_TTY_DRIVER
-
-shell.c
- - add a `beenhere' flag to avoid executing $ENV more than once
-
-parse.y
- - added a new token ASSIGNMENT_WORD
- - made read_token return ASSIGNMENT_WORD if in a simple command
- position, token contains `=', the `=' is not the first character,
- and the characters before `=' are a legal identifier (as Posix.2
- specifies)
- - a simple_command_element can now also be an ASSIGNMENT_WORD
- - alias expansion is attempted if the last token was an
- ASSIGNMENT_WORD, as Posix.2a specifies
-
- 3/11
- ----
-execute_cmd.c
- - moved the code that checks command words for `/' down into
- execute_disk_command, and made it check only the first command
- word, like sh and ksh
- - vfree() is no longer static, so other code that needs to add
- unwind-protects that use free can use it
-
-trap.c
- - added a function set_sigchld_trap (command) to set the SIGCHLD
- trap handler to `command', because unwind-protects cannot take
- two arguments
-
-jobs.c
- - changed the code in flush_child to set up and use and unwind-protect
- frame to protect the things it needs to while running the SIGCHLD
- trap commands
-
- 3/12
- ----
-nojobs.c
- - added the BUFFERED_INPUT code to make_child
-
-subst.c
- - folded the test and increment of the string pointer into
- string_extract_double_quoted and string_extract_single_quoted
- - made string_extract_verbatim and string_extract static
-
-lib/readline/history.c
- - changed code that calls string_extract_single_quoted to not
- increment the string pointer after the call
-
-variables.c
- - added code to qsort_var_comp to compare the first character of
- the variable names before calling strcmp
-
- 3/13
- ----
-parse.y
- - include string.h or strings.h
-
-lib/readline/readline.c, lib/glob/glob.c
- - removed the code that defined HAVE_DIRENT_H if _POSIX_VERSION
- was defined -- it breaks on apollos, and is a bad idea
- anyway
-
-input.c
- - make sure close_buffered_fd closes the fd, whether or not it
- was a buffered stream
-
- 3/16
- ----
-machines.h
- - added a #define LD_HAS_NO_DASH_L to the Sequent Dynix entries
-
-trap.c
- - made trap_list[SIGINT] == IMPOSSIBLE_TRAP_HANDLER while running
- the interrupt trap, so we can tell if the trap handler sets
- another trap and not restore the original handler if so
-
- 3/17
- ----
-trap.c
- - a new function set_sigint_handler, which subshells doing `shellsy'
- things like command substitution and ( cmd ) call to make sure
- they handle interrupts right
-
-execute_cmd.c, subst.c
- - added calls to set_sigint_handler in the appropriate spots
-
- 3/18
- ----
-hash.c
- - replaced the old hash function with the one from Gnu cpp, which has
- a much better distribution
-
-jobs.c
- - make end_job_control call setpgid to reset the pgrp to the original
- only if original_pgrp >= 0
-
-builtins/exec.c
- - remove the calls to restore_default_signal; restore_original_signals
- now does all the necessary work
-
- 3/19
- ----
-jobs.c, nojobs.c
- - make sure that make_child resets default_buffered_input to -1
- after closing it with close_buffered_fd
-
- 3/23
- ----
-lib/glob/tilde.c
- - had an extern declaration for malloc rather than xmalloc
-
-general.h
- - added #define for REVERSE_LIST, a macro which calls reverse_list
- on a list only if the pointer is valid and there is more than one
- element
-
-parse.y
- - removed calls to legal_assignment in read_token; assignment()
- already does those checks
-
-general.c
- - reformatted reverse_list
-
-copy_cmd.c
- - changed calls to reverse_list in copy_word_list and copy_redirects
- to calls to REVERSE_LIST
-
-subst.c
- - changed a call to reverse_list in expand_word_internal to one to
- REVERSE_LIST
-
- 3/24
- ----
-builtins/common.c
- - replaced a call to sscanf with code to skip leading whitespace and
- calls to all_digits and atoi
-
-mailcheck.c
- - did the same for a call to sscanf in time_to_check_mail
-
- 3/26
- ----
-variables.c
- - made find_variable_internal call find_tempenv_variable only if
- temporary_env or function_env exists
-[gprof.int.4]
-
-alias.c, alias.h
- - rewrote the alias code so that it now uses a hash table instead
- of looking things up in a linear list
-
-subst.c
- - removed the inclusion of alias.h
-
-parse.y
- - added inclusion of alias.h
-
-cpp-Makefile
- - removed alias.h from subst.o's dependencies
- - added alias.h to y.tab.o's dependencies
-
-bashline.c, builtins/alias.def
- - rewrote code that knew about the internal alias data structure
- to use an array of alias structures to search, match, and print
-
- 3/27
- ----
-test.c
- - group_member() needs to check against gid and egid regardless
- of whether or not the system has getgroups(2); Posix.1 does not
- require that the primary group id show up in the group list,
- and some systems do not put it there
-
- 3/30
- ----
-parse.y
- - add `|' to the list of tokens that should not have a semicolon
- following them when adding a line to the history when command-
- oriented history is active
-
-lib/readline/readline.c
- - fixed up the control character display by making the code print
- c ^ 0x40
-
-support/cppmagic
- - add support for recognizing the s5r4 c pre-processor,
- /usr/ccs/lib/cpp
-
-lib/readline/vi_mode.c
- - made rl_vi_delete_to pay attention to whether or not we're redoing,
- and to use the last motion key if we are
- - made rl_vi_char_search use the last char searched for if we're
- redoing
-
- 3/31
- ----
-parse.y
- - removed the check for non-interactive-ness when doing shell
- comments
-
- 4/1
- ---
-lib/readline/readline.c
- - completion with tilde expansion needs to have any `/' present at
- the end of the user's directory name re-inserted manually, because
- pathname canonicalization strips any trailing `/', before tacking
- on the expanded filename
-
-subst.c
- - fixed a bug in dequote_string that caused reading beyond the end
- of the string if the last character in the string was an (unquoted)
- CTLESC
- - made list_string obey the setting of `quoted' and not do the
- initial strip of whitespace from the beginning and end of the
- word if it was set
- - expand_word_internal calls list_string with quoting == 1 if splitting
- a word after expanding "$@"
-
-error.c
- - new function itrace for interactive traces
-
-subst.c
- - command_substitute should give the terminal back to pipeline_pgrp
- only if the shell is interactive
-
-execute_cmd.c
- - execute_disk_command should turn off interactive while performing
- redirections for an asynchronous command. The problem was a race
- condition with command_subst. A command like
- date > `hostname` &
-
- would leave the subshell begun to run date and the primary shell
- fighting over the terminal. After the subshell did the command
- substitution, it wanted to give the terminal back to pipeline_pgrp,
- which was its own pid. Since it was in the background, though,
- that was wrong, and ended up taking the terminal away from the
- primary (interactive) shell, which thought it had the thing.
-
-lib/readline/readline.c
- - if SYSTEM_CALL_RESTART is not defined, declare c as an integer
-
- 4/3
- ---
-bashline.c
- - put code into command_word_completion_func to skip all but pathname
- completion checks if the hint given is an absolute pathname
- - fix strncmp of basename against hint text (??); this always failed
- unless there was no pathname given
-
- 4/7
- ---
-bashline.c
- - fixed the cases where the simple `last character is a command
- separator' test fails for distinguishing between program name
- completion and filename completion: the tokens >&, >|, and <&.
- - corrected fix of 4/3 to handle command word completion with and
- without leading paths
-
- 4/8
- ---
-lib/readline/readline.c
- - break the declaration and initialization of a variable with a call
- to setjmp into a declaration and separate assignment statement (for
- Cray)
-
- 4/10
- ----
-subst.c
- - A word that uses both "" and '' to do quoting will not be marked
- as fully quoted by expand_word_internal. Wrote a
- fully_quoted_word () predicate function to solve that.
- - Quoted patterns with globbing characters are sent to the
- globbing functions because glob_pattern_p doesn't understand
- shell quoting. Wrote a new function unquoted_glob_pattern_p,
- to fix that.
-
- 4/13
- ----
-shell.c
- - make sure default_input is valid and being used for an interactive
- shell started without line editing
-
- 4/15
- ----
-builtins/common.c
- - redid part of the new get_numeric_argument code to avoid a call to
- atoi and just do everything ourselves
-
-variables.c
- - only call set_if_not on PS1 and PS2 in initialize_shell_variables
- if the shell is not interactive
- - check the variable returned by looking up PWD to make sure it's
- non-null before trying to use it in initialize_shell_variables
-
-jobs.c
- - add a descriptive tag to the call to get_working_directory in
- job_working_directory
-
- 4/17
- ----
-test.c
- - fixed a typo in group_member: gid -> pgid in assignment statement
- - in the normal Sun compilation environment, getgroups returns an
- array of ints, not gid_ts. getgid and getegid also return ints.
- stat structures contain a gid_t, though.
-
- Need to reorder the includes so that stat.h is included first, then
- uid_t and gid_t are redefined to int, then the rest of the files
- are included.
-
- Also need to cast the values from a stat structure to gid_t and
- uid_t before comparing them to the results of getgid and getuid
- when implementing -O and -G
-
- 4/21
- ----
-lib/readline/readline.c
- - added code to rl_getc to handle EWOULDBLOCK/EAGAIN and turning off
- no-delay mode
-
- 4/22
- ----
-
-builtins/cd.def
- - made change_to_directory canonicalize the pathname before attempting
- to chdir(2) if follow_symbolic_links is set
-
- 4/23
- ----
-builtins/type.def
- - made type handle absolute program names by just echoing the name
-
-builtins/alias.def
- - made single_quote correctly handle single quotes in aliases
-
- 4/28
- ----
-trap.c
- - made ignore_sig and restore_default_signal check that the value
- of the original signal handler (in original_signals) was valid
- before trying to use it. Bug noticed with `trap "" 1 2 3' as
- first line in script.
-
- 4/29
- ----
-lib/readline/readline.c
- - made rl_signal_handler only unblock the signal it just received
- on BSD and Posix systems
-
- 5/5
- ---
-builtins/type.def
- - don't look up the function with find_function until we actually
- need the info
-
-execute_cmd.c
- - in do_redirection_internal, don't do unnecessary work. For instance,
- >&1 ends up duplicating fd 1 as itself (then adding a close for it,
- which is a bug)
-
- 5/8
- ---
-general.h
- - don't attempt to declare index and rindex if `index' is defined
- (with #define)
-
-lib/readline/vi_mode.c
- - fixed the `c' command so that cl and c<space> are equivalent --
- formerly the c<space> changed two characters instead of one.
- The same fix was made to rl_vi_change_to, rl_vi_delete_to, and
- rl_vi_yank_to
-
-parse.y
- - bash_add_history did not correctly handle lines that ended with
- an escaped newline. It would insert semicolons in the locations
- where the line breaks occurred.
-
- 5/12
- ----
-documentation/bash.1
- - removed references to pushd_silent
- - added setion on process substitution
-
-subst.c
- - fixed a bug in expand_word_internal that caused $xxx"" to expand
- to nothing when `xxx' was unset. The code now explicitly turns
- a partially quoted string that expands to nothing (istring[0] == 0)
- into a QUOTED_NULL (istring[0] = CTLNUL) before returning the
- word list.
-
- 5/15
- ----
-documentation/bash.1
- - added a missing .PD in the builtins section after the line
- summarizing `:'
- - added text describing the effect of additional arguments to the
- `.' command
-
-subst.c, general.c, jobs.c, nojobs.c, error.c, getcwd.c
- - only declare errno as `extern int' if it's not #defined
-
-builtins/{bind,exec,fc,kill,source}.def, lib/readline/{readline,history}.c
- - ditto with errno
-
-lib/glob/fnmatch.c
- - ditto with errno
-
- 5/17
- ----
-execute_cmd.c
- - shells compiled with job control active should perform the implicit
- `</dev/null' redirection for asynchronous commands when it is not
- active
-
-builtins/mkbuiltins.c
- - added a `-nodocument' option to inhibit the output of the `xxx_doc'
- array that is a builtin's long documentation. Saves between 26
- and 27K in the bash executable on the RT, 32K on the Sun-4
-
- 5/22
- ----
-print_cmd.c
- - added code to make group commands print better
-
-builtins/common.c
- - new function remove_hashed_filename to remove a filename from the
- table of hashed commands
-
-execute_cmd.c
- - make sure the filename found in the hash table actually exists and
- is executable. If not, remove it from the hash table and look it
- up in $PATH.
-
-general.c
- - make sure to #include <signal.h> before defining set_signal_handler
- (on Posix systems)
-
-builtins/command.def
- - change HPUX_7 to hpux_7
-
- 5/27
- ----
-builtins/times.def
- - added USGr3 to the list of systems that should have HAVE_RESOURCE
- undefined even though <sys/resource.h> exists
-
- 5/28
- ----
-machines.h
- - added a description for 386/486 boxes running BSDI BSD/386
-
-support/mksysdefs
- - looks for <limits.h> and writes a define to sysdefs.h if it's
- found
-
-maxpath.h
- - rewritten -- now includes limits.h if HAVE_LIMITS_H is defined,
- then tries to define MAXPATHLEN as PATH_MAX
-
- 5/29
- ----
-lib/readline/history.c
- - added definition for rl_string_extract_single_quoted so the
- code inhibiting history expansion inside quotes does not depend
- on the shell
- - change to use rl_string_extract_single_quoted
- - removed code that would have inhibited history expansion in
- double-quoted strings
-
-subst.c
- - make string_extract_{single,double}_quoted static again
-
- 6/1
- ---
-trap.c
- - systems with _POSIX_VERSION defined need not reset the signal handler
- inside trap_handler
- - set_signal should use set_signal_handler() to install the signal
- handler rather than signal()
- - initialize_traps needs to use set_signal_handler for SIGINT and
- SIGQUIT rather than signal()
- - restore_default_signal needs to use set_signal_handler
-
-parse.y
- - the readline interface code needs to use set_signal_handler to
- install the SIGINT handler
-
-lib/readline/readline.c
- - new function rl_set_sighandler, which is the readline analogue of
- the bash set_signal_handler
- - rl_set_signals and rl_clear_signals need to use rl_set_sighandler
- for SIGINT and SIGALRM
-
- 6/2
- ---
-signames.c
- - fixed a typo (signame_names -> signal_names)
-
- 6/3
- ---
-subst.c, general.c
- - AIX machines need to use sysv_getc rather than getc when reading
- from the command substitution pipe -- read(2) is not restarted
- automatically when interrupted by a signal and returns EINTR
-
- 6/5
- ---
-documentation/bash.1
- - removed documentation of M-C-j command in emacs editing mode
- - added description of M-{ (complete-into-braces)
- - added description of M-! and C-x ! command completion
- - added description of M-TAB dynamic history completion
-
-lib/readline/search.c
- - new file containing code to perform non-incremental history
- searches. Functions to call are rl_noninc_forward_search
- and rl_noninc_backward_search
-
-lib/readline/emacs_keymap.c
- - bound M-^R to non-incremental-search-backward, M-^S to
- non-incremental-search-forward
-
-lib/readline/readline.h
- - extern defintions for rl_noninc_{forward,backward}_search
-
-lib/readline/funmap.c
- - added names `non-incremental-forward-search-history' and
- `non-incremental-reverse-search-history'
-
-lib/readline/vi_mode.c
- - rl_vi_yank_arg should put readline into insertion mode when
- it is done
-
-lib/readline/vi_keymap.c
- - ^I should just insert when in vi insertion mode, rather than
- attempt completion
-
- 6/6
- ---
-
-lib/readline/funmap.c
- - removed the `vi-dosearch' bindable string, since rl_vi_dosearch
- is really a private function for vi_mode.c. It does not fit
- the calling conventions of the bindable readline functions
- (and I've since removed it)
-
-lib/readline/readline.h
- - removed the extern definition for rl_vi_dosearch
-
-lib/readline/search.c
- - added new functions rl_noninc_forward_search_again and
- rl_noninc_backward_search_again to search for the last saved
- search string from the current `noninc' history position
-
-lib/readline/vi_mode.c
- - removed the vi history search code and changed rl_vi_search
- and rl_vi_search_again to call the non-incremental search code
- from search.c
-
- 6/8
- ---
-
-[changes from bfox version dated 5/10]
-
-bashline.c
- - changed the conditional clause that decides whether a token is
- in a command position for command name completion to be a little
- simpler
-
-bracecomp.c
- - new version from bfox
-
-config.h
- - moved BUFFERED_INPUT define here
-
-flags.c
- - new flag for interactive comments
- - reformatted find_flag
-
-flags.h
- - added interactive_comments and an extern declaration of restricted
-
-machines.h
- - new cray definition from bfox
-
-maxpath.h
- - don't include limits.h if BUILDING_MAKEFILE is defined
-
-shell.c
- - moved the check for restricted to immediately after the sourcing
- or .profile
-
-test.c
- - now includes shell.h in the initial block of includes
-
-trap.c
- - new function get_original_signal to take care of the bookkeeping
- of correctly setting up original_signals[sig]
-
-trap.h
- - signal_decode -> decode_signal
-
-builtins/exec.def
- - adjusted the help text to make it clear that only non-interactive
- shells check the no_exit_on_failed_exec variable and exit if the
- execve fails
-
-builtins/set.def
- - added description and code to implement set -o interactive_comments
-
-lib/glob/glob.c
- - if PAT is empty when glob_vector is called, skip the loop and
- return one empty filename. This is how to make echo */ echo
- only directory names
-
-lib/readline/parens.c
- - new file from bfox implementing parenthesis matching for readline
-
-lib/readline/emacs_keymap.c
- - if PAREN_MATCHING is defined, perform `show-matching' on `)', `}',
- and `]'
-
-lib/readline/history.c
- - add `$' to the list of separating characters in history_tokenize
- so that two-character `$' tokens ($$, $!, $() are parsed correctly
-
-lib/readline/readline.c
- - Make an argument of 1 to rl_rubout and rl_delete work the same
- as if any other argument had been given by saving the text on
- the kill ring
- - in rl_getc, check that the value returned from read == sizeof
- unsigned char
-
-lib/readline/readline.h
- - added declaration of rl_event_hook, which is the address of a
- function to call periodically while readline is awaiting
- character input
-
-support/cppmagic
- - new implementation from bfox, now returns a full cpp specification,
- complete with system dependent flags
-
-support/mksysdefs
- - added a variable MAKE_ANSI which, if set to true, causes the
- ansi Makefile to be generated
- - added code to recognize various types of cray/unicos machines
-
-[end of fixes from bfox]
-
-getcwd.c
- - integrated changes that allow getcwd to handle paths longer
- than PATH_MAX by shifting to using a dynamically-allocated
- buffer
-
-builtins/set.def
- - make the check for emacs or vi check to make sure the shell is
- interactive
-
- 6/10
- ----
-builtins/common.c
- - the dollar_arg_stack was never being reallocated in push_dollar_vars
- because of a stray `if (!dollar_arg_stack)' before the realloc call
-
- 6/12
- ----
-cpp-Makefile
- - added some missing $(RM) $@ in explicit targets for objects (the
- ones that don't go through the default rules) as well as the
- targets for the auxiliary programs
-
-subst.c
- - redid the way bash handles assignment statements on command lines
- to fix two bugs:
-
- 1) variable assignments are not supposed to affect expansion
- performed on the same line, if a command is to be run
- 2) if the words left after removing the variable and environment
- assignments don't expand to a command word, the assignments
- should affect the shell's environment
-
- new function: separate_out_assignments
- removes variable assignments that precede other words and puts
- them on VARLIST
- removes environment assignments in the rest of the words, if
- set -k is in effect, and puts them on ENVLIST
-
- just before expand_words_internal returns, it checks varlist and
- envlist (if it is doing expansion) and performs the assignments, if
- any. If it's returning a null list, these assignments affect the
- shell's environment
-
- 6/13
- ----
-subst.c
- - eliminated ENVLIST; VARLIST can serve for both variable and
- environment assignments
-
- - sped up expand_words_internal's section for brace expansion by
- eliminating unnecessary copies -- original word is used unless brace
- expansion occurred, in which case the original word is linked to
- a list of words to dispose when brace expansion is completed
-
- - sped up the word expansions section of expand_words_internal by
- (possibly) eliminating a call to reverse_list on the results of
- word expansion and splitting on $IFS, because the most common
- case will expand to only a single word
- - `expanded' needs to be freed only if expansion and word splitting
- took place, no moving the call to dispose_words up after the call
- to word_list_split means that the common case no longer needs to
- copy the list
-
- - sped up globbing by eliminating copying as was done for brace
- expansion -- keeping a list of `disposable' words and using the
- original list contents if expansion failed or was not performed
- - in the case that we're not globbing a word because it has no
- unquoted globbing characters, eliminated the copy and creation of
- a brand new list
- - added a define GLOB_FAILED that handles the cases of using and
- not using the GNU libc Posix.2 globbing library
- - moved the code that dequotes the original word so it's executed
- only if the glob fails
- - wrapped the code that performs globbing inside an if (new_list)
- clause
- - call REVERSE_LIST only if we're actually doing globbing; otherwise
- dequote the list and go on to performing assignments
-
- 6/15
- ----
-lib/glob/glob.c
- - if the directory portion of a pathname to be globbed contains
- quoted globbing characters, the quotes (backslashes) need to be
- removed before the code tries to open and read that directory
-
- 6/17
- ----
-execute_cmd.c
- - index -> indx in extract_colon_unit
-
-nojobs.c
- - make wait_for_single_pid return the status of the pid it's waited
- for, instead of throwing it away
- - added a simple pid-status array to avoid multiple calls to
- wait_for and calling wait on dead processes. make_child adds
- pids to this array, and the status of a pid is updated when
- it's returned from wait(2) or waitpid(2)
- - removed the checks for whether or not the pid is valid (using
- kill(2)) in favor of using the information in the pid_list
-
-parse.y
- - call cleanup_dead_jobs on non-job-control systems to clean up the
- pid_list
-
- 6/18
- ----
-subst.c
- - include config.h before trying to include string.h or strings.h
- so USG is properly defined
-
- 6/19
- ----
-support/mksysdefs
- - look for /usr/include/string.h and define HAVE_STRING_H if
- found. This is the file mandated by ANSI C.
-
-cpp-Makefile
- - look for the HAVE_STRING_H definition from sysdefs.h and define
- it as part of SYSTEM_FLAGS if found
- - added the HAVE_STRING_H to LIBRARY_CFLAGS, so readline can
- decide what to include
-
-general.c, parse.y, subst.c
- - use the HAVE_STRING_H define in deciding which flavor of the
- include file to use
-
-builtins/common.c
- - include strings.h or string.h, depending on the definition of
- HAVE_STRING_H
- - added extern declaration of rindex and index at file scope
- - removed extern declaration of rindex in find_hashed_filename
-
-lib/readline/rldefs.h
- - removed the messy #ifdef clauses and such from readline.c and
- moved them to this new file
- - added a section on string functions (string.h vs. strings.h,
- whether or not index and rindex need to be defined)
-
-lib/readline/readline.c
- - removed the messy #ifdef clauses that attempt to parameterize
- things and define constants on a system-specific basis
- - removed the definition of the unused variable xoff_state
-
-flags.c
- - corrected a typo in the comment describing jobs_m_flag
-
-jobs.c
- - new function, current_working_directory (), which returns the
- cwd without calling malloc to allocate memory, even indirectly.
- This can safely be called from a signal handler, like when
- flush_child calls notify_of_job_status if async notification is on
- - changed call to job_working_directory in pretty_print_job to call
- current_working_directory
- - moved assignment to DIR in notify_of_job_status after the calls
- to sigprocmask to block SIGCHLD and SIGTTOU
- - in notify_of_job_status, DIR is now assigned via a call to
- current_working_directory and hence does not need to be freed
- - notify_of_job_status now initializes DIR to NULL and calls
- current_working_directory only if it needs to
- - changed a call to reverse_list in stop_pipeline to REVERSE_LIST,
- because most pipelines will be only one process long
-
-builtins/jobs.def
- - make an illegal jobspec cause a failure instead of returning 0 all
- the time
-
-builtins/times.def
- - times now ignores any arguments for sh and ksh compatibility
-
- 6/20
- ----
-execute_cmd.c
- - fixed execute_until_or_while to actually return the status of the
- last command executed in the body rather than
- last_command_exit_value, which is the status of the test (which
- has just failed)
-
- 6/23
- ----
-execute_cmd.c
- - fixed execute_subshell_builtin_or_function to exit with
- last_command_exit_value if a builtin longjmps to top_level
- with value EXITPROG, rather than with EXITPROG (3)
-
- 6/25
- ----
-cpp-Makefile
- - added rldefs.h to READLINE_SOURCE
-
-builtins/type.def
- - `type' now returns 0 if no arguments are given
-
-jobs.c
- - make wait_sigint_handler obey interrupt_immediately as well
- as whether the wait builtin is the current command (XXX - in
- the future remove the check for wait_builtin entirely and
- just use interrupt_immediately, because this_shell_builtin
- could be changed by the code that runs from a SIGCHLD trap)
- - make the code that runs commands from SIGCHLD traps set
- interrupt_immediately to 1 each time through the loop
-
- 6/26
- ----
-builtins/common.c
- - declare extern void vfree and use it in the add unwind protect
- call, to avoid having to declare what type free returns
-
-execute_cmd.c, builtins/common.c
- - removed all references to builtin_pipe_in_hack, which is no
- longer used
-
-parse.y
- - removed all references to current_token_being_expanded and
- pending_token_being_expanded, since their function is subsumed
- by expanded_token_stack. Also no need to save this on the
- pushed string stack, so that element is removed from the
- struct.
- (current_token_being_expanded == expanded_token_stack->saved_token)
-
-builtin/jobs.def
- - removed immediate return if job_control == 0. This makes it work
- in command substitution subshells
-
- 6/29
- ----
-expr.c
- - added unary `+'
- - added bitwise not (`~') at same precedence as logical not (`!')
- - added left and right shifts (<<, >>) between +,- and the comparisons
- - added bitwise and, or, xor (&, |, ^)
- - added logical and, or (&&, ||)
- - changed exp1 to allow multiple consecutive ! and ~ (in the same way
- that exp0 allows multiple consecutive leading - and +
-
-lib/readline/history.c
- - close memory leak -- in history_do_write, free the output filename
- before returning
- - close same memory leak in read_history_range
-
-builtins/enable.def
- - make `enable' with no arguments print only the enabled builtins, and
- `enable -n' with no other arguments print only the disabled builtins
-
-builtins/setattr.def
- - make readonly and export return failure when given -f with an
- argument that is not a function name
- - added -n to the documentation for readonly
-
-execute_cmd.c
- - cleaned up the code that checks for #! and binary files some: made
- sure the file descriptor was always closed, made sure sample_len
- was > 0 before checking the first two characters, collapsed two
- if statements into one
-
-jobs.c
- - changed call to job_working_directory in start_job to call to
- current_working_directory
- - changed input_tty to a macro
- - changed the call to QUIT in wait_for after the wait_loop
- label to depend on whether job_control is enabled; the test
- against the terminal process group is superfluous now that
- we use wait_sigint_handler
-
-builtins/fg_bg.def
- - Posix.2a specifies that fg and bg should return failure if
- run when job control is disabled
-
- 7/2
- ---
-variables.c
- - when an existing variable is given a new value by bind_variable,
- turn off the invisible attribute
-
-shell.c
- - dup default_buffered_input using fcntl(fd, F_DUPFD, 10) to put
- it above the shell's user-manipulatable range
-
-execute_cmd.c
- - in add_undo_redirect, make the redirection added a
- r_duplicating_input so buffered streams get duplicated as
- necessary. It makes no difference for the non-buffered-stream
- code
-
- 7/3
- ---
-subst.c
- - command_substitute needs to set interactive = 0 and leave
- interactive_shell reflecting the interactive state of the
- parent shell
-
-signames.c
- - prevent SIGGRANT and SIGRETRACT from overriding other already-defined
- signal names, since, on the RT at least, they override SIGUSR2
- and SIGEMT, respectively, which are much more common
-
-jobs.c
- - in notify_of_job_status, if job control is not enabled, do not
- print the status messages. Mark dead jobs as notified so they
- get cleaned up properly
-
-braces.c
- - when checking for `,' if a closing brace was not found, make
- sure the , is unquoted
- - make sure we found an unquoted , before attempting to perform
- the expansion -- since brace_gobbler purports to understand
- quoting with \, the rest of the code should support it
- - disabled the code that caused a failure longjmp if a matching
- closing brace was not found -- the pattern should be left
- unchanged, as with any other failed expansion
-
-trap.c
- - new function maybe_set_sigchld_trap, which sets the trap on
- SIGCHLD if and only if the signal is not currently trapped
-
-jobs.c
- - call maybe_set_sigchld_trap after running SIGCHLD trap commands
- on the death of a child to restore the trap handler, so if the
- trap handler calls `trap xxx CHLD' it will not be overwritten
-
-lib/glob/fnmatch.c
- - fnmatch must treat [ without a matching ] as a `regular' character
- to be matched against the string so that the Posix.2 rules for
- case command matching are not broken
-
-shell.c
- - change the call to fcntl that sets default_buffered_input to one
- to dup2(fd, getdtablesize() - 1) to hopefully get the highest
- file descriptor
-
- 7/6
- ---
-parse.y
- - if read_token reads a character that matches the current delimiter
- character, it should make sure the character is `"' before
- checking delimited_paren_level and blindly accepting it. There
- are other values for `delimiter' besides `"'.
-
-shell.c
- - turn on no_line_editing for non-interactive shells
-
-builtins/set.def
- - removed test against interactive_shell when deciding whether or
- not emacs or vi is `on' [backed out of fix from 6/8]
-
- 7/8
- ---
-lib/readline/history.c
- - changed get_history_event so that shell metacharacters (;&()|<>)
- can terminate an event spec
-
-subst.c
- - the TERM and TERMCAP variables need special handling only if
- READLINE is defined
- - ditto for history_completion_file
-
-machines.h
- - new description for HPs running OSF/1
-
- 7/9
- ---
-lib/readline/readline.c
- - new variable `eight-bit-input'. If this is on, readline disables
- ISTRIP for the Posix or sysv tty drivers
-
-execute_cmd.c, variables.c
- - new variable `subshell_environment' set in children right after
- forking and reset in shell_reinitialize. It means to look in
- the temporary environment first when looking up variables and
- functions
-
- 7/13
- ----
-config.h, parse.y
- - changed CSH_HISTORY_EXPANSION to BANG_HISTORY_EXPANSION
-
-shell.c
- - made all the history-related code #ifdef HISTORY
- - made maybe_save_shell_history be called only if the shell is
- interactive and we're remembering history lines
-
-parse.y, flags.c, flags.h, subst.c, variables.c
- - made all the history-related code #ifdef HISTORY
- - assignment_acceptable and command_token_position no longer are
- dependent on ALIAS being defined, since they are used to return
- ASSIGNMENT_WORD tokens
-
-builtins/bind.def
- - removed inclusion of readline/history.h
-
-builtins/exec.def, builtins/common.c
- - made all the history-related code #ifdef HISTORY
-
-builtins/fc.def, builtins/history.def
- - added a $DEPENDS_ON HISTORY line
-
-builtins/mkbuitins.c
- - line_error should not try to print error_directory without checking
- to see whether it is NULL
-
-builtins/Makefile
- - add $(DIRECTDEFINE) to the command line that builds builtins.c
-
-lib/glob/tilde.c
- - use getpwuid(getuid()) to look up the home directory of the user
- executing the shell for tilde expansion ~/foo if $HOME unset
-
-cpp-Makefile, subst.c, config.h
- - Fixes to make brace expansion a configuration option, on by default
-
- 7/14
- ----
-builtins/set.def
- - fixed unset so an attempt to unset a readonly variable or function
- is an error (as Posix.2 specifies)
-
-general.h
- - removed extern declarations of index, rindex
- - added extern declarations for strchr, strrchr
- - changed `member' to use strchr
-
-subst.c, general.c, bashline.c, execute_cmd.c, parse.y, test.c
- - changed calls to index to calls to strchr, calls to rindex to calls
- to strrchr
-
-builtins/echo.def, builtins/fc.def, builtins/common.c
- - changed calls to index to calls to strchr, calls to rindex to calls
- to strrchr
-
-lib/glob/glob.c
- - changed calls to index to calls to strchr, calls to rindex to calls
- to strrchr
-
-lib/readline/history.c, lib/readline/readline.c, lib/readline/vi_mode.c
- - changed calls to index to calls to strchr, calls to rindex to calls
- to strrchr
-
-lib/readline/vi_mode.c
- - changed calls to strchr to inline checks, since we're only checking
- for two characters
-
- 7/15
- ----
-variables.c
- - If PPID is imported, turn off export status
-
- 7/17
- ----
-general.h
- - for USG and Posix systems, define NO_READ_RESTART_ON_SIGNAL
-
-
-general.c
- - sysv_getc --> getc_with_restart
- - compile in getc_with_restart if NO_READ_RESTART_ON_SIGNAL is
- defined
-
-subst.c
- - call getc_with_restart in command_substitute if on a system
- with NO_READ_RESTART_ON_SIGNAL defined
-
-parse.y
- - call getc_with_restart in yy_stream_get if NO_READ_RESTART_ON_SIGNAL
- is defined
-
-input.c
- - change b_fill_buffer to restart reads on EINTR
-
-general.h
- - wrap the declarations of strchr and strrchr inside an #ifdef strchr
- because some ANSI C compilers (e.g., RS/6000) make them defines in
- /usr/include/string.h
-
- 7/20
- ----
-lib/readline/readline.c
- - wrap the declarations of strchr and strrchr inside an #ifdef strchr
- because some ANSI C compilers (e.g., RS/6000) make them defines in
- /usr/include/string.h
-
- 7/21
- ----
-lib/readline/parens.c
- - wrap all parameters and variables associated with the select call
- into #ifdef FD_SET
-
-execute_cmd.c
- - added tilde expansion to the pattern list members of case statement
- clauses, as specified by Posix.2 d11.3
-
-lib/readline/readline.c
- - when comparing members of the c_cc array directly against
- _POSIX_VDISABLE, cast both sides to unsigned char
-
-support/getcppsyms.c
- - recognized __svr4__
-
-machines.h
- - for Sun machines, if __svr4__ is defined and USGr4 is not, define
- USGr4
-
-shell.c
- - some machines need sys/types.h included before stdio.h (mostly for
- size_t)
-
-lib/malloc/malloc.c
- - add SunOS5 to the list of systems that do no redefine valloc (?)
-
- 7/22
- ----
-make_cmd.c
- - save and restore the value of line_number around reading a
- here-document
-
-lib/glob/glob.c
- - change to use HAVE_STRING_H to decide which version of the
- header files to include
-
- 7/25
- ----
-execute_cmd.c
- - fixed execute_command_internal so that failure to perform
- redirections attached to a shell compound command like if
- or while causes the command to return failure right away
- - eliminated use of redir_result in execute_builtin_or_function
- - changed execute_while_or_until so that body_status is
- initialized to EXECUTION_SUCCESS, and then directly returned
- without a check for commands_executed, so that the Posix.2
- behavior of returning success when no body commands are
- executed is preserved
-
- 7/27
- ----
-jobs.c
- - make sure that trap_list[SIGCHLD] is not set to IGNORE_SIG
- before trying to run commands when a SIGCHLD is caught
-
-test.c
- - define and use UID_T and GID_t, which are equivalent to uid_t
- and gid_t on all systems but SunOS 4.1.?, because SunOS makes
- `int' the return value of all the uid and gid functions (except
- stat!)
-
- 7/28
- ----
-shell.c
- - call end_job_control in termination_unwind_protect
-
-variables.c
- - if PWD is imported from the environment and it is wrong (i.e.,
- not the same as the current directory), rebind it to the current
- directory (as obtained by get_working_directory)
-
- 7/29
- ----
-lib/readline/history.c
- - do not history expand ! when immediately preceded by [, assuming
- it's the globbing pattern negation character
-
-execute_cmd.c
- - plug some memory leaks -- redirectee_word needs to be freed
- before returning from do_redirection_internal
- - changed the noclobber code to open the file with O_EXCL after
- verifying that it's not there with stat to shorted possible
- race conditions (this doesn't help over NFS)
-
- 7/30
- ----
-lib/readline/history.c
- - treat a negative arg to stifle_history as 0
-
-lib/readline/readline.c
- - #undef PC before declaring it as a variable because some systems
- (Solaris2) define it in system header files
- - changed type of insert_some_chars, update_line, and delete_chars
- to void
- - added a check when doing filename completion in
- filname_completion_function to see if the first characters of the
- filename and directory entry match before calling strncmp
- (inline expansion of STREQN)
-
- 7/31
- ----
-lib/readline/vi_keymap.c
- - Make arrow keys work for history in vi command mode by binding
- `o' and `[' in vi_escape keymap to rl_arrow_keys
-
- 8/6
- ---
-subst.c
- - broke the code that quotes strings for the globbing functions
- into a separate function: quote_string_for_globbing (), so
- there are not two copies of it
-
-execute_cmd.c
- - rewrote execute_case_command so that quote_string_for_globbing
- is called for the patterns in a pattern list and reordered some
- other code for clarity
- - execute_case_command now turns quoted null strings into empty
- strings because quote_string_for_globbing does not do it
-
- 8/7
- ---
-lib/readline/readline.c
- - added generic code to init_terminal_io to fetch the termcap
- codes for the arrow keys (ku, kd, kl, kr) and bind the right
- functions to them
-
-lib/readline/vi_keymap.c, lib/readline/emacs_keymap.c
- - removed bindings to `rl_arrow_keys' from all keymaps
-
- 8/13
- ----
-subst.c
- - command_substitute: only close fildes[1] if it's > 2
-
- 8/26
- ----
-lib/readline/readline.c
- - rewrote get_y_or_n to get rid of label and goto
- - added code to the completion listing function that makes it
- skip padding the line out with blanks after writing what will
- be the last filename on the line
-
-machines.h
- - added -DHAVE_SETDTABLESIZE to SYSDEP_CFLAGS for Sequents
- running Dynix/ptx
-
- 8/28
- ----
-machines.h
- - added a machine description for the BBN Butterfly from
- Kaveh Ghazi
-
-variables.c
- - HPOSF1 machines cannot redefine getenv()
-
-support/getcppsyms.c
- - recognize __hp_osf
-
-parse.y
- - allow reserved word recognition after done, fi, and esac
- Posix.2 section 3.4 seems to allow this
-
-lib/readline/readline.c
- - include <sys/ioctl.h> on OSF/1 machines for TIOCGWINSZ
-
-subst.c
- - in command_substitute, when checking to see that we're not
- overflowing `istring', allow for the insertion of two characters
- in the check to account for possible quoting
-
- 9/3
- ---
-builtins/bashgetopt.c
- - force reset_internal_getopt to set loptend to NULL
- - force internal_getopt to set loptend to NULL when the list it
- gets is NULL, and when it detects that it's been called with
- a different word list
-
- 9/8
- ---
-variables.c
- - make adjust_shell_level clamp the value of $SHLVL at 1
-
-[Fixes from bfox 1.13]
-
-bashline.c
- - remove `%' from list of readline special prefixes
-
-config.h
- - BANG_HISTORY_EXPANSION -> BANG_HISTORY
-
-cpp-Makefile
- - add HAVE_STRCHR
- - changes to macros that build libraries
- - reorganized library declarations and support
-
-execute_cmd.c
- - indx -> p_index in extract_colon_unit
-
-general.c
- - provide definitions of strchr, strrchr for systems that do not
- have them
-
-machines.h
- - define `Solaris' for Suns running Solaris 2.x
- - turn all the definitions of M_OS into strings
-
-parse.y
- - replace delimiter and old_delimiter with a stack of delimiters
- encountered while parsing the current token
-
-subst.c
- - removed all traces of EIGHT_BIT
-
-variables.c
- - new function dispose_temporary_vars, for both dispose_used_env_vars
- and dispose_function_env
-
-lib/readline/readline.c
- - `eight-bit-input' -> `meta-flag'
-
-lib/tilde
- - new directory for the tilde expansion library code
-
-[end of bfox changes]
-
-cpp-Makefile
- - pass $(RM) down to makes in libraries
-
- 9/10
- ----
-parse.y
- - remove the bfox change that set CMD_FORCE_SUBSHELL for async
- commands
-
- 9/14
- ----
-builtins/bind.def
- - surround the code with #ifdef READLINE
-
-builtins/fg_bg.def
- - surround the body of the code with #ifdef JOB_CONTROL
-
-builtins/getopts.def
- - surround the body of the code with #ifdef GETOPTS_BUILTIN
-
-builtins/alias.def
- - surround the body of the code with #ifdef ALIAS
-
- 9/15
- ----
-lib/readline/emacs_keymap.c
- - bind rl_noninc_reverse_search to M-P and rl_noninc_forward_search
- to M-N, respectively
-
-lib/readline/readline.c
- - made name_key_alist struct static
- - added new functions to manipulate keymaps:
- rl_get_keymap_by_name()
- rl_get_keymap()
- rl_set_keymap()
-
-lib/readline/keymaps.h
- - added declarations for the new keymap functions
-
-builtins/bind.def
- - added -m map option to allow bind commands to specify the keymap
- to be used when binding key sequences to readline commands
-
- 9/16
- ----
-builtins/alias.def
- - in single_quote, allocate a new string three times as big as the
- old to handle the possible quoting characters
-
-bashline.c
- - set last_fignore to null after freeing it in setup_ignore_patterns
-
- 9/17
- ----
-parse.y
- - added code to handle the functionality of `ignoreboth' as a
- value for history_control (ignore both lines beginning with
- spaces and duplicates of the last history entry)
- - don't use history_control for the second and subsequent lines
- of a multi-line command when command_oriented_history is in
- effect
-
- 9/18
- ----
-bashline.c
- - fix attempt_shell_completion to call command_word_completion_function
- even if the supplied text begins with `/'
- - fix command_word_completion_function to make sure that absolute
- program names passed are executable before returning them as
- possible matches
-
- 9/20
- ----
-parse.y
- - If we read a blank line (shell_input_line[0] == 0) and we have
- reached EOF (shell_input_line_terminator == EOF) then don't echo
- the line, even if -v has been turned on
-
- 9/23
- ----
-lib/malloc/malloc.c
- - changed to use USG rather than SYSV
- - changed BSD42 to BSD4_2 like emacs malloc.c
- - removed conditional compilation code dealing with VMS
- - include getpagesize.h only if BSD4_2 is not defined
- - changed conditionally compiled code dealing with BSD, since
- BSD is not defined by bash and malloc.c does not include
- sys/param.h, which defines BSD on 4.x BSD systems
-
-lib/malloc/getpagesize.h
- - new implementation, inspired by gdb 4.6
- uses _SC_PAGESIZE, if present
- defaults to 4096
-
-lib/readline/vi_keymap.c
- - when in insert mode, Posix.2a says that \ is quoted-insert
- - remove the binding to vi_escape_keymap; Posix.2a says that
- ESC in movement mode does nothing (vi description)
-
- 9/24
- ----
-shell.c
- - shell should send SIGHUP to all it's jobs when it receives
- SIGHUP only if it is an interactive login shell
-
-execute_cmd.c
- - systems running the Andrew File System don't use the Unix file
- mode bits to decide whether or not a file is executable (they're
- unused, since AFS as ACLs), so executable_file needs to call
- access (file, X_OK) if running on AFS
-
- 9/25
- ----
-jobs.c
- - make sure a non-interactive shell initializes original_pgrp to
- NO_PID, so it does not attempt to give the terminal back to that
- pgrp when it exits or calls the `exec' builtin
-
- 10/3
- ----
-machines.h
- - add -DHAVE_RESOURCE to the NeXT machine description as SYSDEP_CFLAGS
- - add -DHAVE_GETDTABLSIZE and -DHAVE_SETDTABLESIZE to Dynix/ptx
- description
-
-shell.c
- - make a non-interactive script shell call dup2 on the fd it has
- open to the script file to move the descriptor to one that hopefully
- user programs will not attempt to use
-
-general.c
- - make the definition of getdtablesize() depend on HAVE_GETDTABLESIZE
- not being defined. Auto-define that for non-USG systems (or HPUX).
- This allows a SYSDEP_CFLAGS entry to override it
-
-builtins/ulimit.def
- - new function canraise(cmd, curlim, newlim) to call on systems
- without HAVE_RESOURCE to decide whether or not the limit can be
- raised. Maybe we should remove the test altogether and let the
- system call fail instead
-
- 10/8
- ----
-execute_cmd.c
- - If a command is not found, make the exit status 127 like Posix.2
- says
-
- 10/14
- -----
-print_cmd.c
- - changed cprintf(s) to cnprintf(args_length, s) and made cnprintf
- malloc the buffer it uses for vsprintf to avoid overrun of the
- 5000-character temp buffer used previously. args_length is the
- expected total length of all the arguments
-
- 10/15
- -----
-jobs.c
- - set last_command_exit_value before calling a trap handler for
- SIGINT: new function process_exit_status(), changes to use it
-
- 10/18
- -----
-print_cmd.c
- - removed `cnprintf' changes
- - re-implemented cprintf as a miniature vsprintf interpreting %s,
- %d, and %c and using a dynamically-allocated buffer
-
-support/mksysdefs
- - look for /usr/include/varargs.h and define HAVE_VARARGS_H if
- found
-
-cpp-Makefile
- - pass HAVE_VARARGS_H down to the makes in the various libraries
-
- 10/26
- -----
-lib/glob/glob.c
- - free `result' before using temp_results to return the value
- of glob_dir_to_array -- plugs a small memory leak
-
- 11/2
- ----
-[Fixes from bfox version dated 10/18]
-
-bashline.c
- - separated definitions of BRACE_COMPLETION and the extern declaration
- of the brace completion functions
-
-config.h
- - make PROCESS_SUBSTITUTION depend on the value of MKFIFO_MISSING
-
-cpp-Makefile
- - add posixstat.h, tilde.[ch], xmalloc.c to the readline library
- sources (also the corresponding object files)
- - make the definition of HAVE_TILDE_SOURCE depend on the definition
- of HAVE_READLINE_SOURCE
-
-lib/posixheaders
- - new directory, for posix support functions and header files
- - various cleanups to the library support rules
-
-execute_cmd.c
- - make the practice of checking hashed filenames for executability
- dependent on $POSIXLY_CORRECT
-
-general.c
- - The `hppa' running hpux-8 does not have `getdtablesize'
-
-general.h
- - make the extern declaration of strchr and strrchr go away if
- __STDC__ is defined
-jobs.h
- - test for and define all of the W* macros individually
-
-machines.h
- - completely new alliant description from bfox
- - add -DMKFIFO_MISSING to NeXT SYSDEP_CFLAGS
- - add description for Siemens MX500 running `sinix'
-
-builtins/common.c
- - move code that depends on BANG_HISTORY being defined inside #ifdef
- HISTORY blocks, since you can't have BANG_HISTORY without HISTORY
-
-builtins/echo.def
- - make -E work all the time, not just on sys5 systems
-
-builtins/enable.def
- - add -all option (with synonym of -a)
- - change `DISABLED' to 2 and make argument to list_some_builtins a
- bitmask
-
-builtins/kill.def
- - it is an error if `signum' == NSIG
-
-documentation/bash.1
- - added -E flag to `echo'
- - added description of -all to enable
-
-lib/readline/tilde.c, lib/readline/xmalloc.c
- - links to these files for standalone readline lib
-
-lib/readline/{funmap.c,history.c,keymaps.c,readline.c}
- - make xmalloc and xrealloc static again and dependent on the
- definition of STATIC_MALLOC
-
-lib/readline/readline.c
- - include <sys/file.h> only if NO_SYS_FILE is not defined
- - add support for a `stat' char after filenames when listing completion
- alternatives if VISIBLE_STATS is defined
- - add support for _GO32_ definition (PC)
- - add LibraryVersion internal variable
- - initialize rl_instream and rl_outstream to NULL, because all of a
- sudden stdin and stdout may no longer be constants
- - make readline_default_bindings `static void'
- - add support for quoting a portion of the input line to make it
- immune from completion
-
-support/getcppsyms.c
- - recognize `alliant'
-
-support/mksysdefs
- - presence of /bin/fxc.info indicates that the machine is an alliant
-
-support/{FAQ,PORTING,mklinks,fixdist}
- - new files
-
-[end of changes from bfox]
-
-machines.h
- - added support for HP-UX 9.0 (hpux_9)
-
- 11/12
- -----
-machines.h
- - added -lsocket to the REQUIRED_LIBRARIES define for ICL RS6000
- - removed the `#undef HAVE_WAIT_H' from the isc386 description
-
-lib/readline/rltty.c
- - split off almost all tty-related code from readline.c to this file
-
- 11/13
- -----
-lib/readline/rltty.c
- - changed the way the bsd tty code works to use a `struct bsdtty'
- that encapsulates all of the bsd tty state into a single structure
- that can be passed around by reference
- - changed the bsd tty setup and teardown code to be more like the
- ce version of things
-lib/readline/rldefs.h
- - added code to define HAVE_USG_SIGHOLD for svr3 machines. The
- prepping and deprepping code uses them to block SIGINT while
- getting and setting the tty attributes
-
- 11/14
- -----
-lib/readline/rltty.c
- - encapsulated the system-specific code for setting up the terminal
- into a function: `prepare_terminal_settings'. This means that the
- code for rl_prep_terminal and rl_deprep_terminal is basically
- identical between tty driver versions
- - changed the BSD version of rltty_set_default_bindings to use a
- struct bsdtty and get_tty_settings
- - rl_prep_terminal and rl_deprep terminal are now non tty-driver
- specific -- there is only one version of each function. The
- tty-driver specific code is now in {set,get}_tty_settings and
- prepare_terminal_settings
-
- 11/24
- -----
-
-general.c
- - make the function definitions for bcopy and bzero depend on a
- HAVE_BCOPY define
-
-machines.h
- - define HAVE_BCOPY for RS/6000s, RTs running AIX, and Linux
- - new description for Linux
-
-shell.c, variables.c
- - don't declare getpwuid for Linux systems
-
-support/getcppsyms.c
- - recognize `linux' and `__linux__'
-
-builtins/psize.c
- - don't redefine memset() for USG machines
-
-general.c
- - add extern declaration of getdtablesize() to dup2() replacement
- - don't compile in bcopy and bzero on Linux machines
-
-test.c
- - don't declare getgid, getegid, or geteuid on Linux
-
-lib/readline/rldefs.h
- - don't try to include <sys/stream.h> on Linux machines
-
-lib/readline/readline.c
- - only call rl_parse_and_bind on non-empty lines when reading
- ~/.inputrc
- - allow backslash to quote characters in the key sequence to be
- bound, which allows you to bind C-x \ for example
- - allow delimiter characters in the body of a macro, quoted with
- a backslash
- - changed rl_function_dumper so that it outputs backslash-quoted
- " and \ when called by bind -d
-
-lib/readline/funmap.c
- - fixed a typo in the entry for `vi-replace'
-
-subst.c
- - make sure the $(( xxx )) case sets this_command_name to NULL so
- there are no confusing garbled error messages
- - fix a memory leak in $[ xxx ] code (free temp)
- - make $(( xxx )) case do the same variable expansion that the
- $[ xxx ] case does
-
- 11/25
- -----
-parse.y
- - removed CMD_FORCE_SUBSHELL assignments
-
-command.h
- - add a new flag for commands: CMD_NO_FORK
-
-shell.c
- - added a function run_one_command for -c shells that just sets up
- the top_level stuff for longjmp and calls parse_and_exec. This
- is controlled by the definition of ONESHOT
-
-execute_cmd.c
- - execute_disk_command takes an extra argument: nofork. If non-zero,
- this tells it to not fork for a command without pipes in or out
- - set NO_FORK for a simple command run in a subshell with
- want_subshell ( `( xxx )' )
-
-builtins/common.c
- - if the from_file argument to parse_and_execute is "-c", then
- assume this is a one-shot -c command and set NO_FORK for simple
- commands. This is controlled by the definition of ONESHOT
-
- 12/1
- ----
-support/getcppsyms.c
- - add defines for bsdi and __386BSD__
-
-machines.h
- - add a section for 386bsd
-
- 12/2
- ----
-input.c
- - added a new function check_bash_input (fd) which checks whether
- or not file descriptor fd is the buffered fd which bash is using
- to read a script, and, if so, swaps the buffered fd to a new
- file descriptor and reinits bash_input
- - input buffering now solves these problems:
- parent-child synchronization
- using the script fd in a user redirection
- auto-restart of interrupted reads on all systems
- speed
-
-execute_cmd.c
- - call check_bash_input from do_redirection_internal before a call
- to dup2 and a call to duplicate_buffered_fd
-
- 12/3
- ----
-builtins/getopt.c
- - only redefine `const' if it is not already #defined
-
-lib/readline/rltty.c
- - make sure HANDLE_SIGNALS is defined here as it is in readline.c
-
- 12/7
- ----
-lib/malloc/malloc.c
- - change the conditional around get_lim_data to be HAVE_RESOURCE
- (ulimit if not defined, getrlimit if it is)
- - removed the 4.1BSD version of get_lim_data
- - conditionalize the inclusion of sys/resource.h on the definition
- of HAVE_RESOURCE
-
- 12/11
- -----
-lib/readline/readline.c
- - changed the name of strpbrk to rl_strpbrk to avoid any conflicts
- with OS include files and libraries
-
- 12/15
- -----
-
-bashline.c
- - changed initialize_readline to type void
-
-execute_cmd.c
- - execute_for_command called expand_words with an extra argument
-
-jobs.c
- - changed stop_pipeline to use xrealloc instead of realloc
-
-lib/readline/readline.c
- - changed rl_complete_internal to call xmalloc instead of malloc
-
-variables.c
- - dispose_used_env_vars, non_unsettable declared void
-
-builtins/common.c
- - include <sys/stat.h> because we cast things to struct stat *
-
-builtins/exit.def
- - change exit_or_logout to be declared static
-
-builtins/psize.c
- - removed call to memset and therefore the need to #ifdef it's
- definition
-
-builtins/bind.def, builtins/ulimit.def
- - add extern declaration for strerror()
-
-builtins/exec.def
- - add extern declaration for strerror()
- - add extern declaration for full_pathname() and remove casts to
- char *
- - add extern declaration for make_word_array() and remove casts to
- char **
-
-builtins/fc.def, copy_cmd.c, shell.c, parse.y
- - add extern declaration for reverse_list()
-
-builtins/read.def
- - change free to vfree so systems don't complain about the extern
- declaration (type clashes, etc.)
-
-lib/tilde/tilde.c
- - include string.h or strings.h as appropriate to get the correct
- declaration of strcpy before the savestring macro uses it
-
-parse.y
- - add extern declaration for sub_append_string and remove casts to
- char *
- - add extern declaration for add_string_to_list and remove casts to
- WORD_LIST *
-
- 12/16
- -----
-lib/malloc/malloc.c
- - move the check for RLIMIT_DATA after the inclusion of
- <sys/resource.h> (duh!)
-
-bashline.c
- - added extern declaration for get_working_directory
-
-jobs.c
- - added extern declaration for polite_directory_format
-
-execute_cmd.c
- - added extern declaration for copy_redirects
-
-subst.c
- - added extern declaration for reverse_list
-
-machines.h
- - new entry for KSR1 running KSROS (OSF/1)
-
-support/getcppsyms.c
- - recognize `ksr1'
-
-general.h
- - make sure that strcpy is declared before the definition of
- savestring
-
-alias.c, bashline.c, bracecomp.c, braces.c, copy_cmd.c, execute_cmd.c,
-expr.c, general.c, hash.c, jobs.c, mailcheck.c, make_cmd.c, print_cmd.c,
-trap.c, variables.c, parse.y
- - make sure that string.h or strings.h is included before general.h
- (which is included by shell.h)
-
-builtins/mkbuiltins.c
- - add extern declaration of strcpy if __STDC__ and strcpy not defined
- - include <string.h> or <strings.h> as needed
-
-builtins/cd.def, builtins/shift.def, builtins/source.def, builtins/test.def,
-builtins/command.def, builtins/declare.def, builtins/fc.def,
-builtins/getopts.def, builtins/hash.def
- - include <string.h> or <strings.h> before definition of savestring
-
-lib/tilde/tilde.c, lib/readline/chardefs.h
- - include <string.h> or <strings.h> before definition of savestring
-
-lib/readline/readline.c
- - made glean_key_from_name cast NAME to unsigned char * before
- dereferencing it to better handle 8-bit character sets
-
- 12/17
- -----
-subst.c
- - made command_substitute set up top_level with setjmp so that shells
- running command substitution won't longjmp all the way back to
- main() if they're interrupted and call throw_to_top_level
-
- 12/18
- -----
-lib/readline/readline.c
- - split the code that handles setting the screen size off into a new
- function: set_screen_size
- - changed init_terminal_io to call set_screen_size
- - changed rl_handle_sigwinch to call set_screen_size instead of
- totally reinitializing the world on each SIGWINCH
- - added a new function cr() that simply puts the cursor at physical
- column 0
- - changed rl_handle_sigwinch to call cr() and
- rl_forced_update_display() after resetting its idea of the screen
- size
-
- 12/20
- -----
-lib/readline/history.c
- - changed the way history_expand treats `\' to make it a general
- quoting character like the shell treats it so that allows single
- quotes to be quoted
-
- 12/23
- -----
-machines.h
- - changed M_OS define in BSDI description to BSD386, since cpp
- doesn't like BSD/386
-
- 12/28
- -----
-execute_cmd.c
- - changed execute_case_command so that expand_word_no_split is called
- on the `word', as Posix.2 specifies
-
- 1/5
- ---
-machines.h
- - new machine description for Dec Alpha running Dec OSF/1
-
-support/getcppsyms.c
- - recognize alpha, __alpha, osf, and __osf__
-
- 1/7
- ---
-lib/readline/readline.c
- - removed definition of HANDLE_SIGNALS
- - changed rl_signal_handler so that systems with HAVE_POSIX_SIGNALS
- defined will not set the SIGINT handler to SIG_IGN
- - include <sys/ioctl.h> for _386BSD and BSD386 for TIOCGWINSZ
-
-lib/readline/rldefs.h
- - added definition of HANDLE_SIGNALS
-
-lib/readline/rltty.c
- - added GETATTR and SETATTR macros for termios/termio systems for
- use by get_tty_settings and set_tty_settings
-
- 1/9
- ---
-shell.c
- - new variable: startup_state. Set to 0 for scripts, 1 for
- interactive shells, and 2 for -c command shells. Superset of
- the functionality provided by the `interactive_shell' variable
-
-builtins/common.c
- - changed parse_and_execute to use startup_state to detect that
- it's being called as a result of -c command, rather than the
- ad-hoc method previously employed
-
- 1/11
- ----
-support/getcppsyms.c
- - recognize `m88k'
-
-machines.h
- - new description for Motorola M88K Delta running SVR4
-
-support/mksysdefs
- - moved the defaulting of `SYSDEF' to `cadmus' until just before
- the definition is written out
-
-shell.c
- - changed ambiguous assignment to `login_shell' by introducing a
- dummy variable (~line 400: login_shell = -++login_shell)
-
-lib/malloc/malloc.c
- - moved the code that decides whether or not to define USG or
- BSD4_2 inside checks for USG and USGr4, since USGr4 passes
- the tests for the various signals
-
-alias.c
- - changed a call to index() to strchr()
-
- 1/12
- ----
-lib/readline/readline.c
- - moved inclusion of posixstat.h before inclusion of rldefs.h
- (rldefs.h requires that stat.h be included before it)
- - don't test whether or not a file is a symlink or a socket
- in stat_char unless S_ISLNK and S_ISSOCK are defined,
- respectively
-
- 1/13
- ----
-machines.h
- - added -I/usr/ucbinclude to SYSDEP_CFLAGS and a #define
- USE_GNU_TERMCAP for the ICL DRS6000 description
-
-support/bashbug.c
- - added definition for gethostname() for systems that do not have
- it (USG except for SGI and HP)
-
- 1/14
- ----
-test.c
- - made the #define of uid_t also dependent on HAVE_UID_T being
- undefined. That way, hosts which have trouble can add a
- -DHAVE_UID_T to SYSDEP_CFLAGS in the machines.h entry
- - made the extern declaration of getgid() be conditionalized out
- on Sony non-Posix machines
-
-machines.h
- - added -DHAVE_UID_T to SYSDEP_CFLAGS in the Sony/BSD entry
-
- 1/15
- ----
-parse.y
- - made type of `report_syntax_error' be static void
- - made type of `handle_eof_input_unit' be static void
- - added an error message when EOF is reached unexpectedly
- (if EOF_Reached is 1 when report_syntax_error is called)
- - added `extern void make_here_document ();'
-
-make_cmd.c
- - made type of make_here_document be void
-
-execute_cmd.c
- - added declarations of set_clexec to function prologues for
- do_redirection and do_redirection_internal
-
-variables.c
- - added `extern long atol()' to assign_seconds ()
-
-jobs.c
- - changed type of `making_children ()' to void
- - removed unused label `wait_exit' in wait_for()
- - changed `sigset_t set' to `sigset_t suspend_set' inside the
- BROKEN_SIGSUSPEND definition because `set' shadows the
- definition used in BLOCK_CHILD and UNBLOCK_CHILD
-
-mailcheck.c
- - changed type of add_mail_file to void
-
-alias.c
- - changed type of delete_all_aliases to void
- - changed block-local declaration of `tl' to `tlen', because
- `tl' shadows a function-scope variable
-
-input.c
- - made duplicate_buffered_stream return new fd (like dup2) when
- it finishes
- - made free_buffered_stream() a void-valued function
-
-bashline.c
- - cleaned up the precedence of the expression that checks whether
- or not the ignore patterns have changed in setup_ignore_patterns
-
-lib/readline/readline.c
- - made rl_gather_tyi a void-valued function
- - made rl_dispatch a void-valued function
- - made rl_redisplay a void-valued function
- - made free_history_entry a void-valued function
- - removed unused label `some_matches' from rl_complete_internal
-
-lib/readline/vi_mode.c
- - removed check of return value from rl_dispatch in rl_vi_redo,
- since rl_dispatch never returned one anyway
-
-lib/readline/history.c
- - removed unused label `search_won' in get_history_event
- - removed unused label `read_which' in get_history_event
- - removed unused label `bad_word_spec' in history_expand
- - removed unused label `error_exit' in history_expand
- - changed block-local declaration of `len' to `slen' in
- history_expand because len shadows a function-local variable
- - changed block-local declaration of `l' to `ll' in
- history_expand because len shadows a function-local variable
- - removed unused label `get_first' in get_history_word_specifier
-
- 1/18
- ----
-parse.y
- - fixed up the support for `unexpected EOF' errors by making
- read_token set `EOF_Reached' to 1 before returning yacc_EOF
- when it reads EOF while looking for the start of a token
- - added better messages for unexpected eof to report_syntax_error
- - added better messages for unexpected tokens to report_syntax_error
- - made handle_eof_input_unit reset EOF_Reached to 0 if the
- shell is interactive
- - made report_syntax_error reset EOF_Reached to 0 if the
- shell is interactive
- - changed the non-interactive error messages to add `line' before
- printing the line number rather than simply use filename:digit:
-
- 1/19
- ----
-builtins/type.def
- - changed code so that simple `type' (-all not specified) takes
- the same path as a regular command search (find_user_command()
- rather than user_command_matches())
-
- 1/20
- ----
-shell.c
- - new variable `passwd_shell' set from the pw_shell field in the
- password file
- - new variable `passwd_dir' set from the pw_dir field in the
- password file
-
-variables.c
- - used passwd_shell and passwd_dir to eliminate the calls to the
- getpw* functions
- - if $SHELL is unset at shell startup, it is set to the value of
- passwd_shell
-
- 1/21
- ----
-support/mksysdefs
- - look for sys/ptem.h, define HAVE_SYS_PTEM_H if found
- - look for sys/pte.h, define HAVE_SYS_PTE_H if found
-
-cpp-Makefile
- - pass HAVE_SYS_PTEM_H and HAVE_SYS_PTE_H to the readline make
-
-lib/readline/rldefs.h
- - include sys/ptem.h and sys/pte.h depending on the above two
- definitions
-
-lib/readline/readline.c
- - include <sys/ioctl.h> if on an AIX system to get TIOCGWINSZ and
- struct winsize
-
-machines.h
- - added #undef HAVE_ALLOCA to hpux_6 description. alloca seems
- to have problems when passing alloca'd memory to other functions
- (esp. in the globbing code, passing directory_name)
-
- 1/22
- ----
-machines.h
- - make the cadmus definition active only of M_MACHINE is not defined
- when the code gets there
-
- 2/1
- ---
-builtins/set.def
- - changed the reference to $9 in the help string
- - added `-' to the help string listing the options
-
-documentation/bash.1
- - changed the reference to $9 in the set builtin description
- - added `-' to the set builtin synopsis listing the options
-
- 2/2
- ---
-machines.h
- - added REQUIRED_LIBARIES = -lPW -lc_s to SCO unix description
- when not using gcc
-
-variables.c
- - new variable builtin_env; builtin analogue of function_env
- - new function dispose_builtin_env to free up all strings in
- builtin_env
- - find_tempenv_variable now looks in builtin_env after the
- temporary environment
-
-execute_cmd.c
- - execute_builtin_or_function and execute_subshell_builtin_or_function
- now set up builtin_env for the `source' builtin so that things like
- this work:
- foo contains:
- echo XXX=$XXX
- echo XXX=$XXX
- and you run
- XXX=aaa . foo
- which should output
- XXX=aaa
- XXX=aaa
- (bug report by mfg@castle.ed.ac.uk)
-
- 2/3
- ---
-execute_cmd.c
- - when a command is forced into a subshell with ( ), turn off its
- INVERT_RETURN bit in the flags so the exit status of the subshell
- is not inverted. In execute_command_internal
-
- 2/5
- ---
-[work to make readline configurably 8-bit clean]
-
-lib/readline/readline.c
- - added variable convert_meta_chars_to_ascii, which controls
- whether meta characters are converted into ESC-prefixed
- key sequences. Set to 1 by default
- - added a readline variable `convert-meta', settable in a
- .inputrc, that controls the value of convert_meta_chars_to_ascii
-
-lib/readline/keymaps.h
- - changed the hard-coded keymap size of 128 to a #define
- of KEYMAP_SIZE, which is initially 128
-
-lib/readline/keymaps.c
- - changed all instances of 128 to KEYMAP_SIZE
- - changed rl_make_keymap to initialize positions 128-256 to
- rl_insert if KEYMAP_SIZE > 128
-
-lib/readline/chardefs.h
- - properly define _CHARDEFS_ to protect against multiple inclusion
-
-documentation/bash.1
- - documented new `convert-meta' readline variable
-
- 2/7
- ---
-lib/readline/keymaps.h
- - increased KEYMAP_SIZE to 256
-
-lib/readline/emacs_keymap.c
- - added entries to make the keymaps 256 entries. The entries in
- emacs_standard_keymap are the ISO Latin-1 characters
-
-lib/readline/vi_keymap.c
- - added entries to make the keymaps 256 entries. The entries in
- vi_insertion_keymap are the ISO Latin-1 characters
-
- 2/8
- ---
-lib/readline/readline.c
- - make sure that rl_display checks that there is room for 8 more
- characters when deciding whether or not to realloc the line,
- since we might have to insert a tab
- - rl_display_search should not use MESSAGE as a printf format
- string, since it might contain %
- - reversed arguments in calls to rl_kill_text in
- rl_unix_word_rubout so that killed text is prepended to the
- undo data rather than appended
-
- 2/9
- ---
-builtins/alias.def
- - moved single_quote() to builtins/common.c and made it global
-
-builtins/trap.def
- - made sure that the output of `trap' is suitable for re-input
- to the shell as a trap definition by using proper single-quoting
- of the command
-
-lib/readline/readline.c
- - new readline variable `completion-query-items' to control the
- value of rl_completion_query_items (initially and by default
- 100)
- - new function rl_insert_completions which performs a call to
- rl_complete_internal ('*')
-
-lib/readline/readline.h
- - added extern declaration for rl_insert_completions ()
-
-lib/readline/funmap.c
- - added bindable command name `insert-completions' that maps to a
- call to rl_insert_completions ()
-
-documentation/bash.1
- - added documentation for new `completion-query-items' readline
- variable
- - added documentation for new `insert-completions' readline
- command
-
- 2/10
- ----
-subst.c
- - made ${xxx} behave correctly when the -u option was on and xxx
- was not set
- - made $xxx with -u enabled and xxx unset set $? to 1
-
-lib/malloc/malloc.c
- - made free() a void function, like ANSI and Posix say to
-
-support/mksydefs
- - look for /usr/include/stdlib.h and define HAVE_STDLIB_H if found
-
-cpp-Makefile
- - pass HAVE_STDLIB_H to all makes
-
-ansi_stdlib.h
- - new file containing the extern function declarations that ANSI
- puts into <stdlib.h> that bash uses; really a link to
- lib/posixheaders/ansi_stdlib.h
-
-lib/posixheaders/ansi_stdlib.h
- - real copy of ansi_stdlib.h
-
-alias.c, bashline.c, variables.c, shell.c, error.c, hash.c, signames.c,
-expr.c, general.c, input.c, builtins/mkbuiltins.c, builtins/fc.def,
-lib/glob/glob.c, lib/tilde/tilde.c, lib/malloc/xmalloc.c
- - include <stdlib.h> if HAVE_STDLIB_H is defined, include
- ansi_stdlib.h if not
-
-general.h, alias.h
- - removed extern declarations for malloc and realloc
-
-lib/readline/{readline,history,funmap,keymaps,vi_mode}.c
- - include <stdlib.h> or ansi_stdlib.h
- - remove extern char *getenv() declarations
-
-cpp-Makefile
- - added dependencies on ansi_stdlib.h
-
-support/fixdist
- - changes to make things work with ansi_stdlib.h (basically just
- dupliating the lines for posixstat.h)
-
-alias.h, braces.c, expr.c, general.h, hash.h, vprint.c,
-builtins/fc.def, builtins/getopts.def, lib/glob/glob.c,
-lib/tilde/tilde.c
- - define NULL as ((void *)0) if NULL undefined and compiling in an
- ANSI C environment (__STDC__)
-
- 2/11
- ----
-lib/readline/readline.c
- - moved declaration of convert_meta_chars_to_ascii into the `forward'
- declarations section, before its first use
-
- 2/13
- ----
-expr.c
- - if x is a char *, don't compare *x to NULL, use '\0' instead
-
- 2/15
- ----
-lib/readline/readline.c
- - add a call to rl_initialize_funmap at the beginning of
- rl_named_function to make sure all of the function names will
- be found
-
- 2/16
- ----
-parse.y
- - handle double-quoted ${...} words like the Posix.2 spec says --
- count braces and skip command substitutions and quoted strings
- to find the end of the pattern: new variables delimited_brace_level
- and dollar_brace_level
- - add new variable embedded_quoted_string so that the parser can
- skip embedded quoted strings while parsing $() and ${}
- constructs
-
-subst.c
- - new function: extract_dollar_brace_string () which implements
- the Posix.2 rules about ${...} extraction: counting braces while
- skipping quoted strings and command substitutions. Called from
- extract_string_double_quoted and expand_word_internal
- - changed the way pattern removal was done: the pattern is now
- run through tilde expansion, parameter expansion, command
- substitution, and arithmetic substitution, then quoted in a
- way acceptable to fnmatch with quote_string_for_globbing
- - add code so that expansions like ${HOME:`xxxx`} are errors, as
- they should be, and put the full expansion string in the error
- message
-
- 2/17
- ----
-
-subst.c
- - changed expand_word_internal to call parameter_brace_expand_rhs
- with the `quoted' parameter set to 0 except when the separator
- between PARAM and WORD is `+'. This makes things like
-
- echo "${undef-"foo bar"}"
- echo `foo bar' without the quotes. I'm still not sure this is
- right, but it is compatible with other versions of sh
-
- 2/18
- ----
-parse.y
- - add code to reserved_word_acceptable so that bash will parse a
- reserved word after a `}'
-
-getcwd.c
- - make it compilable on machines without dirent.h and struct direct
- or unistd.h (like the NeXT) using the proper conditional inclusion
- with HAVE_DIRENT_H and HAVE_UNISTD_H
-
-general.c
- - moved the getwd() replacement out from inside #ifdef USG and just
- protected it with #ifdef HAVE_GETWD
-
-machines.h
- - added #undef HAVE_GETWD and #undef HAVE_GETCWD to the NeXT
- machine description
-
-subst.c
- - added `forward' declarations for tilde_expand and
- expand_string_unsplit and removed the function-local extern
- declarations
-
- 2/19
- ----
-getcwd.c
- - changed to do conditional inclusion of limits.h, stdlib.h, string.h
-
- 2/22
- ----
-builtins/cd.def
- - if the chdir to the canonicalized form of the pathname in
- change_to_directory fails, try what the user passed. If that
- succeeds, reinitialize the_current_working_directory to what
- getwd() returns, and return success. Fix for pathological
- cases like
-
- mkdir x
- cd x
- ( cd .. ; mv x y )
- cd .
-
- 2/24
- ----
-command.h
- - added extern declarations for make_word_array, make_command,
- make_bare_simple_command, and make_here_document
- - added extern declarations for functions in copy_command.c:
- copy_command, copy_word, copy_word_list, copy_redirect,
- copy_redirects
-
-copy_cmd.c
- - made all functions not used outside this file static
-
-execute_cmd.c
- - removed extern declaration of make_word_array
-
- 2/25
- ----
-shell.c
- - made non-interactive shell look for $BASH_ENV startup file rather
- than $ENV (conflict with Posix.2)
-
-command.h
- - broke the `union redirectee' out of the struct redirect, made
- the union it's own typedef (REDIRECTEE), then added
- REDIRECTEE redirectee to the struct redirect
- - made the `dest' member of a REDIRECTEE a long. It matters on
- some machines (sizeof(long) == sizeof(pointer) != sizeof(int)
- and works on those machines with all those sizes being 32 bits
- (this should really be a typedef rather than a long)
-
-execute_cmd.c, parse.y
- - changed all calls to make_redirection to pass a WORD_DESC * or
- a long as the third argument to make_redirection
-[this should conclude the changes needed for the alpha]
-
- 3/2
- ---
-subst.c, variables.c
- - moved some function-scope extern function declarations to file
- scope
-
-subst.c
- - changed paramter_brace_expand_pattern to call expand_string_internal
- on the removal pattern, since we do not want word splitting
-
-jobs.c
- - call get_tty_state or set_tty_state in wait_for() depending on
- a job's exit status when interactive_shell is set, rather
- than testing interactive. This makes stty commands in scripts
- executed with `.' `stick'
-
-nojobs.c
- - make sure we only call {set,get}_tty_state when interactive_shell
- is set
-
- 3/3
- ---
-unwind_prot.c
- - make sure there is actually something on unwind_protect_list
- before calling without_interrupts to run something on it or
- delete something from it
-
-jobs.c
- - make sure job_slots is not empty in cleanup_dead_jobs and
- delete_all_jobs before actually doing something
-
- 3/4
- ---
-machines.h
- - add #undef HAVE_GETWD to Xenix286 machine description
-
-lib/readline/history.c
- - fixed an off-by-one error in the history expansion code: if
- the length of the result string after adding the current piece
- is (allocated_len - 1), the strcpy will write over the first
- marker placed there by the malloc debugging code.
- - changed the history realloc code to work in 256-character chunks
- rather than 255-character ones
-
- 3/8
- ---
-execute_cmd.c
- - new variable exec_redirection_undo_list that holds redirections
- that must be undone even when `exec' throws away
- redirection_undo_list. These are copies of open files for
- constructs like 7<&1. Set in add_undo_redirect and used in
- execute_builtin_or_function. Disposed of otherwise.
-
- 3/9
- ---
-execute_cmd.c
- - fixed a memory leak in execute_builtin_or_function by adding an
- unwind_protect to dispose of saved_undo_list
- - anywhere do_redirections is called with INTERNAL==1 (which means
- we make redirection_undo_list), arrange to clean up
- exec_redirection_undo_list
-
-print_cmd.c
- - massive namespace cleanups -- made almost all functions static
- - new function `colon' to be called in place of `cprintf(";")'
- to ensure that we don't print a `;' right after a `&' from
- compound command printing functions (if, while, until, for)
-
-[put code out for FTP on 3/10]
-
- 3/11
- ----
-documentation/bash.1
- - removed the description of >&word as a way to redirect both
- standard output and standard error
-
-endian.c
- - moved new-endian.c to this. This handles 64-bit machines
- directly
-
-lib/readline/readline.c
- - rl_copy -> rl_copy_text to avoid clashes with Sun's libraries
- - moved the completion code to a new file
-
-lib/readline/complete.c
- - new file with the completion code from readline
-
-lib/readline/Makefile, cpp-Makefile
- - added complete.c and complete.o to the necessary make variables
-
-subst.c
- - added an entry to special_vars to make a change to $TERMINFO
- cause readline to reset itself (sv_terminal())
-
- 3/12
- ----
-builtins/exec.def
- - free `command' if the exec fails
-
-machines.h
- - change sgi machine description to define HAVE_GETWD
-
-lib/readline/history.c
- - fixed a memory leak in read_history_range -- need to free
- `buffer' before returning
- - if read(2) returns <= 0 in history_truncate_file, then
- immediately exit
- - start checking at buffer[chars_read - 1] for newlines
-
-lib/readline/readline.c
- - fixed a memory leak in rl_read_init_file -- `buffer' must
- be freed before we return
- - rearranged code in update_line so that we check for ols and
- nls being in bounds before trying to compare their values
-
-parse.y
- - fixed memory leak in read_token -- don't need to save `token'
- into a fresh variable before calling push_string because
- push_string does its own savestring in save_expansion
-
-subst.c
- - fixed memory leak in expand_words_internal -- the word_list
- allocated by the `@' case when expanding $@ needs to
- be freed after turning it into a string with string_list
- - fixed memory leak in expand_word_internal -- the string
- returned by extract_dollar_brace_string needs to be freed
- - fixed memory leak in expand_word_internal -- the string
- returned by substring() in the `default:' case needs to be
- freed
-
-variables.c
- - fixed a free-memory reference in makunbound -- have to save the
- value of `name' before calling dispose_variable, because it
- might directly reference old_var->name. If so, then
- stupidly_hack_special_variables will refer to freed memory
-
-dispose_cmd.c
- - fixed a memory leak in dispose_command: if a group_command is
- being disposed, need to free command->value.Group after
- calling dispose_command (command->value.Group->command);
- - fixed a memory leak in dispose_command: if a case command is
- being disposed, need to free command->value.Case after
- freeing everything else
-
-mailcheck.c
- - fixed memory leak in remember_mail_dates -- need to
- free the value returned by get_mailpaths()
- - fixed memory leak in remember_mail_dates -- need to
- free the value returned by extract_colon_unit()
-
- 3/13
- ----
-bashline.c
- - fixed memory leak in bash_symbolic_link_hook --
- get_working_directory always returns newly-allocated memory
- that must be freed
- - fixed memory leak in bash_symbolic_link_hook --
- if `*dirname' is going to be replaced, the current contents
- have to be freed (if non-null)
- - make bash_symbolic_link_hook call get_working_directory with
- a non-empty string for the value of `for_whom'
-
-execute_cmd.c
- - make sure that execute_command cleans up after itself by
- disposing the fd_bitmap it allocates
-
-shell.c
- - fixed memory leak in reader_loop -- if throw_to_top_level is
- called with DISCARD, the current command needs to be disposed
-
-lib/readline/complete.c
- - when we return NULL to indicate the end of a set of completion
- matches, free dirname, filename, and users_dirname -- there's
- no reason to let them persist between calls, consuming memory
-
- 3/16
- ----
-shell.c
- - when moving the `script' fd to the highest available fd, check
- for getdtablesize returning -1 and default to 20 in that case
-
-jobs.c
- - if getdtablesize returns something < 0, default to 20
- - check that getdtablesize() leaves `nds' set to something valid
- before trying to dup2 shell_tty to it
-
-machines.h
- - changed M_OS in KSR/1 description to OSF1
-
-maxpath.h
- - include sys/param.h if __ksr1__ defined
-
-parse.y
- - changed declaration of the_time from long to time_t
-
-lib/readline/readline.c
- - changed extern declarations for rl_basic_word_break_characters
- and rl_completer_word_break_characters to file scope rather
- than block scope
- - changed declaration of chars_avail (param to FIONREAD ioctl) to
- int, which it should have been all along
-
- 3/17
- ----
-jobs.c
- - clamp nfds in initialize_jobs at 256
-
-shell.c
- - clamp the value returned by getdtablesize() to 256
-
- 3/19
- ----
-execute_cmd.c
- - make find_user_command_in_path return a pathname if it exists
- and the caller wants FS_EXISTS files. This affects the `.'
- builtin and files as script arguments to the shell (shell.c)
- - clamp the highest-numbered file descriptior at 256 in
- close_all_files().
-
-jobs.c
- - make get_tty_info print error message on tcgetattr failure only
- if interactive != 0 (that is, we're really interactive now)
-
-lib/readline/rltty.c
- - changed SETATTR macro to call tcsetattr with TCSANOW flag, since
- this call is being used to affect an input file descriptor.
- Ditto for the sys5 tty driver code and TCSETA (was TCSADRAIN and
- TCSETAW, respectively)
- - added a flag for ksr1 machines `ksrflow' which is the state of
- suspended output for this process. If 1, this process has called
- tcflow (tty, TCOOFF) to suspend output and tcflow(tty, TCOON)
- may be called safely
- - temporarily (?) disabled the code that simulates at ^Q at the end
- of set_tty_settings. Let's see if it makes any difference
-
- 3/22
- ----
-execute_cmd.c
- - new global variable (yucch) `current_fds_to_close' that is set to
- the fd_bitmap passed to execute_simple_command while expand_words
- is being executed so that this information is available to the
- process substitution code
- - set current_fds_to_close to NULL at start of execute_command
-
-subst.c
- - change call to close_all_files in process_substitute to call
- close_fd_bitmap (current_fds_to_close)
- - fixed memory leak in parameter_brace_expand_length() -- need to
- free the memory used to expand the PS1 in something like ${#PS1}
- - fixed memory leak in expand_word_internal ${3:+posix} did not
- free the memory used to expand the $3
-
-documentation/bash.1
- - && and || have equal precedence; fixed up man page to reflect
- this
-
- 3/23
- ----
-[fixes from bfox version of 1.13 dated 3/21/93 from eos.ucsb.edu]
-
-config.h
- - #undef alloca before redefining it as __builtin_alloca
-
-cpp-Makefile
- - compile newversion.c with $(CFLAGS) instead of $(DEBUG_FLAGS)
-
-general.h
- - new #define: maybe_free(x)
-
-jobs.c
- - alliant has same problem as NeXT wrt /usr/etc/rlogind and /dev/tty
- - make delete_all_jobs be static void
-
-builtins/cd.def
- - use maybe_free define
-
-builtins/common.c
- - HAVE_VPRINTF --> HAVE_VFPRINTF
-
-builtins/test.def
- - document -h as a synonym for -L
-
-lib/readline/history.c, lib/readline/rldefs.h
- - #undef alloca before redefining it as __builtin_alloca
-
-lib/readline/history.c
- - new functions history_get_state and history_set_state
-
-lib/readline/tilde.c
- - put in #pragma alloca if on AIX machine
-
-support/getcppsyms.c
- - recognize __GNUC__ and __STDC__ and pass them along as output
-
- 3/24
- ----
-
-subst.c
- - removed fully_quoted_word(), since it was unused
-
-execute_cmd.c
- - added extern declarations for functions in dispose_cmd.c
- - removed extern declaration of atol()
-
-parse.y
- - added extern declaration for dispose_words()
-
-documentation/bash.1
- - re-added the description of >&filename as a way to redirect
- both stdout and stderr to filename
-
-machines.h
- - slight changes to the alpha description
-
-shell.c
- - moved all the extern function declarations to have file scope
-
-print_cmd.c
- - colon --> semicolon
-
-parse.y
- - in read_token, if we're parsing an embedded quoted string, don't
- bother with special processing of `$' and characters following
-
- 3/25
- ----
-print_cmd.c
- - added a new function the_printed_command_resize to expand the
- printed command buffer in cprintf()
-
-builtins/bind.def
- - removed the unwind-protect code, because unwind_protect_pointer
- is not guaranteed to work on a FILE *
-
-lib/readline/readline.c
- - assign in_stream and out_stream immediately, because they may
- be used before readline_internal is called
-
- 3/26
- ----
-cpp-Makefile
- - allow for use of different compress programs with the use of
- $(COMPRESS) and $(COMPRESS_EXT)
-
- 3/29
- ----
-
-general.c
- - new function set_lines_and_columns to set $LINES and $COLUMNS in
- response to a SIGWINCH
-
-lib/readline/readline.c
- - call set_lines_and_columns() in set_screen_size() to set the
- right environment variables on a SIGWINCH (code needed to be
- rearranged a bit to make this happen)
-
-jobs.c
- - add a SIGWINCH handler to set $LINES and $COLUMNS if readline is
- not being compiled into the shell and TIOCGWINSZ and SIGWINCH
- are defined
-
-subst.c
- - made dequote_string extern so `read' can use it
-
-builtins/read.def
- - added CTLESC characters to represent escapes instead of doing
- backslash processing internally
-
-braces.c
- - fixed the brace expansion code so that backslash can correctly
- act as an escape character, and escape `"' in a double-quoted
- string
-
- 3/31
- ----
-make_cmd.c
- - the `<>' redirection needs to open the file O_RDWR|O_CREAT
- for Posix.2 compatibility
-
- 4/1
- ---
-parse.y
- - the function read_a_line was changed to take a flag telling it
- whether or not to remove quoted newlines
- - read_secondary_line was changed to call read_a_line with an arg
- of 1, telling it to strip \<newline> pairs
-
- These two changes fix two bugs with here documents:
- 1. delimiter check occurs after \<newline> stripping
- 2. leading tab deletion occurs after \<newline> stripping
-
-lib/readline/rldefs.h
- - include <termcap.h> if on Linux
-
-lib/readline/readline.c
- - don't declare PC, BC, and UP if on Linux (??)
- - change the conditional parsing code that handles the `$if term='
- construct to test the name given in the if command against both
- the `long' and `short' forms of rl_terminal_name. For instance,
- if `rl_terminal_name' were `sun-cmd', it would be tested with
- stricmp against both `sun' and `sun-cmd'
-
-machines.h
- - add HAVE_VFPRINTF to the Linux description
-
-unwind_prot.h
- - change the unwind_protect_int macro to cast the second argument to
- unwind_protect_var to a (char *), which is what unwind_protect_var
- expects
-
-unwind_prot.c
- - change unwind_protect_var to allocate memory and do a bcopy if the
- size of the variable passed to save is not sizeof(int). That's
- what restore_variable expects
-
-lib/readline/complete.c
- - fixed rl_complete_internal so that it pays attention to the value
- of rl_completer_quote_characters and quotes a match if the match
- contains a word break character
-
-bashline.c
- - set rl_completer_quote_characters to ' and "
-
- 4/5
- ---
-lib/readline/complete.c
- - changed rl_complete_internal so that an `attempted completion
- function' may tell readline not to perform filename completion
- if it fails by returning (char **) -1
-
-bashline.c
- - attempt_shell_completion should return (char **) -1 if doing
- command word completion and no matches are found. This will
- tell readline not to perform filename completion
-
- 4/6
- ---
-builtins/common.c
- - fixed the error message printer by get_working_directory:
- `for_whom', shell_name, or `bash: ' is printed first; the
- first non-empty one being printed. Explanatory text is
- added to the error message
-
- 4/7
- ---
-machines.h
- - in the Sun section, define Solaris of either `USGr4' or __svr4__
- is defined
- - Solaris 2 systems have sys_siglist, so don't #undef HAVE_SYS_SIGLIST
-
-jobs.c
- - don't declare sys_siglist if on Solaris 2
-
- 4/8
- ---
-lib/readline/rldefs.h
- - do not define USE_XON_XOFF. This causes output to be swallowed
- when using bash over a relatively slow line (like a modem line).
- This means that ^S and ^Q don't work on termio/termios systems;
- use ^V to quote characters instead
-
-variables.c
- - don't perform a get_working_directory on startup unless we did
- not inherit $PWD or the inherited value of $PWD is wrong
-
-trap.c
- - new functions: free_trap_strings and reset_original_signals.
- Together they do the same thing as restore_original_signals()
-
-jobs.c, nojobs.c
- - removed call to restore_original_signals from make_child. Now
- callers have to handle this themselves
-
-execute_cmd.c
- - added a call to restore_original_signals after make_child in the
- child process everywhere make_child is called
-
-subst.c
- - added call to restore_original_signals after make_child in
- process_substitute
- - added call to reset_signal_handlers after make_child in
- command_substitute for the child process
-
- [THERE IS A PROBLEM WITH A TRAP on `0' -- it is inherited in the
- child process started to run the command substitution]
-
-[These are fixes to make savetraps="$(trap)" work as Posix.2 specifies]
-
- 4/11
- ----
-bashline.c
- - supply a value for rl_completer_word_break_characters; `$' is
- not a shell word break character
-
- 4/13
- ----
-lib/readline/complete.c
- - only look at adding quote characters to completion matches if
- we're doing filename completion
-
-bashline.c
- - don't supply a value for rl_completer_word_break_characters
-
- 4/14
- ----
-documentation/bash.1
- - clarify what the readline function shell-expand-line does
-
-jobs.c
- - clean up dead jobs in wait_for even in non-interactive shells
- rather than waiting for the next call to the parser
-
- 4/15
- ----
-bashline.c
- - reorganized the shell_expand_line code; broke it up into several
- discrete functions
- - added new functions: history_and_alias_expand_line,
- history_expand_line
- - added a new emacs-mode command, M-!, bound to history-expand-line
-
- 4/18
- ----
-unwind_prot.c
- - more fixes to the save-variable and restore-variable code,
- mostly to make things work better on machines like the alpha
- where sizeof(int) != sizeof(char *):
-
- save and restore now use identical logic and nearly
- identical code to decide whether or not to use malloc and
- bcopy or assignment
-
-builtins/common.c
- - new functions to manage the state of the dollar variables:
-
- dollar_vars_changed - return 1 if the dollar variables have
- been changed
- set_dollar_vars_changed - set the state of dollar variable
- modification to `changed'
- set_dollar_vars_unchanged - set the state of dollar variable
- modification to `unchanged'
-
-builtins/source.def
- - new function: maybe_pop_dollar_vars. This is called so that the
- `.' command will restore the dollar variables only if the script
- run with . has not changed them. If the script changed $@, the
- new values should stay in place
- - changes to source_builtin to set the state of the dollar
- variables to `unchanged' before executing the script, and calling
- maybe_pop_dollar_vars() to decide whether or not to restore the
- dollar variables and to do so if warranted
-
-machines.h
- - new description for NEC EWS4800, from m-hirano@sra.co.jp via
- hikichi@sra.co.jp
-
- 4/19
- ----
-support/mksysdefs
- - check for both /hp-ux and /bin/uname before deciding a machine
- should be checked for an HP/UX revision level
-
- 4/22
- ----
-input.h, general.h, lib/readline/readline.h, lib/tilde/tilde.h
- - added typedefs for CPFunction (pointer to function returning
- pointer to char) and CPPFunction (pointer to function returning
- pointer to pointer to char)
-
-execute_cmd.c
- - replaced all instances of (int)redirectee in do_redirection_internal
- with a variable redir_fd, which is set to redirectee.dest
-
-print_cmd.c
- - replaced all instances of (int)redirectee in print_redirection
- with a variable redir_fd, which is set to redirectee.dest
-
-maxpath.h
- - #include <sys/param.h> on OSF/1 systems
-
-subst.c
- - added extern declaration for list_append
- - changed sv_allow_null_glob_expansion to compare the return value
- from find_variable to NULL to set the value of
- allow_null_glob_expansion
-
-parse.y
- - fix the assignment_acceptable macro so we cannot return
- ASSIGNMENT_WORD while in the middle of a case statement pattern
- list (in_case_pattern_list != 0)
-
-general.c
- - Linux has gethostname() and does not need the emulation
-
-jobs.c
- - Linux has a declaration for sys_siglist that conflicts with the
- extern declaration; use the one from the standard include file
- - the sigprocmask emulation did not handle NULL arguments in
- oldset and newset; check them before using
-
- 4/23
- ----
-lib/readline/complete.c
- - use single_quote() to quote a completion replacement with
- embedded occurrences of characters from rl_completer_quote_characters
-
- 4/26
- ----
-print_cmd.c
- - redid cprintf() for systems without varargs to be what bfox has
- (using char * where bfox has void *)
-
-parse.y
- - make read_secondary_line take an argument telling it whether or
- not to have read_a_line remove quoted newlines
-
-make_cmd.c
- - pass an argument to read_secondary_line saying whether or not to
- remove quoted newlines, set to 1 if the delimiter of a here
- document is unquoted
-
- 4/28
- ----
-builtins/ulimit.def
- - added -u option to set and get the max number of processes
- available to a user; available on systems which define
- RLIMIT_NPROC
- - added better handling of getrlimit failures to ulimit_builtin
-
-cpp-Makefile
- - made $(HOSTTYPE_DECL) appear on the cc command line before the
- $(CPPFLAGS) when making variables.o
-
- 4/29
- ----
-lib/readline/complete.c
- - added an extern declaration for getpwent() for isc386 machines
- where __STDC__ is not defined and _POSIX_SOURCE is
-
- 4/30
- ----
-general.c
- - new function legal_identifier, which returns 1 if a string
- passed is a legal shell identifier and 0 otherwise. Used
- to decide what is and is not a legal variable name for the
- expansion functions
-
-subst.c
- - make expand_word_internal check that a ${ } expression
- that starts with a digit is composed of all digits before
- deciding that a variable starting with a digit is special
- (setting var_is_special to 1)
- - new function valid_brace_expansion_word (name, var_is_special)
- returns 1 if name is a legal lhs of a brace expansion
- expression
- - make expand_word_internal check an identifier for validity
- before passing it off to parameter_brace_expand_word by calling
- valid_brace_expansion_word ()
- - new function valid_length_expression (name) returns 1 if NAME is
- something that can be passed to parameter_brace_expand_length();
- called from expand_word_internal before calling
- parameter_brace_expand_length()
-
-
- These fix the following:
- ${#<digit><alpha>} was treated as x=$<digit><alpha>, ${#x}
- ${<digit><alpha>} was treated as ${<digit>}<alpha>
- ${<illegal-id>} was not flagged as an error
- ${#<illegal-id>} was not flagged as an error
-
- 5/2
- ---
-input.c
- - make check_bash_input change the value of default_buffered_fd
- if it moves the input fd to a new fd as the result of a
- redirection
-
-execute_cmd.c
- - don't make do_piping try the dup2 and close if pipe_out ==
- REDIRECT_BOTH (-2) -- it's useless work
- - add error checking to do_piping to see if the dup2 calls fail
- and why
-
-error.c
- - new function internal_error for shell internal error messages
-
-jobs.c
- - changed some fprintf(stderr, ...) calls to internal_error()
- calls
-
- 5/3
- ---
-execute_cmd.c
- - do not change the buffered stream associated with a file descriptor
- when processing an r_inputa_direction redirection in
- do_redirection_internal
-
-jobs.c, nojobs.c
- - don't sync the buffered stream associated with default_buffered_input
- in make_child if the shell is reading input from fd 0 and running an
- asynchronous command
-
- 5/4
- ---
-
-execute_cmd.c
- - if the shell is not interactive, clean up the dead jobs each time
- we call execute_command ()
-
-jobs.c
- - new function, mark_dead_jobs_as_notified
- - if the shell is not interactive, mark all dead jobs as notified in
- notify_and_cleanup so that cleanup_dead_jobs frees up the slot in
- the jobs array
-
-nojobs.c
- - make cleanup_dead_jobs call reap_zombie_children on Posix systems,
- so the shell doesn't keep growing in size as more jobs accumulate
- before a call to wait_for()
-
- 5/6
- ---
-jobs.c
- - take the code that resets the signal handler out of flush_child;
- it should be done in wait_for
- - new function reap_dead_jobs to be run by non-interactive shells
- that marks all dead jobs as notified and cleans up the job list
- - removed the code from notify_and_cleanup that marks dead jobs as
- notified if the shell is not interactive
-
-execute_cmd.c
- - took the code that cleaned up dead jobs out of execute_command
- There is a problem when this is run as the result of a trap on
- SIGINT and the trap command is called directly from flush_child --
- a job slot can disappear out from underneath flush_child and
- wait_for and cause the shell to abort
- - added a new define REAP that causes a non-interactive shell to
- clean out the job table by calling reap_dead_jobs or
- cleanup_dead_jobs
- - added calls to reap to execute_for_command and
- execute_until_or_while
-
-nojobs.c
- - changed wait_sigint_handler to not do anything when it is called,
- not even run a signal handler
- - changed wait_for to call the old sigint handler if a foreground
- process exits due to a SIGINT
-
- [these make nojobs.c behave like jobs.c when waiting for a job in
- a non-interactive shell]
-
-config.h.mini
- - new `minimal' configuration file
-
- 5/7
- ---
-subst.c
- - make sure that command_substitute closes the pipe file descriptors
- if there is a goto error_exit
-
- 5/10
- ----
-nojobs.c
- - add a SIGWINCH handler to set $LINES and $COLUMNS if readline is
- not being compiled into the shell and TIOCGWINSZ and SIGWINCH
- are defined
-
-[code put out for FTP on slc2.ins.cwru.edu]
-
- 5/11
- ----
-
-braces.c
- - commas within backquotes inside matching braces are now treated as
- quoted (e.g., echo {`echo foo:bar | sed s/:/,/`})
-
-lib/readline/search.c
- - added extern declarations for xmalloc, xrealloc
-
- 5/12
- ----
-lib/malloc/malloc.c
- - added a #define wrapper around the sbrk() declaration so that it's
- not declared as char * if hpux_8 or VOID_STAR_SBRK are defined
-
-subst.c
- - changed sense of #ifdef so that unless KSH_INCOMPATIBLE is defined
- ${#@} and ${#*} are equivalent to $#
-
- 5/13
- ----
-execute_cmd.c
- - don't create the export env unless we are running a command with
- shell_execve (in execute_disk_command)
-
-jobs.c, nojobs.c
- - don't create the export env in make_child (why were we doing this
- in the first place?)
-
-hash.c
- - removed declaration of initialize_hashed_filenames, which is unused
-
-subst.c
- - make list_rest_of_args, list_string, and the brace expansion code
- in expand_words_internal use the REVERSE_LIST macro rather than a
- call to reverse_list()
-
-make_cmd.c, copy_cmd.c
- - change uses of reverse_list to REVERSE_LIST
-
- 5/17
- ----
-execute_cmd.c
- - make execute_disk_command look in the temp environment for an
- assignment to PATH, and disable hash lookup for the command if
- such an assignment is present
-
- 5/18
- ----
-parse.y
- - changed read_a_line so that a backslash can quote a \<newline>
- pair and prevent its removal when remove_quoted_newline is 1
-
- 5/19
- ----
-siglist.h
- - new file, to encapsulate the declarations of sys_siglist and
- provide a `strsignal' macro
-
-jobs.h, siglist.c, longest_sig.c
- - include siglist.h
-
-jobs.c, nojobs.c
- - removed declaration of sys_siglist
-
- 5/20
- ----
-execute_cmd.c
- - don't set up the loop_redirections unwind-protect unless there
- are actually some redirections
- - combined the AND_AND and OR_OR cases of execute_command_internal
- to remove some duplicated code
- - folded two tests together in the simple command case of
- execute_command_internal to remove a layer of indentation and
- braces
- - don't set up the unwind_protect in execute_simple_command unless
- the command actually expands to something
- - broke the code that executes functions and builtins out into new
- functions (execute_function and execute_builtin) and changed
- execute_builtin_or_function and execute_subshell_builtin_or_function
- to call them
- - replaced the async_redirections unwind-protect in
- execute_disk_command, since there's no reason to do it if we're
- already in a subshell and simply going to exit if the redirections
- fail
- - set up the unwind-protect on saved_undo_list in
- execute_builtin_or_function only if there are redirections saved
- in saved_undo_list
- - only call do_redirections in execute_disk_command if there are
- redirections to perform -- no need for the side effects since
- we're in a subshell
-
- 5/21
- ----
-parse.y
- - make read_a_line, shell_getc, decode_prompt_string, prompt_again,
- bash_add_history, reset_readline_prompt, read_token, discard_until,
- shell_ungetc static functions
- - eliminated the after_preprocess label in shell_getc
- - broke the prompt command execution code out into a separate
- function: execute_prompt_command
-
-subst.c
- - combined some common code in extract_string_double_quoted for the
- $( ) and ${ } cases
- - changed the allocation scheme in string_list_internal to hopefully
- reduce the number of allocations
- - added a new define SET_INT_VAR and changed all of the sv_*
- functions that set a variable depending on whether or not a
- variable exists to use it
-
-variables.c
- - declare argument to getenv as `const char *' on Linux
-
-machines.h
- - Linux has the fixed include files if gcc is being used to compile
- the shell
-
- 5/23
- ----
-subst.c
- - only call rl_reset_terminal in sv_term if no_line_editing is 0
- (which means we're actually using readline)
-
- 5/25
- ----
-execute_cmd.c
- - changed execute_for_command to explicitly call the functions that
- were to be called by the unwind-protect code (e.g., dispose_words),
- and changed the run_unwind_frame call to a call to
- dispose_unwind_frame. This is to avoid using the kernel to block
- interrupts as much as possible
- - did the same for execute_case_command and execute_builtin
-
-jobs.c
- - only run traps on SIGCHLD if job_control != 0
-
- 6/3
- ---
-unwind_prot.c
- - have without_interrupts call QUIT only if interrupt_immediately
- is set to 1
-
- 6/7
- ---
-machines.h, jobs.h, lib/readline/chardefs.h, maxpath.h
- - changes for Solaris 2 with gcc from Greg Onufer
-
-lib/malloc/malloc.c
- - define NO_SBRK_DECL if hpux_8 or Solaris
- - declare sbrk as extern char * unless NO_SBRK_DECL is defined.
- VOID_STAR_SBRK has been removed
-
-lib/readline/readline.c
- - changed a call to alloca to a call to xmalloc to avoid problems
- on the DEC alpha (can't pass memory allocated with alloca to
- another function)
- - moved key binding and startup file code to bind.c
-
-lib/readline/rldefs.h
- - created common definitions for emacs_mode and vi_mode
-
-lib/readline/bind.c
- - new file containing the key binding and startup file code.
-
- 6/8
- ---
-lib/readline/readline.c
- - changed rl_message to use varargs, if HAVE_VARARGS_H is defined
-
-lib/readline/rldefs.h
- - include <varargs.h> if HAVE_VARARGS_H is defined
-
-lib/readline/{readline.c,bind.c,rltty.c,vi_mode.c,search.c}
- - cleaned up the namespace by prefixing all pseudo-global readline
- variables (variables private to the library but used in multiple
- files) with _rl_
-
- 6/10
- ----
-[changes from bfox]
-
-bashansi.h
- - new file, including both string.h and ansi_stdlib.h
-
-dispose_cmd.h, make_cmd.h, subst.h
- - new files containing extern function declarations
-
-endian.c
- - for machines with sizeof(long)==8, shift by 31, then 1 to fake
- out gcc 2.4, which complains when you shift by 32
-
-general.h
- - added an include of string.h or strings.h
- - changed the declarations of the savestring() and member() macros
-
-shell.c
- - changed the structure of the long_args struct to be more portable
-
-subst.c
- - made dequote_string and dequote_list static
-
-[end of changes from bfox]
-
-general.h
- - added extern declarations for all of the non-int functions
- defined in general.c
-
-<most files>
- - removed extern declarations that appear in one of the bash header
- files
-
- 6/15
- ----
-lib/readline/readline.c
- - incorporated a patch to rl_transpose_chars from Tom Tromey
- which allows C-t to be undone
- - fixed rl_rubout so the fast screen fixup when deleting the
- last character on the line handles characters that are more
- than one screen position wide by erasing the right number of
- physical characters
-
- 6/16
- ----
-siglist.h
- - don't declare sys_siglist on 4.4 BSD
-
-builtins/mkbuiltins.c, lib/readline/history.c
- - include <unistd.h> if HAVE_UNISTD_H is defined
-
- 6/19
- ----
-machines.h
- - new description for the Intel Paragon running OSF/1
-
-support/getcppsyms.c
- - new variables for the paragon (__i860__, __PARAGON__, etc.)
-
-documentation/bash.1
- - make it clear the the -noprofile switch disables the sourcing
- of ~/.bash_login and ~/.profile as well as /etc/profile and
- ~/.bash_profile
-
- 6/23
- ----
-shell.c
- - instead of calling maybe_execute_file on "/etc/profile",
- use a #define for SYS_PROFILE, which is initially defined
- to be "/etc/profile" by default
-
-lib/readline/isearch.c
- - new file, with the isearch code
-
-lib/readline/display.c
- - new file, with the incremental redisplay code
-
-lib/readline/readline.c
- - removed the isearch, display code
-
- 6/24
- ----
-lib/readline/readline.c
- - removed the signal-handling code
-
-lib/readline/signals.c
- - new file with the signal-handling code
-
- 7/1
- ----
-test.c
- - changed the `advance' macro to get around some picky compilers
-
-machines.h
- - machine description for hp9000 running 4.4 BSD
-
-support/getcppsyms.c
- - recognize __BSD_4_4__ for 4.4 BSD machines
-
-builtins/souirce.def
- - cast the st_size stat struct member to int because it's
- 64 bits on 4.4 BSD
-
-lib/readline/signals.c
- - include <sys/ioctl.h> if compiling on a 4.4 BSD machine
-
- 7/2
- ---
-builtins/read.def
- - if $IFS is unset it defaults to "" when splitting the line
- read into words (so no splitting is performed)
-
- 7/5
- ---
-shell.c
- - remove SIGKILL from terminating_signals[] -- it can't be caught
- or ignored
- - make terminating_signals[] static
- - make terminating_signals[] an array of structs that hold the signal
- number and the original handler
- - change initialize_terminating_signals to use the new struct termsig
- and to set the original handlers for all the terminating_signals
- - new function reset_terminating_signals to restore original handlers
- for all terminating signals in terminating_signals[]
-
-trap.c
- - new function signal_is_special, returns 1 if a signal is one of
- the signals the shell treats specially
- - call reset_terminating_signals from restore_original_signals
-
-getcwd.c
- - changed call to `stat' to call `lstat' to keep symlinks that
- point to non-existant files from causing getcwd to fail
- - if S_ISLNK is not defined after inclusing `posixstat.h', use
- a cpp #define lstat stat
-
-machines.h
- - new entry for Symmetric 375 running 4.2 BSD
-
-support/getcppsyms.c
- - recognize and pass along `scs' for the Symmetric 375
-
-lib/readline/bind.c
- - new function: rl_set_keymap_from_edit_mode, which sets the
- keymap appropriately depending on the editing mode as if we
- were about to edit a command line
-
- 7/6
- ---
-lib/termcap
- - new code from the GNU termcap library distribution 1.02
-
-endian.c
- - include bashansi.h
-
-shell.c
- - fall back to sourcing $ENV if $BASH_ENV is not found
-
-variables.c
- - make add_or_supercede search `array' only if it is non-null
-
- 7/7
- ---
-subst.c
- - made do_assignment_internal an int function that returns 1 if
- the assignment was made correctly and 0 if it was not
- - do_assignment and do_assignment_no_expand now return the value
- from do_assignment_internal
-
-variables.c
- - made assign_in_env return 1 if everything appeared to go
- successfully (which it always does)
-
-cpp-Makefile
- - add variables.c as an explicit dependency for variables.o; there
- appears to be a bug in Gnu make
-
-braces.c
- - removed static version of copy_array since there's already one
- in general.c, declared extern in general.h
-
-lib/malloclib
- - updated to sources from Gnu libc 1.06
-
- 7/9
- ---
-shell.h
- - new struct: user_info, containing uid, gid and passwd file info
- about the current user
-
-shell.c
- - new variable current_user of type struct user_info
- - eliminated passwd_shell, passwd_dir, and current_user_name
-
-subst.c
- - rewrote sv_uids to use the info in current_user.uid and .euid
- and to use itos rather than sprintf
-
-variables.c, mailcheck.c, test.c, execute_cmd.c, parse.y
- - changed to use current_user.user_name rather than current_user_name
- and to use current_user.shell and current_user.home_dir instead of
- passwd_shell and passwd_dir, respectively
-
-flags.c, flags.h
- - new flag, `-p' for `privileged', a la ksh. This is set automatically
- if uid != euid || gid != egid
- - if +p, set the real and effective uids and gids to the real uid and
- gid
-
-flags.c
- - include shell.h for the current_user struct and don't explicitly
- include header files included by shell.h
-
-builtins/set.def
- - code to handle -p and -o privileged
-
-documentation/bash.1
- - added documentation for set -p/set -o privileged
- - added documentation for bind -m keymap
- - added documentation to readline section for non-inc search bindings
-
-builtins/bind.def
- - documented the -m keymap option
-
- 7/10
- ----
-machines.h
- - new description for NeXTstep running on intel 486
-
-lib/tilde/tilde.c
- - fixed up definition of savestring macro
-
-bashline.c
- - changed attempt_shell_completion so that when completing command
- words and no matches are found, it tells readline to perform
- filename completion but sets the completion ignore function
- to one that will ignore all filenames matched, leaving only
- directories in the list of matches
- - generalized the ignore processing, breaking the body of the
- existing ignore function into a generic function that takes as an
- argument a pointer to a function used to test each filename in the
- match list for `acceptability'
- - added a new ignore function to support the `ignore filenames'
- behavior described above
-
- 7/12
- ----
-
-machines.h
- - add #undef HAVE_GETCWD to Motorola M88100 description
-[put code out for FTP on slc2.ins.cwru.edu]
-
- 7/13
- ----
-builtins/type.def
- - broke the code that does the work of the type builtin out into a
- separate function and added a couple of other display options,
- for eventual use by command -v and -V
-
-builtins/bashgetopt.c
- - added a new function `report_bad_option'
-
-builtins/jobs.def, bultins/histctl.def
- - changed to use report_bad_option
-
-builtins/command.def
- - added the Posix.2 -v and -V options
-
- 7/14
- ----
-execute_cmd.c
- - make sure that execute_command_internal sets redirection_undo_list
- and exec_redirection_undo_list to NULL after making local copies
- so things don't get undone twice. This can happen as the result
- of an `fc' redoing a command with redirections:
- wc subst.c > xxx &
- r
- [bug report from Ian Watson]
-
-builtins/setattr.def
- - converted to use internal_getopt, so export and readonly both use
- it
-
-builtins/bashgetopt.c
- - changed the default error messages a little bit
-
-shell.h
- - new exit values: EX_NOEXEC, for when a command name is not
- executable (126), and EX_NOTFOUND, for when a command is not
- found (127)
-
-execute_cmd.c
- - change to use EX_NOEXEC and EX_NOTFOUND
-
-parse.y
- - broke function definitions off into their own production,
- function_def
-
- 7/15
- ----
-builtins/kill.def
- - added code so that signals are listed by kill -l in the manner
- specified by Posix.2 if the POSIXLY_CORRECT variable exists in
- the environment
- - Posix.2 UPE says kill can take % job control arguments even if
- job control is disabled, so let interactive shells use them
-
-parse.y
- - decode_prompt_string now performs the Posix.2 ! expansion for
- $PS1 and $PS2, if POSIXLY_CORRECT is turned on
-
-builtins/exec.def
- - changed exit status to be in line with Posix.2 specification
- (127 for not found, 126 for not executable)
-
-builtins/wait.def
- - unknown jobs should cause wait to return 127
-
-shell.c
- - change the behavior of sh -c so that if POSIXLY_CORRECT is in the
- environment, the first argument after -c command is assigned to
- $0, and the rest of the arguments, if any, are bound to $1 ... $n
- Posix.2 4.56.3 specifies this behavior
- - move the code that does -c command out of the !local_skip_execution
- block. I can't see why it was there in the first place
- - made some of the private variables static to clean up the name
- space
- - moved the code that runs the startup files into a separate
- function: run_startup_files. This is called with an argument
- telling it whether or not to use the Posix.2 startup file sequence
- ($ENV). This argument is 1 if POSIXLY_CORRECT is found in the
- environment at startup
-
-builtins/fg_bg.def
- - bg needs to set last_asynchronous_pid when restarting a job in
- the background, as per Posix.2, 5.4.2
-
-jobs.c
- - make sure the status of exited jobs is printed as Done(n) where
- `n' is the exit status, if POSIXLY_CORRECT is specified
-
- 7/16
- ----
-general.c
- - fixed a problem with canonicalize_pathname which made it get
- confused with xxx/./yyy if yyy was `.' or `..'
-
-parse.y
- - broke the code in read_token that checked for reserved words
- into a macro: CHECK_FOR_RESERVED_WORD
- - if posixly_correct is 1, read_token does not allow reserved words
- to be aliased (checks for reserved words before doing alias
- expansion). See Posix.2 3.3.1
- - changed the function_def production to make redirections
- specified with a function definition bind to the function
- rather than to the definition. This introduced 66 (!)
- bison shift/reduce conflicts. From Posix.2 3.9.5
- - if `posixly_correct' is set, <>word will open word for read/write
- on fd 0, rather than fd 0 and fd 1 as normal
-
-builtins/source.def
- - removed the ALLOW_RIGID_POSIX_COMPLIANCE define; the check for
- POSIXLY_CORRECT will always be performed
-
-shell.c
- - new long option: -posix, sets posixly_correct to 1
- - posixly_correct set to 1 in main if POSIXLY_CORRECT found in
- shell environment
-
-subst.c
- - new function sv_strict_posix, sets value of posixly_correct
- depending on $POSIXLY_CORRECT
- - if posixly_correct is set, don't do tilde expansion on
- =~ in words that are not shell assignment statements
-
-execute_cmd.c, jobs.c
- - removed calls to getenv("POSIXLY_CORRECT") with checks of
- posixly_correct
- - if posixly_correct is set, don't translate >&x into >x 2>&1
-
-expr.c
- - implemented the OP= Posix.2 arithmetic assignment operators
- (see Posix.2 table 2.15, section 2.9.2.1, and section 3.6.4)
-
-documentation/bash.1
- - added documentation of new arithmetic evaluation assignment
- operators
- - documented the new -posix long option
-
- 7/17
- ----
-builtins/setattr.def
- - made set_or_show_attributes correctly quote the values of shell
- variables it prints so the output of `export' or `readonly' can
- be used as input to the shell
-
-builtins/fc.def
- - made fc write its output as Posix.2 5.12.6.1 specifies: when not
- numbering, the command should still be output with a leading tab
-
-variables.c
- - if `posixly_correct' is true, bash uses ~/.sh_history as the
- default value of $HISTFILE
-
-shell.c, subst.c
- - if posixly_correct is true, turn on interactive comments, since
- that's what Posix.2 says to do
-
- 7/20
- ----
-lib/malloclib/{malloc.c,free.c,malloc.h}
- - bug fix from Mike Haertel
-
-builtins/mkbuiltins.c
- - added code so that the Posix.2 `special' builtins have
- SPECIAL_BUILTIN added to the flags in their entry in the
- builtins array defined in builtins.c
-
-shell.c
- - declare `restricted' as `extern int', since it's already
- declared in flags.c
-
-lib/readline/bind.c
- - only try to set the keymap to vi_insertion_keymap in
- rl_set_keymap_from_edit_mode if VI_MODE is #defined
-
-lib/malloc/malloc.c
- - define NO_SBRK_DECL for hpux_9
-
-machines.h
- - hpux_9 needs to link with libPW.a to pick up alloca(), which
- has reportedly been fixed
-
-lib/tilde/Makefile
- - add a definition for RM to the makefile
-
- 7/21
- ----
-documentation/Makefile
- - added info, dvi targets
- - changed `squeaky-clean' to `distclean'
- - use $(MAKEINFO) in recipes rather than `makeinfo'
-
-bashline.c
- - fixed memory leak in cleanup_expansion_error
- - fixed up some extern declarations of pre_process_line
-
-cpp-Makefile
- - define HAVE_FIXED_INCLUDES by default if we're using gcc
-
- 7/27
- ----
-machines.h
- - add -ldgc to the DG/UX description if we're not building an
- `M88KBCS_TARGET'
-
- 7/28
- ----
-shell.c
- - always initialize top_level_mask from what the shell inherits,
- even for login shells
-
-lib/tilde/tilde.c
- - declare the getpw functions only for USG systems
-
- 7/30
- ----
-lib/readline/readline.c
- - new function: _rl_kill_kbd_macro () to cancel any keyboard
- macros being defined on a SIGINT
-
-lib/readline/signals.c
- - call _rl_kill_kbd_macro on a SIGINT
-
-bashline.c
- - don't bind anything with a META via rl_add_defun; change those to
- add the definition unbound, then explicitly bind it into
- emacs_meta_keymap
-
- 8/3
- ---
-bashline.c
- - save and restore the value of rl_startup_hook when using it in
- special editing functions
-
- 8/4
- ---
-general.c
- - new global variable: global_error_list, returned instead of -1
- from functions returning lists
- - changed delete_element to return &global_error_list instead of
- (char **)-1
-
-braces.c, general.c, expr.c
- - removed the conditional definition of NULL; it should be defined
- in general.h
-
-lib/glob/glob.c
- - new global variable: glob_error_return, returned instead of
- (char **)-1 to signal a glob error
- - changed functions to return &glob_error_return instead of
- (char **)-1
-
-subst.c
- - fix the GLOB_FAILED macro to test against &glob_error_return
- rather than (char **)-1
-
-builtins/ulimit.def
- - cleaned up the casts like (long) -1; changed to -1L, which is
- equivalent and more correct
-
-lib/readline/complete.c
- - use the address of a new local variable `dead_slot' to mark
- dead slots in the list of completion matches rather than
- (char *)-1, which doesn't work everywhere
-
-lib/readline/history.c
- - have get_history_word_specifier return the address of a static
- variable `error_pointer' in case of error, rather than (char *)-1
-
-lib/readline/signals.c
- - if SHELL is defined, don't mess with SIGTSTP, SIGTTIN, or SIGTTOU
-
-lib/readline/vi_mode.c
- - make rl_vi_change_case skip over characters that are neither
- upper nor lower case
-
- 8/5
- ---
-lib/readline/funmap.c
- - made qsort_string_compare compare the first characters of the
- two strings before calling strcmp()
-
-builtins/bind.def
- - rewrote to use internal_getopt
- - map specifications made with -m now affect all other options
- and binding specifications
- - no processing is done until all the options have been processed
- - the -q option is now limited to a single argument, as the
- documentation has always stated
-
-lib/readline/vi_mode.c
- - fixed the `r' command so that the replacement is saved, and it
- is redoable
-
-command.h
- - add `line' members to the simple_command and command structs to
- keep track of the line number the command appears on for $LINENO
-
-make_cmd.c
- - save line number when making a `bare' simple command to the value
- of line_number
- - save the first line of a function definition in make_function_def
-
-copy_cmd.c
- - make sure that the line number information is copied with a command
-
-execute_cmd.c
- - use the line number attached to the start of a function definition
- and the line number of commands to update line_number while a
- function is executing
-
- 8/6
- ---
-config.h, config.h.mini, cpp-Makefile
- - made ONESHOT a configuration option rather than a cpp define in
- cpp-Makefile
-
-builtins/fc.def, builtins/getopts.def
- - removed the code that defines NULL if undefined -- these files
- include general.h, which already does that
-
-lib/posixheaders/stdc.h
- - new file containing macros so that functions can be defined with
- prototypes using the __P macro and compile on both ANSI C and
- `traditional' C compilers
-
-lib/malloc/malloc.c
- - changed the ASSERT macro to use a new __STRING define when calling
- botch(), so that ANSI C systems see the correct error string
- rather than `p' (unfortunately, the MAGICx constants are expanded
- in the string passed to botch())
-
- 8/7
- ---
-bashline.c, execute_cmd.c, variables.c, parse.y, make_cmd.c, jobs.c
- - removed extern declarations of functions already declared as extern
- in bash header files
-
-execute_cmd.c
- - include lib/tilde/tilde.h
- - include builtins/common.h
- - include builtins/builtext.h for the extern declarations for the
- shell builtins
- - moved vfree() to general.c
-
-builtins/common.c
- - made dotted_filename static
- - made builtin_address_internal static
-
-builtins/common.h
- - new file with extern declarations for all functions defined in
- common.c
-
-variables.h
- - added extern declaration of qsort_string_compare, assign_in_env
-
-mailcheck.c
- - removed full_pathname (), since it is a function of general use
-
-general.c
- - moved full_pathname () here from mailcheck.c
- - moved vfree() here from execute_cmd.c
-
-general.h
- - added extern declaration for full_pathname
-
-subst.h
- - added extern declaration for dequote_string
-
-jobs.h
- - added external declarations for wait_for_background_pids and
- wait_for_single_pid
-
-parse.y
- - new function: find_reserved_word
-
-builtins/{alias,builtin,cd,exec,exit,hash,read,setattr,shift,trap,wait}.def
- - removed extern declarations, replaced with inclusion of common.h
-
-builtins/type.def
- - include common.h, remove extraneous extern declarations
- - call find_reserved_word instead of searching word_token_alist
-
-builtins/bashgetopt.h
- - new file, extern declarations for stuff defined in bashgetopt.c
-
-builtins/{bind,command,fc,histctl,jobs,setattr}.def
- - include bashgetopt, removed internal getopt extern declarations
-
-cpp-Makefile, builtins/Makefile
- - add dependencies on bashgetopt.h to builtins
- - add dependencies on common.h to builtins
-
-nojobs.c
- - wait_for_background_pids should be void
-
- 8/9
- ---
-builtins/common.c
- - new function, double_quote(), to double-quote strings
-
-documentation/bash.1
- - added text specifying return value of `command -[vV]'
- - added description of the -E option to echo
- - added text specifying that `enable' accepts -a in place of -all
-
- 8/10
- ----
-shell.c
- - since non-Posix systems with job control use top_level_mask,
- it needs to be initialized correctly by
- initialize_terminating_signals
-
-mailcheck.c
- - fixed mailpath-parsing code to correctly handle backslash-quoted
- `?' and `%' in the $MAILPATH entries by adding a function
- parse_mailpath_spec to return a pointer to the first unquoted
- `?' or `%' and having remember_mail_dates and check_mail call it
-
-documentation/bash_builtins.1
- - new man page for bash builtins, from jaws@pangaea.dme.nt.gov.au
- (implemented by using number registers as flags and sourcing
- bash.1)
-
- 8/16
- ----
-bashline.c
- - have maybe_make_readline_line use rl_delete_text rather than
- rl_kill_text because the text need not be saved on the kill
- ring
-
- 8/17
- ----
-jobs.h
- - don't include extern declarations for fork(), getpid(), or
- getpgrp() if __SVR4_2__ is defined (Unixware, SVR4.2).
- __SVR4_2__ used as in siglist.h
-
-test.c
- - don't include extern declarations for getegid(), getgid(),
- or geteuid() if __SVR4_2__ is defined (Unixware, SVR4.2)
-
- 8/18
- ----
-execute_cmd.c
- - don't check that the current directory in the path is `.' if
- we've already found `.' in the path in find_user_command_internal
- - new function make_full_pathname, to glue `path' and `name'
- together in find_user_command_internal rather than using sprintf,
- which is very slow
-
- 8/19
- ----
-
-support/mksysdefs
- - packaged all of the uname calls into one block at the top of the
- script; uname sets up some script variables:
-
- UNAME
- UNAME_R
- UNAME_M
- RELEASE
- LEVEL
- - make sure machines running SVR4.2 have __SVR4_2__ defined
-
-machines.h
- - for i386 machines running SVR4.2, make sure that __SVR4_2__ is
- added to SYSDEP_CFLAGS
-
-test.c
- - changed the test_exit define to use the do { ... } while(0) idiom
- - made GID_T and UID_T be int for BSD/386, since that's what
- getgroups() returns
- - cast both sides of a test to UID_T or GID_T to make sure we're
- on the same page when testing
-
-lib/readline/bind.c, lib/readline/readline.c
- - fixes to deal with the Cray's pointers of different sizes --
- pointers to functions are a different size than pointers to
- structs
-
- 8/20
- ----
-machines.h, test.c, jobs.h, siglist.h, support/mksysdefs
- - changed __SVR4_2__ to USGr4_2
-
-support/getcppsyms.c
- - added support for recognizing __SVR4_2__ and USGr4_2
-
- 8/23
- ----
-
-variables.c
- - added a static variable that keeps track of whether or not
- function local variables have been created with the `local'
- or `typeset' builtins and short-circuits the call to
- kill_all_local_variables if none have been created
-
-lib/readline/vi_mode.c
- - extern declaration for rl_vi_check and rl_digit_loop1
- - declare `count' argument to rl_vi_delete
- - made rl_vi_set_last a void function
-
-lib/readline/bind.c
- - declare `count' argument to strnicmp
-
-lib/readline/readline.c
- - made rl_add_undo, free_undo_list void functions
-
-lib/readline/readline.c, lib/readline/bind.c, lib/readline/search.c,
-lib/readline/vi_mode.c
- - changed return; to return 0; and added explicit returns to many
- `int' returning functions that didn't return a value
-
- 8/24
- ----
-builtins/ulimit.def
- - check for RLIMIT_RSS being defined before trying to use it
-
-machines.h
- - fixes to cray machine description from Bill Jones
-
-builtins/common.c
- - make all of the dollar_arg_stack stuff static
-
-lib/malloc/alloca.c
- - new version, from emacs 19
-
- 8/26
- ----
-lib/readline/complete.c
- - use double quotes to quote replacement text with word breaks
- rather than single quotes, which inhibit tilde expansion
-
-lib/readline/vi_keymap.c
- - changed TAB to default to completion for the VI insert keymap
-
-bashline.c
- - new function: posix_readline_initialize to make any changes
- to the readline keymaps when switching into and out of Posix.2
- mode
- - call posix_readline_initialize from initialize_readline
-
-subst.c
- - call posix_readline_initialize from sv_strict_posix
-
- 8/27
- ----
-subst.c
- - changed USE_GLOB_LIBRARY to USE_POSIX_GLOB_LIBRARY to make the
- intent clear
-
-shell.c
- - new function, issock(fd) returns 1 if FD is a socket according
- to fstat(2) -- note that this only works if S_ISSOCK is defined
- in posixstat.h
- - run_startup_files calls issock to see whether or not to run
- the .bashrc
-
-input.c
- - include general.h for declarations of xmalloc, xrealloc
-
-lib/tilde/tilde.c, lib/tilde/tilde.h
- - tilde_expansion_failure_hook is now a pointer to a CPFunction,
- since that's how it's used
-
-lib/readline/history.c
- - include <string.h> or <strings.h> as appropriate
-
- 8/29
- ----
-machines.h
- - avoid `M_MACHINE redefined' messages in the hpux description
-
- 8/30
- ----
-jobs.h
- - added #defines for sigfillset, sigdelset, and sigismember to fill
- out the Posix.1 signal functions
-
-general.h
- - add an extern declaration for getwd()
-
-general.c
- - NeXT machines already have a vfree() with a declaration in stdlib.h,
- so don't define our vfree() on those systems
-
-cpp-Makefile
- - NeXT machines don't have a link to `gcc', so make sure that
- HAVE_GCC is not defined on those machines, even if __GNUC__ is
-
-lib/readline/readline.h, lib/readline/complete.c
- - rl_attempted_completion_function is now declared as a pointer to
- a CPPFunction, since that's how it is used
-
-bashline.c, bracecomp.c
- - fixed assignments to rl_attempted_completion_function, since it's
- now a pointer to a CPPFunction
-
-lib/readline/keymaps.h
- - fleshed out declarations of function types inside __FUNCTION_DEF
- macro to match other files
-
-lib/readline/readline.h
- - removed typedefs for function pointer types, since they are now
- declared in keymaps.h
-
- 8/31
- ----
-
-lib/readline/complete.c
- - if there is more than one match, don't quote the replacement
- text unless the matching prefix has a word break character. The
- old code quoted the replacement if any of the possible replacements
- had a word break character
-
-builtins/alias.def
- - fixed memory leak -- free the array returned by all_aliases when
- alias is called without arguments
-
-builtins/read.def
- - fixed memory leak -- need to free return value from
- string_list_dollar_star
-
-builtins/fc.def
- - fixed memory leak -- need to free return value from fc_readline
-
-builtins/hash.def
- - fixed memory leak -- need to free return value from
- find_user_command
-
-builtins/alias.def
- - fixed memory leak -- remove_alias needs to free the key in the
- hash table entry it deletes
-
-execute_cmd.c
- - fixed memory leak in find_user_command_in_path: if we're not
- returning full_path, we need to free it
-
-lib/readline/bind.def
- - fixed memory leak -- need to free the returned arrays from
- recursive calls to invoking_keyseqs_in_map
-
- 9/1
- ---
-builtins/bind.def
- - return failure immediately if no_line_editing is set
-
-builtins/shift.def
- - fixed memory leak -- make sure all of the word list element from
- rest_of_args is freed when shifting it into dollar_vars[9]
-
-builtins/hash.def
- - fixed memory leak -- only need to save the key for a particular
- hash item once in remember_filename
-
-expr.c
- - fixed memory leak -- free `tokstr' after performing the assignment
- statement and before assigning to it with savestring
-
-execute_cmd.c
- - fixed memory leak -- need to free the copy of the command line
- passed to make_child in execute_disk_command if the command is
- not found
-
-lib/readline/display.c
- - fixed call to tgoto in delete_chars -- caused the delete to fail
- when using term_DC on some systems
-
-[code made available via ftp -- first redistributable version]