| 4/9/2001 |
| -------- |
| [bash-2.05 released] |
| |
| 4/10 |
| ---- |
| redir.c |
| - check return value of fclose() in write_here_document() for error |
| returns; don't just rely on fwrite() failing |
| |
| support/bashbug.sh |
| - set TMPDIR to /tmp if it's null or unset |
| - use $TMPDIR in the TEMP tempfile name template |
| - fixed the call to `mktemp', if it exists, to make it more portable |
| |
| jobs.c |
| - if WCONTINUED is not defined, define it to 0 and add a define for |
| WIFCONTINUED(wstatus) which expands to 0 |
| - add WCONTINUED to the flags passed to waitpid(2) in waitchld() |
| - don't increment children_exited if waitpid's status is WIFCONTINUED, |
| since we don't want to call a SIGCHLD trap handler in this case |
| - in waitchld(), we set child->running to 1 if WIFCONTINUED(status) |
| is non-zero |
| - make sure pretty_print_job doesn't check for the core dump bit if |
| the process has been continued; it's only valid if the job is dead |
| - in set_job_status_and_cleanup, set the job to JRUNNING if job_state |
| is non-zero and the job was previously marked as JSTOPPED |
| |
| configure.in |
| - add -DBROKEN_DIRENT_D_INO to interix LOCAL_CFLAGS |
| |
| lib/glob/glob.c |
| - if BROKEN_DIRENT_D_INO is defined, define REAL_DIR_ENTRY to 1 |
| |
| jobs.c |
| - in kill_pid, we only need to block and unblock SIGCHLD if the |
| `group' argument is non-zero, since otherwise we just call `kill' |
| on the pid argument |
| |
| version.c |
| - update copyright date to 2001 |
| |
| bashline.c |
| - prog_complete_return needs to take a `const char *' as its first |
| argument |
| - history_completion_generator needs to take a `const char *' as |
| its first argument, and `text' needs to be a `const char *' |
| |
| 4/11 |
| ---- |
| redir.c |
| - fixed a weird typo in redir_special_open, case RF_DEVFD, added |
| call to all_digits before call to legal_number |
| - fixed do_redirection_internal to call legal_number instead of atol(3) |
| when translating r_duplicating_{in,out}put_word, so it handles |
| overflow better |
| - produce an error message in redirection_error for out-of-range |
| file descriptors |
| - change allocation strategy in redirection_error so we don't have to |
| malloc scratch memory if redirection_expand() fails |
| |
| jobs.h |
| - added defines for `running' member of a struct process |
| |
| general.c |
| - fix legal_number to return 0 when strtol(3) reports overflow or |
| underflow |
| |
| parse.y |
| - changed read_token_word to call legal_number instead of atoi(3) |
| |
| input.c |
| - return -1/EBADF from close_buffered_fd if fd is < 0 |
| |
| command.h |
| - fixed bogus comment about IS_DESCRIPTOR in description of the |
| REDIRECTEE struct |
| |
| print_cmd.c |
| - change cprintf's 'd' modifier code to display negative numbers as |
| an out-of-range value. We can do this only because the only use |
| of %d is to output file descriptor numbers in redirections |
| |
| support/mksignames.c |
| - need to include config.h to get a possible value for |
| UNUSABLE_RT_SIGNALS |
| |
| 4/16 |
| ---- |
| lib/readline/doc/rluser.texinfo |
| - corrected a small error in one description of M-DEL |
| |
| 4/17 |
| ---- |
| stringlib.c |
| - need to initialize `ind' before calls to RESIZE_MALLOCED_BUFFER |
| in strcreplace() |
| |
| support/bashversion.c |
| - new file, prints bash version information |
| |
| Makefile.in |
| - rules for building bashversion and linking it to version.o |
| |
| 4/24 |
| ---- |
| conftypes.h |
| - new file with HOSTTYPE, OSTYPE, MACHTYPE, etc. defines from |
| variables.h |
| |
| variables.h, version.c |
| - include conftypes.h |
| |
| patchlevel.h |
| - new file, contains define for PATCHLEVEL. Doing away with the old |
| scheme of having the information in configure.in |
| |
| version.c |
| - include patchlevel.h |
| |
| Makefile.in |
| - run bashversion -p to find patch level rather than have configure |
| substitute in a value |
| - pass -S ${top_srcdir} to support/mkversion.sh |
| |
| support/mkversion.sh |
| - don't put PATCHLEVEL define into version.h, but accept and ignore |
| a -p option |
| - take a new -S srcdir option |
| - find the patch level by parsing it out of patchlevel.h |
| |
| configure.in |
| - hard-code BASHVERS assignment instead of reading it from a file |
| - remove BASHPATCH; don't substitute it |
| |
| _distribution,_patchlevel |
| - removed |
| |
| 4/26 |
| ---- |
| shell.c |
| - call init_noninteractive() in open_shell_script if forced_interactive |
| is non-zero (the shell was started with -i) and fd_is_tty is 0 |
| (the script file is a real file, not something like /dev/stdin), |
| since it wasn't done earlier |
| |
| builtins/printf.def |
| - change for POSIX.2 compliance when conversion errors are encountered |
| when processing %d, %u, and floating point conversion operators |
| (print a warning message, return the value accumulated at the time |
| of the error -- which is always 0 -- and exit with a non-zero status) |
| |
| command.h |
| - added CMD_COMMAND_BUILTIN for use by the `command' builtin and the |
| code in execute_cmd.c |
| |
| builtins/command.def |
| - add CMD_COMMAND_BUILTIN to the created command's flags |
| |
| 5/1 |
| --- |
| configure.in |
| - add call to AC_C_CONST to test `const' compiler behavior |
| - add call to AC_C_INLINE to test `inline' compiler behavior |
| - add call to AC_C_STRINGIZE to test cpp #x stringizing operator |
| |
| config.h.in |
| - add `#undef const' for configure to substitute |
| - add `#undef inline' for configure to substitute |
| - add `#undef HAVE_STRINGIZE' for configure to substitute |
| |
| include/stdc.h |
| - remove code that defines or undefines `const' and `inline' |
| - change the __STRING macro to be defined depending on the value |
| of HAVE_STRINGIZE |
| |
| lib/malloc/malloc.c |
| - change the __STRING macro to be defined depending on the value |
| of HAVE_STRINGIZE |
| |
| lib/readline/{readline,rlprivate}.h |
| - moved rl_get_termcap to readline.h, making it a public function |
| |
| lib/readline/readline.h |
| - new #define, RL_READLINE_VERSION, hex-encoded library version |
| number, currently set to 0x0402 |
| - new public int variable, rl_readline_version |
| |
| lib/readline/readline.c |
| - #define RL_READLINE_VERSION if it is not already defined (which it |
| should be in readline.h) |
| - initialize rl_readline_version to RL_READLINE_VERSION |
| |
| lib/readline/doc/rltech.texinfo |
| - documented rl_get_termcap |
| - documented rl_readline_version |
| |
| jobs.c |
| - job_exit_status should return an int, not a WAIT (undetected |
| before because on most POSIX-like systems a WAIT is really an int) |
| |
| builtins/evalfile.c |
| - added FEVAL_REGFILE (file must be a regular file) to accepted |
| _evalfile flags |
| - fc_execute_file() adds FEVAL_REGFILE to _evalfile flags. This |
| means that startup files and files read with `.' no longer need |
| to be regular files |
| |
| 5/2 |
| --- |
| |
| lib/termcap/Makefile.in |
| - fix target for installed termcap library (normally unused) |
| |
| lib/tilde/Makefile.in |
| - fix install target to install in $(libdir) (normally unused) |
| |
| Makefile.in |
| - don't make $(man3dir) since there's nothing installed there |
| |
| Makefile.in,doc/Makefile.in |
| - change `man1ext' to `.1', `man3ext' to `.3' |
| - change appropriate install targets to use new values of man[13]ext |
| - use `test ...' instead of `[...]' |
| - add support for DESTDIR root installation prefix, for package |
| building (installdirs, install, install-strip, uninstall targets) |
| |
| builtins/common.c |
| - new function int get_exitstat(WORD_LIST *list) returns an eight-bit |
| exit status value for use in return, exit, logout builtins |
| |
| builtins/common.h |
| - extern declaration for get_exitstat() |
| |
| builtins/{exit,return}.def |
| - call get_exitstat where appropriate |
| |
| builtins/printf.def |
| - add support for "'" flag character as posix 1003.2-200x d6 says |
| - fix core dump when user-supplied field width or precision is 0 |
| - fix to printstr() to handle zero-length precision with `%b' format |
| specifier (printf '%.0b-%.0s\n' foo bar) |
| - fix to printstr() to treat a negative field width as a positive |
| field width with left-justification |
| - fix to mklong to avoid static buffers, which can always be overrun |
| by someone sufficiently motivated |
| |
| bashline.c |
| - change var in add_host_name to type `size_t' for passing to xrealloc |
| |
| 5/3 |
| --- |
| execute_cmd.c |
| - change restore_signal_mask to accept a sigset_t *, since a sigset_t |
| may not fit into a pointer, change call |
| |
| unwind_prot.c |
| - use a union UWP in restore_variable when restoring a variable whose |
| size is the same as sizeof(int), the reverse of the method used to |
| store it in unwind_protect_int |
| |
| builtins/printf.def |
| - use a #define LENMODS containing the length modifiers instead of |
| testing against each possible modifier character, save any mod |
| character found |
| - add support for ISO C99 length specifiers `j', `t', and `z' |
| - if `L' modifier is supplied with a floating point conversion char, |
| pass a `long double' to printf if HAVE_LONG_DOUBLE is defined |
| |
| configure.in,config.h.in |
| - call AC_C_LONG_DOUBLE to check for `long double'; define |
| HAVE_LONG_DOUBLE if supported |
| |
| bashline.c |
| - fix an inadvertantly-unclosed comment in attempt_shell_completion |
| - make set_saved_history return a value |
| - make dynamic_complete_history return a useful value |
| |
| {make_cmd,execute_cmd,shell,subst,trap,variables,input,unwind_prot,test, |
| pcomplete}.c |
| - removed some declared-but-unused variables |
| |
| builtins/{cd,enable,fc,set,setattr,type,umask,printf,complete}.def |
| - removed some declared-but-unused variables |
| |
| lib/sh/{zread,netopen}.c |
| - removed some declared-but-unused variables |
| |
| execute_cmd.c |
| - in execute_arith_command, use a long variable to hold the result |
| of evalexp(), since that's what it returns |
| |
| builtins/evalstring.c |
| - make cat_file return -1 on a read or write error |
| |
| lib/sh/stringlib.c |
| - make merge_stringlists() return the right value |
| |
| 5/7 |
| --- |
| pcomplete.c |
| - remove typo that caused empty declaration (;;) |
| |
| parse.y |
| - fix yyerror() to accept a single string argument; fix callers |
| |
| trap.c |
| - cast pointer to long instead of int when printing message with |
| internal_warning() in run_pending_traps() |
| |
| subst.c |
| - fix process_substitute to handle stdin being closed |
| |
| test.c |
| - change `while' to `if' in and() and or(), since the loop isn't |
| actually performed -- there's an unconditional `return' in the |
| loop body |
| - check for integer overflow of arguments to `-t' |
| |
| lib/sh/netopen.c |
| - change _getserv() to reject negative port/service numbers |
| |
| expr.c |
| - fix strlong() to not convert the base specification from long to |
| int before checking for overflow, since truncation on machines |
| where sizeof(int) != sizeof(long) may mask errors |
| |
| builtins/{jobs,kill,wait}.def |
| - use legal_number instead of atoi when converting strings to pid_t; |
| check for numeric overflow |
| |
| input.c |
| - fix for cygwin in b_fill_buffer -- off-by-one error when checking |
| buffer for \r\n termination |
| |
| general.h |
| - new #define INT_STRLEN_BOUND(t), computes max length of string |
| representing integer value of type T, possibly including a sign |
| character |
| - include <limits.h> if it's present |
| |
| {execute_cmd,findcmd,test}.c |
| - don't include <limits.h>, since general.h does it now |
| |
| {execute_cmd,lib/sh/itos,pcomplete,print_cmd,subst,variables}.c |
| - use INT_STRLEN_BOUND instead of static array sizes when converting |
| various strings to integer values |
| |
| shell.h |
| - struct fd_bitmap now uses an `int' size, since it's bounded by |
| the number of file descriptors, which must fit into an `int' |
| |
| execute_cmd.c |
| - FD_BITMAP_DEFAULT_SIZE is now 32, not 32L |
| - new_fd_bitmap takes an `int' size parameter, not a `long' |
| |
| execute_cmd.h |
| - change prototype for new_fd_bitmap() |
| |
| test.c |
| - fix test_stat to check for overflow when parsing the integer file |
| descriptor number; return ENOENT instead of EBADF for files that |
| are not open |
| |
| hashlib.c |
| - don't discard the upper 32 bits of the random value, if present |
| |
| lib/readline/shell.c |
| - use the same INT_STRLEN_BOUND mechanism to decide how much space to |
| allocated in sh_set_lines_and_columns |
| |
| 5/8 |
| --- |
| aclocal.m4 |
| - add check for libtinfo (termcap-specific portion of ncurses-5.2) to |
| BASH_CHECK_LIB_TERMCAP |
| - new macro, RL_LIB_READLINE_VERSION, checks version of installed |
| readline library and (optionally) writes version #defines to |
| config.h. Bash doesn't use the version defines |
| |
| configure.in |
| - call RL_LIB_READLINE_VERSION instead of support/rlvers.sh |
| |
| execute_cmd.c |
| - fix execute_shell_script and the WHITECHAR and STRINGCHAR macros |
| to check array bounds before indexing into the sample string |
| |
| unwind_prot.[ch] |
| - import new versions submitted by Paul Eggert <eggert@twinsun.com> |
| with a couple of changes for backwards compatibility, so the rest |
| of the source doesn't need to be changed yet |
| |
| jobs.c |
| - use unwind_protect_var on last_made_pid in run_sigchld_trap |
| |
| builtins/bind.def |
| - use unwind_protect_var on rl_outstream |
| |
| general.c |
| - rework print_rlimtype to use INT_STRLEN_BOUND and handle the |
| most negative number correctly |
| |
| expr.c |
| - `tokval' should have been a `long', since all arithmetic is done |
| as longs |
| |
| builtins/history.def |
| - consolidate tests for valid history position in one block to |
| avoid duplicate code and strings |
| |
| builtins/ulimit.def |
| - fix check for overflow when setting limit to work when int is 32 |
| bits and RLIMTYPE is 64 |
| |
| lib/sh/tmpfile.c |
| - don't truncate the result of time(3) to int; just use time_t, |
| since it's being assigned to an `unsigned long' |
| |
| mailcheck.c |
| - use legal_number instead of atoi in time_to_check_mail() to catch |
| more numeric errors; consolidate error checking in one block |
| - last_time_mail_checked should be a time_t |
| |
| 5/9 |
| --- |
| builtins/set.def |
| - recognize `set [-+]o nolog' if HISTORY is defined |
| |
| bashline.c |
| - new variable `dont_save_function_defs', set by `set -o nolog'; |
| currently ignored |
| |
| command.h |
| - the `dest' member of a REDIRECTEE is now an `int' |
| |
| parse.y,redir.c |
| - changed uses of `redir.test' (where redir is a REDIRECTEE) since |
| it's now an int |
| |
| lib/readline/rlstdc.h |
| - don't mess around with `const', rely on configure to supply a |
| proper definition if the compiler doesn't support it |
| |
| lib/tilde/tilde.h |
| - include <config.h> if HAVE_CONFIG_H is defined |
| - don't mess around with `const', rely on configure |
| |
| builtins/shopt.def |
| - new read-only `shopt' option, login_shell, non-zero if shell is a |
| login shell (as decided by shell.c) |
| - new function set_login_shell(), sets shopt private value of |
| login_shell |
| |
| builtins/common.h |
| - new extern declaration for set_login_shell |
| |
| shell.c |
| - call set_login_shell after setting value of login_shell (in |
| main() and set_shell_name()) |
| |
| parse.y |
| - added new `\A' prompt string escape sequence: time in 24-hour |
| HH:MM format |
| |
| configure.in, config.h.in |
| - check for <grp.h>, define HAVE_GRP_H if found |
| |
| builtins/complete.def |
| - add new `-A group/-g' option to complete group names |
| |
| pcomplete.h |
| - new define for CA_GROUP, used with group name completion |
| |
| pcomplete.c |
| - add code to support CA_GROUP group name completion |
| |
| bashline.c |
| - new function, bash_groupname_completion_function(), supports |
| programmable completion of group names |
| |
| bashline.h |
| - extern declaration for bash_groupname_completion_function |
| |
| lib/readline/bind.c |
| - new inputrc variable, `match-hidden-files', controls completion |
| matching files beginning with a `.' (on Unix) |
| |
| lib/readline/complete.c |
| - new variable, _rl_match_hidden_files, mirrors `match-hidden-files' |
| inputrc variable |
| |
| lib/readline/rlprivate.h |
| - extern declaration for _rl_match_hidden_files |
| |
| builtins/hash.def |
| - new `-t' option to list hash values for each filename argument |
| |
| builtins/read.def |
| - alarm(3) takes an `unsigned int' argument, not int |
| - check for arithmetic overflow with -t and -n options |
| |
| input.c |
| - check for read error before doing \r\n translation on cygnus in |
| b_fill_buffer |
| - reset bp->b_used to 0 instead of leaving it at -1 on read error |
| in b_fill_buffer |
| |
| builtins/shopt.def |
| - new functions, shopt_setopt(name, mode) and |
| shopt_listopt(name, mode) to give the rest of the shell an easy |
| interface |
| |
| builtins/common.h |
| - extern declarations for shopt_setopt and shopt_listopt |
| |
| shell.c |
| - new invocation options -O and +O, to list or set/unset shopt |
| options like +o/-o sets and unsets `set -o' options |
| |
| doc/{bash.1,bashref.texi} |
| - document `set -o nolog' |
| - document `login_shell' shopt option |
| - document new `\A' prompt string escape sequence |
| - document new `-t' option to `hash' |
| - document new `[+-]O' invocation option |
| |
| doc/bashref.texi |
| - add text to `Invoking Bash' section defining a login shell; text |
| taken from man page |
| |
| doc/bash.1, lib/readline/doc/rluser.texinfo |
| - documented new complete/compgen `-A group/-g' option |
| |
| lib/readline/doc/{rluser.texinfo,readline.3}, doc/bash.1 |
| - documented new `match-hidden-files' inputrc variable |
| |
| 5/10 |
| ---- |
| configure.in |
| - fix AC_CHECK_PROG(ar, ...) |
| - add AC_CHECK_TYPE for ssize_t |
| |
| config.h.in |
| - new #undef for ssize_t |
| |
| lib/sh/zread.c |
| - int -> ssize_t fixes to mirror modern declarations of read and write |
| - the `off' variable in zsyncfd should be an off_t since it computes |
| a file offset |
| - the local buffer `lbuf' is now char, since it's not nice to pass |
| unsigned char * to read(2), and the values from it are assigned to |
| a char anyway |
| - lind and lused are now size_t, since they index into a buffer |
| - set lused to 0 on read error |
| |
| lib/sh/zwrite.c |
| - change second argument to type `char *', since ISO C says you have |
| to pass a `char *' to `write' |
| |
| externs.h |
| - fix extern declarations of zread, zread1, zreadc, and zwrite |
| - prototype extern declaration of qsort_string_compare |
| - add extern declaration for history_delimiting_chars() from parse.y |
| |
| input.h |
| - b_used and b_inputp members ofr struct BSTREAM are now size_t |
| |
| builtins/evalstring.c |
| - the number of chars read with zread in cat_file should be assigned |
| to a variable of type ssize_t |
| |
| input.c |
| - the number of chars read with zread in b_fill_buffer should be |
| assigned to a variable of type ssize_t |
| - `localbuf' is now type char[], since POSIX says you shouldn't pass |
| unsigned char * to read(2) |
| - in getc_with_restart(), use a variable of type unsigned char to |
| get a value from the local buffer and return it |
| - in ungetc_with_restart, explicitly return the character arg passed |
| to avoid relying on localbuf being unsigned char |
| |
| subst.c |
| - the number of chars read with zread in read_comsub should be |
| assigned to a variable of type ssize_t |
| |
| mksyntax.c |
| - instead of casting to unsigned char * in addcstr, use a variable |
| of type unsigned char and let the compiler do the work |
| |
| parse.y |
| - instead of casting to unsigned char * in yy_readline_get, use a |
| variable of type unsigned char and let the compiler do the work |
| - ditto for yy_string_get and shell_getc (cast to unsigned char) |
| |
| subst.c |
| - instead of casting to unsigned char when assigning to ifscmap in |
| expand_word_internal, use a variable of type unsigned char and |
| let the compiler do the work |
| |
| lib/sh/strtrans.c |
| - instead of casting to unsigned char in ansic_quote, use a variable |
| of type unsigned char and let the compiler do the work |
| |
| builtins/evalstring.c |
| - remove extern declarations for zwrite and run_trap_cleanup; they're |
| in externs.h |
| - prototype cat_file forward declaration |
| |
| Makefile.in |
| - remove -I$(includedir) from INCLUDES and SUBDIR_INCLUDES |
| |
| aclocal.m4 |
| - change RL_LIB_READLINE_VERSION to set RL_PREFIX, RL_LIBDIR, |
| and RL_INCLUDEDIR to what it used to test the installed readline |
| library version for use by the caller |
| - change RL_LIB_READLINE_VERSION to not compute ac_cv_rl_prefix if |
| the caller has already assigned it a value |
| - rename _rl_prefix -> ac_cv_rl_prefix, _rl_libdir -> ac_cv_rl_libdir, |
| _rl_includedir -> ac_cv_rl_includedir |
| |
| configure.in |
| - change testing of whether to use the value of |
| $opt_with_installed_readline to be != no, to allow the user to |
| specify a prefix where the installed readline library may be found |
| - if --with-installed-readline=PREFIX is supplied, set ac_cv_rl_prefix |
| to PREFIX before calling RL_LIB_READLINE_VERSION |
| - if --with-installed-readline[=PREFIX] is supplied, don't set |
| RL_LIBDIR and RL_INCLUDEDIR; let RL_LIB_READLINE_VERSION take care |
| of it, set RL_INCLUDE=-I${RL_INCLUDEDIR} |
| - if --with-installed-readline[=PREFIX] is supplied, and we're |
| linking with the history library, assign $RL_LIBDIR to HIST_LIBDIR |
| so we use the same version of the installed readline and history |
| libraries |
| |
| Makefile.in, builtins/Makefile.in |
| - have configure substitute RL_INCLUDEDIR, set RL_INCLUDEDIR variable |
| |
| doc/bashref.texi |
| - updated description of --with-installed-readline configure option |
| |
| general.c |
| - moved QSFUNC typedef here from builtins/common.c |
| |
| {alias,bashline,variables,lib/sh/stringvec}.c |
| - cast fourth argument to qsort to (QSFUNC *) |
| |
| alias.c |
| - prototype forward declaration of qsort_alias_compare |
| |
| bashhist.c |
| - include <glob/glob.h> for extern declaration of glob_pattern_p |
| - remove extern declaration of history_delimiting_chars; it's now |
| in externs.h |
| - prototype forward declarations of histignore_item_func, |
| maybe_add_history, and bash_add_history |
| |
| bracecomp.c |
| - remove extern declaration for sh_backslash_quote; it's in externs.h |
| |
| braces.c |
| - remove extern declaration for extract_command_subst; it's in subst.h |
| - prototype forward declarations for expand_amble, array_concat, and |
| brace_gobbler |
| |
| error.c |
| - prototype extern declaration of give_terminal_to, fix bad call |
| |
| {execute_cmd,expr,findcmd,jobs,mailcheck,nojobs,pcomplete,print_cmd,redir, |
| shell}.c |
| - prototype all static forward function declarations |
| |
| pcomplete.c |
| - changed some function parameters to `const char *' to avoid discarding |
| const qualifier |
| |
| make_cmd.c |
| - make_bare_word, make_word_flags, and make_word now take a |
| `const char *' string argument |
| |
| make_cmd.h |
| - changed extern declarations for make_bare_word and make_word |
| |
| print_cmd.c |
| - cprintf now takes a `const char *' as its first argument, like |
| xprintf and printf |
| - the conditional define for xprintf should have been HAVE_VPRINTF, |
| not HAVE_VFPRINTF |
| |
| shell.c |
| - in isnetconn(), the return value of sizeof() is size_t |
| |
| aclocal.m4 |
| - add inclusion of stddef.h if STDC_HEADERS is defined to 1 in |
| BASH_CHECK_TYPE |
| |
| configure.in |
| - add a call to BASH_CHECK_TYPE for socklen_t (type of third argument |
| to getpeername(2)) |
| |
| 5/11 |
| ---- |
| lib/readline/bind.c |
| - make `useq' a char array to pass to rl_macro_bind in |
| rl_parse_and_bind |
| |
| lib/readline/{{bind,isearch}.c,rlprivate.h} |
| - _rl_isearch_terminators is now a char *, not unsigned char * |
| |
| {subst,variables,lib/sh/tmpfile}.c |
| - dollar_dollar_pid is now a `pid_t' instead of `int' |
| |
| variables.c |
| - sbrand() now takes an `unsigned long' to set the seed value |
| - changed last_random_value to type int, since it's always between |
| 0 and 32767 |
| - use strtoul to convert the value in assign_random instead of atoi |
| - take out casts in any arguments to sbrand() |
| - take out cast to int in call to inttostr in set_ppid() |
| |
| subst.c |
| - don't cast last_asynchronous_pid when passing to itos() |
| |
| {sig,subst}.c |
| - prototype all static forward function declarations |
| |
| 5/14 |
| ---- |
| {test,trap,variables}.c |
| - prototype all static forward function declarations |
| |
| variables.c |
| - free_variable_hash_data() now takes a PTR_T, a `generic pointer' |
| |
| builtins/{alias,bind,break,cd,complete,declare,enable,exit,fc,fg_bg,help, |
| history,jobs,pushd,read,set,trap,umask, |
| - prototype all static forward function declarations |
| |
| builtins/read.def |
| - reset_eol_delim now takes a `char *' arg, since that's what the |
| unwind_protect functions pass it, and it ignores its arguments |
| anyway |
| |
| lib/readline/{histsearch,input,kill,rltty,search,vi_mode}.c |
| - prototype all static forward function declarations |
| |
| lib/tilde/tilde.c |
| - prototype all static forward function declarations |
| - tilde_find_prefix, tilde_find_suffix, isolate_tilde_prefix, and |
| glue_prefix_and_suffix now take `const char *' arguments where |
| appropriate |
| |
| configure.in,config.h.in |
| - check for vsnprintf, define HAVE_VSNPRINTF if found |
| |
| lib/readline/display.c |
| - use vsnprintf() in rl_message if it's available; if we don't, at |
| least set the last character in msg_buf to 0 to avoid overrun -- |
| we really can't do anything about overflow at this point. if it's |
| available, this fixes buffer overflow problems in rl_message |
| |
| 5/15 |
| ---- |
| lib/readline/histexpand.c |
| - in get_history_word_specifier, allow any character to terminate |
| a `:first-' modifier, not just `:' and null. This is what csh |
| appears to do. This allows things like `!:0- xyzzy' to replace the |
| last argument with xyzzy |
| |
| 5/18 |
| ---- |
| configure.in, config.h.in |
| - check for <stdint.h>, define HAVE_STDINT_H if found |
| - check for intmax_t in <stdint.h>, define intmax_t as long if not |
| found |
| |
| 5/21 |
| ---- |
| builtins/kill.def |
| - change to use strerror() for error message when kill(2) fails |
| |
| aclocal.m4 |
| - new macro, BASH_C_LONG_LONG, check for `long long' |
| |
| configure.in, config.h.in |
| - call BASH_C_LONG_LONG, define HAVE_LONG_LONG if found |
| |
| lib/sh/snprintf.c |
| - new file, with implementations of snprintf, vsnprintf, asprintf, |
| and vasprintf, derived from inetutils version |
| |
| Makefile.in, lib/sh/Makefile.in |
| - add snprintf.c/snprintf.o |
| |
| configure.in, config.h.in |
| - add checks for snprintf, asprintf, vasprintf, with appropriate |
| cpp defines |
| |
| lib/readline/{rldefs,xmalloc}.h, lib/readline/xmalloc.c |
| - xmalloc and xrealloc now take `size_t' arguments, like their bash |
| counterparts |
| |
| externs.h,lib/sh/itos.c |
| - inttostr and itos now take `long' arguments |
| - inttostr takes a `size_t' argument for the buffer size |
| |
| {expr,lib/malloc/malloc,variables,general}.c |
| - fixed calls to itos() by removing casts, etc. |
| |
| subst.[ch] |
| - get_dollar_var_value now takes a long, not an int |
| - sub_append_number now takes a long, not an int |
| |
| subst.c |
| - in parameter_brace_expand_word, use a long and legal_number to |
| translate ${N}, to avoid overflow |
| - in parameter_brace_expand_length, use a long and legal_number to |
| translate ${#N}, to avoid overflow |
| - in do_array_element_assignment, array_expand_index, |
| array_value_internal, use arrayind_t instead of int |
| - let verify_substring_values take long * arguments for the return |
| value of evalexp() |
| - pass long * arguments to verify_substring_values in |
| parameter_brace_substring |
| - parameter_brace_expand_length now returns `long' |
| - parameter_brace_expand now uses a long variable for the return |
| value of parameter_brace_expand_length |
| - param_expand now uses a long variable for the return value from |
| evalexp |
| - array_length reference now returns an `arrayind_t', since it can |
| return the num_elements member of an array, which is of type |
| arrayind_t |
| |
| subst.h |
| - array_expand_index now returns an `arrayind_t' |
| |
| array.[ch] |
| - array_subrange now takes arrayind_t arguments, not `int' |
| - dup_array_subrange now uses arrayind_t local variable to do |
| array indexing |
| - use long to print array indices in print_element |
| |
| variables.c |
| - null_array_assign, assign_dirstack, bind_array_variable |
| now take arrayind_t arguments as array indices |
| - assign_array_var_from_word_list, assign_array_var_from_string, |
| unbind_array_element now use arrayind_t local variables for |
| array indexing |
| |
| variables.h |
| - change extern declaration of bind_array_variable |
| |
| builtins/common.[ch] |
| - get_numeric_arg now returns a `long', since it usually returns |
| the value of legal_number() |
| |
| builtins/{shift,break}.def |
| - use long variables for the return value of get_numeric_arg |
| |
| builtins/history.def |
| - convert string argument to int only if it's in range |
| |
| builtins/pushd.def |
| - set_dirstack_element and get_dirstack_element now take `long' |
| index arguments |
| - get_dirstack_index now takes a `long' index argument, since it's |
| passed the converted value from legal_number |
| |
| lib/sh/timeval.c |
| - in print_timeval, don't assume that the number of minutes fits into |
| an int, since it's just seconds/60. |
| |
| lib/sh/clock.c |
| - ditto for print_clock_t |
| |
| 5/22 |
| ---- |
| shell.c |
| - since the -O option settings may possibly be overridden by the |
| normal shell initialization or posix initialization, save the |
| invocation options on an alist (with add_shopt_to_alist) and |
| process them after basic initialization (with run_shopt_alist) |
| |
| 5/23 |
| ---- |
| trap.h |
| - new define, BASH_NSIG, all system signals plus special bash traps |
| |
| trap.c, builtins/trap.def |
| - use BASH_NSIG for array bounds and loops where appropriate |
| |
| trap.c |
| - change decode_signal to disallow numeric signal numbers above |
| NSIG -- this means you can only reference special traps like |
| DEBUG by name |
| - new SPECIAL_TRAP(s) macro to test whether s is one of the special |
| bash traps (currently DEBUG and EXIT) |
| - change reset_or_restore_signal_handlers so command substitution |
| doesn't inherit the debug trap (like ksh93), and child processes |
| don't have to rely on initialize_traps being run to get rid of |
| any debug trap |
| |
| support/mksignames.c |
| - add extra "ERR" signal name, value NSIG+1, allocate space for it |
| and write it out in signal_names[] |
| |
| trap.h |
| - new define: ERROR_TRAP == NSIG+1, change BASH_NSIG to NSIG+2 |
| - extern declarations for set_error_trap, run_error_trap |
| - new define: TRAP_STRING(s), expands to trap_list[s] if signal S |
| is trapped and not ignored, NULL otherwise |
| |
| trap.c |
| - add ERROR_TRAP to SPECIAL_TRAPS define |
| - initialize ERROR_TRAP stuff in initialize_traps |
| - new function: set_error_trap(command), sets the ERR trap string |
| - new function: run_error_trap(command), runs the ERR trap string |
| - set trap string for ERROR_TRAP to NULL in free_trap_strings |
| - change reset_or_restore_signal_handlers so child processes don't |
| inherit the ERR trap |
| - add case to call run_error_trap in maybe_call_trap_handler |
| |
| execute_cmd.c |
| - in execute_command_internal, keep track of ERR trap and call it if |
| necessary |
| - use TRAP_STRING to get the value of debug and error traps |
| - in execute_function, arrange things so the ERR trap is not inherited |
| by shell functions, and is saved and restored like the DEBUG trap |
| |
| doc/{bash.1,bashref.texi} |
| - documented new ERR trap |
| |
| tests/{trap.{tests,right},trap2.sub,trap2a.sub} |
| - added ERR trap tests |
| |
| subst.c |
| - on machines without /dev/fd, change the named pipe fifo list to a |
| list of structs containing pathname and proc information |
| - change unlink_fifo_list to kill the proc in the fifo list with |
| signal 0 and not remove the fifo if the proc is still alive. This |
| should fix the problem on those backward systems without /dev/fd |
| where fifos were removed when a job using process substitution was |
| suspended |
| |
| 5/24 |
| ---- |
| examples/loadables/getconf.h |
| - new file, with basic defines needed to make getconf work minimally |
| on POSIX systems without the necessary definitions |
| |
| examples/loadables/getconf.c |
| - replacement functions for confstr, sysconf, pathconf for systems |
| that lack them, providing a minimal posix interface |
| - heavily augmented getconf, now supports all POSIX.1-200x, |
| POSIX.2-200x, Solaris 7, AIX 4.2 getconf variables |
| |
| 5/29 |
| ---- |
| builtins/setattr.def |
| - make `readonly', `export', and `declare' print `invisible' variables |
| as just a command and variable name, without a value, when listing |
| all variables (as POSIX.2-200x d6 requires) |
| |
| 5/30 |
| ---- |
| |
| configure.in |
| - upgraded to autoconf-2.50 on main development machine, so require |
| autoconf-2.50 in preparation for using some if its new features |
| - call AC_C_PROTOTYPES |
| - remove call to AC_EXEEXT, which now does the wrong thing |
| - changed AC_INIT to new flavor |
| - added call to AC_CONFIG_SRCDIR |
| - AC_CONFIG_HEADER -> AC_CONFIG_HEADERS |
| - AC_RETSIGTYPE -> AC_TYPE_SIGNAL |
| |
| configure.in, aclocal.m4, config.h.in |
| - removed call to BASH_LARGE_FILE_SUPPORT, use AC_SYS_LARGEFILE |
| standard support, with new macros _FILE_OFFSET_BITS and |
| _LARGE_FILES |
| - removed definition of BASH_LARGE_FILE_SUPPORT |
| |
| doc/bashref.texi |
| - document new `--enable-largefile' configure option |
| |
| lib/readline/readline.c |
| - change rl_set_prompt to call rl_expand_prompt unconditionally, so |
| local_prompt and local_prompt_prefix get set correctly |
| |
| 6/6 |
| --- |
| lib/readline/complete.c |
| - don't append `/' or ` ' to a match when completing a symlink that |
| resolves to a directory, unless the match doesn't add anything |
| to the word. This means that a tab will complete the word up to |
| the full name, but not add anything, and a subsequent tab will add |
| a slash. Change to append_to_match; callers changed |
| |
| hashlib.c |
| - new function, hash_table_nentries (table), returns the number of |
| items in TABLE |
| |
| hashlib.h |
| - extern declaration for hash_table_nentries |
| |
| configure.in |
| - configure without bash malloc on openbsd; they claim it needs |
| eight-bit alignment (which the bash malloc provides, but...) |
| |
| 7/2 |
| --- |
| stringlib.c |
| - only call RESIZE_MALLOCED_BUFFER from strsub() if the replacement |
| string length is > 0, avoid possible hangs if replacement is null |
| |
| subst.c |
| - don't include input.h; no longer needed |
| |
| configure.in |
| - remove calls to AC_SYS_RESTARTABLE_SYSCALLS and |
| BASH_SYS_RESTARTABLE_SYSCALLS; the results are no longer used |
| |
| config.h.in |
| - remove define for HAVE_RESTARTABLE_SYSCALLS |
| |
| aclocal.m4 |
| - removed definition of BASH_SYS_RESTARTABLE_SYSCALLS; no longer used |
| |
| execute_cmd.c |
| - changed select command so `return' no longer terminates the select |
| command, so it can be used to return from an enclosing function. |
| This is as ksh (88 and 93) does it |
| |
| lib/readline/vi_mode.c |
| - fix trivial typo in declaration of vi_motion; `t' appears twice; |
| the second instance should be `T' |
| |
| 7/3 |
| --- |
| configure.in |
| - don't add -static to LDFLAGS on Solaris 2.x. This means that the |
| auxiliary programs will be built as dynamic executables, but that |
| should do no harm |
| |
| 7/5 |
| --- |
| lib/glob/fnmatch.c |
| - fix the code that processes **(pattern) to short-circuit if the |
| pattern is ill-formed or lacks a trailing `)' -- this fixes the |
| segfault on **(/*) |
| |
| Makefile.in, builtins/Makefile.in |
| - split CCFLAGS into CCFLAGS_FOR_BUILD and CFLAGS, to aid in |
| cross-compilation |
| - build programs that use $(CC_FOR_BUILD) using $(CCFLAGS_FOR_BUILD) |
| |
| configure.in, config.h.in |
| - check for getaddrinfo(3), define HAVE_GETADDRINFO if found |
| |
| lib/sh/netopen.c |
| - implemented a version of _netopen (_netopen6) that uses |
| getaddrinfo(3) if available, use if HAVE_GETADDRINFO is defined. |
| old _netopen is _netopen4; _netopen now calls either _netopen6 |
| or _netopen4 as appropriate |
| |
| 7/9 |
| --- |
| builtins/exit.def |
| - don't source ~/.bash_logout if subshell_environment is non-zero |
| |
| execute_command.c |
| - in execute_until_or_while, handle the case where `breaking' is |
| set in the loop test (e.g., by the job control code when a job |
| is stopped with SIGTSTP), but the return value from the test is |
| something that would cause the loop to break. Need to decrement |
| `breaking' in this case |
| |
| 7/10 |
| ---- |
| execute_cmd.c |
| - in execute_in_subshell, make sure a command of type cm_subshell |
| inherits its `enclosing' command's CMD_IGNORE_RETURN flag |
| |
| variables.c |
| - in maybe_make_export_env, don't allow restricted shells to put |
| exported functions in the export environment |
| |
| 7/11 |
| ---- |
| lib/glob/strmatch.h |
| - renamed old fnmatch.h |
| - changed guard #ifdef to _STRMATCH_H |
| - include system <fnmatch.h> if HAVE_LIBC_FNM_EXTMATCH is defined |
| |
| lib/glob/strmatch.c |
| - renamed old fnmatch.c |
| - include "strmatch.h" |
| - if HAVE_LIBC_FNM_EXTMATCH is defined, define a dummy version of |
| strmatch() that just calls fnmatch(3) |
| |
| lib/glob/glob.c |
| - include "strmatch.h" |
| - fnmatch -> strmatch |
| |
| Makefile.in, lib/glob/Makefile.in |
| - fnmatch -> strmatch |
| |
| {bashhist,execute_cmd,pathexp,pcomplete,shell,stringlib,subst,test}.c, |
| pathexp.h,builtins/help.def |
| - include <glob/strmatch.h> |
| - fnmatch -> strmatch |
| |
| execute_cmd.c |
| - broke the code that parses the interpreter name from a #! line |
| out from execute_shell_script to a new function, getinterp() |
| - call getinterp from execute_shell_script |
| - use return value from getinterp in error message about bad |
| #! interpreter in shell_execve |
| |
| 7/12 |
| ---- |
| lib/readline/isearch.c |
| - the last isearch string is now remembered in a new static variable, |
| last_isearch_string |
| - if ^R^R is typed, readline now searches for the remembered isearch |
| string, if one exists |
| |
| 7/24 |
| ---- |
| pcomplete.h |
| - extern declaration for completions_to_stringlist() |
| |
| 7/25 |
| ---- |
| builtins/complete.def |
| - make compgen handle -o default option |
| - make compgen return success only if sl->list_len is non-zero, |
| indicating that there are items on the list |
| |
| 7/31 |
| ---- |
| execute_cmd.c |
| - in execute_connection, force stdin to /dev/null for asynchronous |
| commands if job control is not active, not just if the shell is |
| running a shell script (since you can run `set -m' in a script) |
| |
| lib/readline/rltty.c |
| - make sure _rl_tty_restore_signals resets `tty_sigs_disabled' on |
| successful restoration of the terminal modes |
| - make sure _rl_tty_disable_signals turns off IXON so that ^S and |
| ^Q can be read by rl_quoted_insert |
| |
| 8/1 |
| --- |
| aclocal.m4 |
| - new check for FNM_EXTMATCH being defined in <fnmatch.h>, as Ullrich |
| Drepper intends to do for new versions of GNU libc |
| |
| config.h.in |
| - new definition for HAVE_LIBC_FNM_EXTMATCH |
| |
| configure.in |
| - check for fnmatch, but don't define anything in config.h |
| - call BASH_FUNC_FNMATCH_EXTMATCH to check for FNM_EXTMATCH |
| |
| 8/2 |
| --- |
| alias.h |
| - remove bogus extern declaration for xmalloc() |
| - include "stdc.h" |
| - add prototype declarations for all extern function declarations |
| |
| xmalloc.c,lib/readline/xmalloc.c |
| - fix xmalloc to return a PTR_T |
| - fix xrealloc to return a PTR_T and take a PTR_T as first argument |
| |
| include/ansi_stdlib.h |
| - extern declarations for malloc and realloc have them return PTR_T |
| |
| xmalloc.h |
| - new file, with extern declarations for functions in xmalloc.c |
| |
| general.h |
| - removed extern declarations for functions in xmalloc.c |
| - include xmalloc.h |
| |
| Makefile.in,builtins/Makefile.in |
| - update dependencies to include xmalloc.h |
| |
| parse.y,{alias,array,bashline,bracecomp,execute_cmd,findcmd,flags,general, |
| hashcmd,locale,mailcheck,make_cmd,pathexp,pcomplete,print_cmd,stringlib, |
| subst,unwind_prot,variables}.c |
| builtins/{common,evalfile}.c |
| builtins/{cd,command,enable,exec,printf,read,set}.def |
| lib/sh/{makepath,netopen,pathphys,setlinebuf,shquote,snprintf,stringlist, |
| strtrans,tmpfile}.c |
| lib/readline/{util,terminal,shell,readline,macro,kill,isearch,input, |
| histfile,histexpand,display,complete,bind}.c |
| - make sure all calls to xmalloc are cast to the right return value |
| |
| siglist.c |
| - include xmalloc.h |
| |
| parse.y,{alias,bashline,bracecomp,expr,make_cmd,nojobs,print_cmd,subst}.c |
| builtins/{fc,printf,read}.def |
| lib/sh/snprintf.c, lib/tilde/tilde.c |
| lib/readline/{bind,display,histexpand,isearch,macro,util,vi_mode}.c |
| - make sure all calls to xrealloc are cast to the right return value |
| |
| lib/sh/{netopen,setlinebuf,shquote,snprintf}.c, lib/tilde/tilde.c |
| - include xmalloc.h, remove extern declaration of xmalloc |
| |
| lib/readline/xmalloc.h |
| - xmalloc and xrealloc should return PTR_T |
| |
| lib/readline/rldefs.h |
| - don't include an extern declaration for xmalloc |
| |
| 8/7 |
| --- |
| support/shobj-conf |
| - fixed up commented-out stanzas for HP's unbundled C compiler on |
| HP/UX |
| |
| support/bashbug.sh |
| - force the subject to be changed from the default |
| |
| lib/readline/doc/{rluser.texinfo,readline.3}, doc/bash.1 |
| - document that transpose-words swaps the last two words on the line |
| if point is at the end of the line |
| |
| 8/9 |
| --- |
| stringlib.c |
| - fix possible infinite recursion problem with null pattern in |
| strsub() |
| |
| hashlib.c |
| - new function copy_hash_table to copy a hash table using a caller- |
| supplied function to copy item data (defaults to savestring()) |
| |
| hashlib.h |
| - new extern declaration for copy_hash_table |
| |
| builtins/declare.def |
| - changes so that declare [-a] var=value assigns `value' to element 0 |
| of array variable `var' like ksh93 |
| - change so that declare [-a] var[N]=value assigns `value' to element |
| N of array variable `var' like ksh93 |
| |
| 8/13 |
| ---- |
| arrayfunc.c |
| - new file, for miscellaneous array functions |
| |
| arrayfunc.h |
| - new file, extern declarations for functions in arrayfunc.c |
| |
| variables.c |
| - move convert_var_to_array, bind_array_variable, |
| assign_array_from_string, assign_array_var_from_word_list, |
| assign_array_var_from_string, quote_array_assignment_chars, |
| skipsubscript, unbind_array_element, print_array_assignment |
| to arrayfunc.c |
| |
| shell.h |
| - include arrayfunc.h after variables.h |
| |
| variables.h |
| - remove above extern function declarations moved to arrayfunc.h |
| - add extern declaration for var_lookup |
| |
| Makefile.in |
| - add arrayfunc.c, arrayfunc.h in appropriate places |
| - add arrayfunc.h to dependencies |
| |
| subst.c |
| - move valid_array_reference, array_expand_index, array_variable_part, |
| array_value_internal, array_value (now global), get_array_value, |
| do_array_element_assignment to arrayfunc.c |
| |
| subst.h |
| - extern declarations for functions above moved to arrayfunc.h |
| |
| arrayfunc.h |
| - extern declarations for above functions from subst.c |
| |
| subst.[ch] |
| - string_list_dollar_star and string_list_dollar_at are now global |
| functions |
| - quote_escapes is now a global function |
| |
| subst.c |
| - maybe_expand_string -> expand_string_if_necessary |
| - expand_string_to_string -> expand_string_to_string_internal |
| - new functions: expand_string_to_string and |
| expand_string_unsplit_to_string, which call |
| expand_string_to_string_internal with expand_string and |
| expand_string_unsplit as the FUNC arguments, respectively |
| |
| arrayfunc.c |
| - change array_expand_index to call expand_string_to_string instead |
| of maybe_expand_string |
| |
| 8/14 |
| ---- |
| shell.c |
| - in execute_env_file, call expand_string_unsplit_to_string |
| |
| mailcheck.c |
| - in check_mail, call expand_string_to_string |
| |
| variables.c |
| - in assign_in_env, call expand_string_unsplit_to_string |
| |
| arrayfunc.c |
| - new function, array_variable_name, splits an array reference into |
| a name (which is returned as a new string) and subscript |
| - change array_variable_part to just call array_variable_name and |
| look up the string returned with find_variable |
| - new function, find_or_make_array_variable (name, flags) which will |
| look up an array variable and convert a string variable to an |
| array if necessary. The FLAGS argument, if non-zero, says to |
| check the readonly and noassign attributes and fail if either is set |
| |
| builtins/read.def |
| - make `read -a aname' honor any readonly status of `aname' |
| - read -a now calls find_or_make_array_variable with FLAGS value 1 |
| |
| arrayfunc.[ch], subst.c, builtins/{declare,read}.def |
| - do_array_element_assignment -> assign_array_element |
| |
| 8/20 |
| ---- |
| parse.y |
| - changed `for' command grammar to allow missing word list after `IN' |
| token, like latest POSIX drafts require |
| |
| lib/sh/tmpfile.c |
| - in sh_mktmpname(), check for filenum == 0 and init to non-zero number |
| in this case. it can happen on arithmetic overflow |
| |
| support/mkversion.sh |
| - added `[0-9].[0-9][0-9][a-z]' as an acceptable value for a |
| distribution to allow for intermediate versions, like 2.05a |
| |
| support/config.guess |
| - removed the addition of the output of `/usr/bin/objformat' when |
| creating the canonical name on FreeBSD machines, so the canonical |
| name is once again `freebsd4.2' instead of `freebsdelf4.2' |
| |
| 8/22 |
| ---- |
| lib/readline/{rlstdc,history,keymaps,readline,rldefs,rlprivate,rlshell, |
| rltypedefs,xmalloc}.h |
| lib/readline/{bind,compat,complete,display,funmap,histexpand,histsearch, |
| input,isearch,kill,nls,parens,readline,rltty,search,shell,signals,vi_mode |
| - changed __P to PARAMS |
| |
| lib/tilde/tilde.[ch] |
| - changed __P to PARAMS |
| |
| {Makefile,configure}.in |
| - changed the version number to 2.05a |
| - changed the release status to `alpha1' |
| |
| 8/23 |
| ---- |
| support/shobj-conf |
| - support for building shared libraries on Darwin/MacOS X |
| |
| siglist.h |
| - extern declaration for strsignal() to compensate for lack of |
| a definition in some system include files |
| |
| jobs.c |
| - remove casts from strsignal() calls |
| |
| [bash-2.05a-alpha1 frozen] |
| |
| 8/27 |
| ---- |
| [bash-2.05a-alpha1 released] |
| |
| 8/27 |
| ---- |
| execute_cmd.c |
| - fix eval_arith_for_expr to handle the case where the expanded |
| word list is NULL, returning 0 in this case |
| |
| print_cmd.c |
| - in print_function_def, make sure that func_redirects is assigned |
| a value before being used |
| |
| 8/28 |
| ---- |
| alias.c |
| - include <ctype.h> for definition of isalpha() |
| |
| bashhist.h |
| - add prototypes for extern function declarations |
| |
| flags.c |
| - include bashhist.h for extern function declarations |
| |
| mksyntax.c |
| - include <unistd.h> if HAVE_UNISTD_H is defined in config.h |
| |
| parse.y |
| - include test.h for extern function declarations |
| |
| externs.h |
| - change extern declaration for setlinebuf to sh_setlinebuf |
| |
| stringlib.c |
| - include <glob/glob.h> for extern function declarations |
| |
| variables.h |
| - add function prototypes for all of the sv_* functions |
| |
| builtins/common.h |
| - add extern declarations for set_shellopts() and parse_shellopts() |
| from builtins/set.def |
| |
| variables.c |
| - include "hashcmd.h" for extern declaration for flush_hashed_filenames |
| - include "pathexp.h" for extern declaration for setup_glob_ignore |
| |
| lib/malloc/malloc.c |
| - cast to `long' instead of `int' in memalign for 64-bit machines |
| |
| {pcomplete,trap}.c |
| - changed printf escape sequences used to print pointers to %p |
| |
| lib/readline/undo.c |
| - include "xmalloc.h" for extern function declaration |
| |
| input.h |
| - add function prototypes to extern declarations for getc_with_restart |
| and ungetc_with_restart |
| |
| variables.[ch] |
| - changed type of `function' member of `struct name_and_function' to |
| `sv_func_t', which is defined and prototyped in variables.h |
| - map_over now takes an `sh_var_map_func_t *' |
| |
| shell.h |
| - start of a set of function pointer typedefs like those in |
| lib/readline/rltypedefs.h |
| |
| hashlib.[ch] |
| - second paramter to flush_hash_table is now an `sh_free_func_t *' |
| |
| trap.c |
| - parameter to reset_or_restore_signal_handlers is now an |
| `sh_resetsig_func_t *' |
| |
| pcomplete.h, pcomplib.c |
| - function pointer argument to print_all_compspecs is now an |
| `sh_csprint_func_t *' |
| - function pointer `list_getter' element of an `ITEMLIST' is now |
| prototyped with __P((...)) instead of using `Function *' |
| |
| jobs.[ch] |
| - `j_cleanup' member of a JOB is now an `sh_vptrfunc_t *' |
| |
| alias.c |
| - map_over_aliases now takes an `sh_alias_map_func_t *' |
| - free_alias_data now takes a `PTR_T' |
| |
| pathexp.c |
| - function pointer argument to ignore_globbed_names is now an |
| `sh_ignore_func_t *' |
| |
| bashline.c |
| - function pointer argument to _ignore_completion_names is now an |
| `sh_ignore_func_t *' |
| |
| pathexp.h,{bashhist,bashline.c |
| - `item_func' member of a `struct ignorevar' is now an |
| `sh_iv_item_func_t *' |
| |
| builtins/evalfile.c |
| - `errfunc' is now an `sh_vmsg_func_t *' |
| |
| jobs.c |
| - map_over_job now takes an `sh_job_map_func_t *' as its first argument |
| |
| array.[ch] |
| - function pointer argument to array_walk is now an |
| `sh_ae_map_func_t *' |
| |
| general.c |
| - tilde_expansion_preexpansion_hook has type `tilde_hook_func_t *', |
| and so the assignment in tilde_initialize doesn't need a cast |
| |
| list.c |
| - map_over_words now takes an `sh_icpfunc_t *' as its second argument |
| |
| input.h |
| - the `getter' and `ungetter' function pointer members of a |
| BASH_INPUT are now of types `sh_cget_func_t *' and |
| `sh_cunget_func_t *' respectively |
| - init_yy_io now takes an `sh_cget_func_t *' as its first argument and |
| an `sh_cunget_func_t *' as its second |
| |
| parse.y |
| - init_yy_io now takes an `sh_cget_func_t *' as its first argument and |
| an `sh_cunget_func_t *' as its second |
| - initialize_bash_input casts bash_input.getter and bash_input.ungetter |
| appropriately |
| |
| builtins/mkbuiltins.c |
| - make the extern function definitions written to builtext.h have |
| prototypes with __P((...)) |
| - include "stdc.h" |
| - change Function to mk_handler_func_t |
| - fixed comment_handler to take the right number of args |
| - prototyped all the handler functions with __P((...)) |
| |
| builtins.h |
| - the `function' member of a struct builtin is now of type |
| `sh_builtin_func_t *' |
| |
| builtins/common.[ch] |
| - last_shell_builtin, this_shell_builtin are now of type |
| `sh_builtin_func_t *' |
| - find_shell_builtin, builtin_address, find_special_builtin now return |
| `sh_builtin_func_t *' |
| |
| builtins/exit.def, {execute_cmd,jobs,nojobs,variables}.c, parse.y |
| - changed all declarations of last_shell_builtin and this_shell_builtin |
| |
| execute_cmd.c |
| - execute_builtin, execute_builtin_or_function, |
| execute_subshell_builtin_or_function now take an |
| `sh_builtin_func_t *' instead of a `Function *' for argument |
| - changed appropriate variables from `Function *' to |
| `sh_builtin_func_t *' |
| |
| builtins/{bind,builtin,enable,read,setattr}.def |
| - replaced uses of `Function *' in variable declarations with |
| appropriate types (sh_builtin_func_t * or rl_command_func_t *) |
| |
| builtins/set.def |
| - set_func and get_func members of binary_o_options are now of types |
| `setopt_set_func_t *' and `setopt_get_func_t *', which are |
| prototyped |
| |
| builtins/shopt.def |
| - set_func member of shopt_vars is now of type `shopt_set_func_t *' |
| |
| bashline.c |
| - enable_hostname_completion now returns `int' (the old value of |
| perform_hostname_completion) |
| |
| [The only use of Function and VFunction now is for unwind-protects] |
| |
| 9/4 |
| --- |
| lib/sh/getcwd.c |
| - use const define from config.h rather than `CONST' |
| - use PTR_T define from xmalloc.h rather than `PTR' |
| - include xmalloc.h for PTR_T |
| - remove PATH_MAX define, rely on value from maxpath.h |
| |
| {general,mailcheck}.c, lib/sh/{pathcanon,pathphys}.c |
| - don't include maxpath.h directly; it's already included by shell.h |
| |
| lib/sh/mailstat.c |
| - new `mailstat()' implementation, to stat a mailbox file for |
| mail checking. handles maildir-style mail directories with one |
| file per message and creates a dummy stat struct from them |
| |
| lib/sh/Makefile.in |
| - add mailstat.c and mailstat.o in the appropriate places |
| |
| lib/malloc/malloc.c |
| - augmented implementation with wrapper functions that pass in file |
| and line number information from cpp. currently unused, but a |
| placeholder for future debugging and use tracking |
| |
| lib/malloc/shmalloc.h |
| - new file, extern declarations for allocation wrapper functions for |
| use by the shell (and others, I guess) |
| |
| xmalloc.[ch] |
| - wrapper functions for xmalloc, xfree, xrealloc (sh_ prefixed) that |
| pass cpp line number information through to the malloc functions, |
| if USING_BASH_MALLOC is defined |
| |
| 9/5 |
| --- |
| lib/malloc/gmalloc.c |
| - removed; no longer part of distribution |
| |
| lib/malloc/Makefile.in |
| - removed references to gmalloc.[co] |
| |
| configure.in, doc/bashref.texi |
| - removed references to `--with-glibc-malloc' configure option |
| |
| {configure,Makefile}.in |
| - changed the way bash malloc is configured into the Makefile, making |
| it more like how readline is configured. If the bash malloc is |
| not configured in, nothing in lib/malloc will be built |
| |
| 9/6 |
| --- |
| lib/malloc/imalloc.h |
| - new file, some internal malloc definitions |
| |
| lib/malloc/mstats.h |
| - new file, definitions for malloc statistics structs and functions |
| |
| lib/malloc/trace.c |
| - new file, malloc tracing functions (currently just print messages |
| to stderr), code is #ifdef MALLOC_TRACE |
| |
| lib/malloc/stats.c |
| - new file, moved malloc stats code from malloc.c to here |
| |
| lib/malloc/malloc.c |
| - moved some definitions to imalloc.h |
| - moved stats code to stats.c |
| - malloc tracing calls added to internal_{malloc,realloc,free}, all |
| #ifdef MALLOC_TRACE |
| |
| lib/malloc/Makefile.in, Makefile.in |
| - added {imalloc,mstats}.h, {trace,stats}.c |
| |
| parse.y |
| - changed decode_prompt_string to save and restore $? |
| (last_command_exit_value) around calls to expand_prompt_string(), |
| so command substitutions in PS1, etc. don't change $? |
| |
| {array,subst}.c |
| - a couple more arrayind_t fixes from Paul Eggert |
| |
| configure.in |
| - remove redundant check for wait3(2) |
| |
| redir.h |
| - fixed a typo (stdin_redirs -> stdin_redirects) |
| |
| 9/10 |
| ---- |
| execute_cmd.c |
| - remove check for \n and \r from WHITESPACE macro, since those |
| chars are not whitespace as returned by the whitespace(c) macro |
| - getinterp now takes a `char *' as first arg, not unsigned char * |
| - execute_shell_script now takes a `char *' as first arg, not |
| unsigned char * |
| - fix typo in forward declaration for `initialize_subshell' |
| |
| general.[ch] |
| - check_binary_file now takes a (char *) argument, not unsigned char * |
| - pass unsigned char to isspace and isprint because of ISO C fuckup |
| - bash_tilde_expand now takes a `const char *' as its argument |
| |
| builtins/evalfile.c, shell.c |
| - buffer passed to check_binary_file is char, not unsigned char |
| |
| parse.y |
| - fix extern declaration for yyerror() |
| - yyerror now takes a `const char *' as first arg |
| |
| {error,jobs}.c |
| - fixes to printf-style functions to handle pids wider than an int |
| |
| lib/readline/{isearch,vi_mode}.c |
| - fix call to rl_message in rl_display_search (remove extra arg) |
| |
| variables.c |
| - fix missing argument to builtin_error in make_local_variable |
| |
| builtins/getopts.def |
| - since getopts takes no options, change while loop calling |
| internal_getopts to a simple `if' check |
| |
| builtins/printf.def |
| - since printf takes no options, change while loop calling |
| internal_getopts to a simple `if' check |
| |
| lib/readline/bind.c |
| - remove _SET_BELL macro, expand code inline |
| |
| lib/readline/input.c |
| - change _rl_input_available to use either select or FIONREAD, |
| but not both |
| |
| lib/readline/readline.c |
| - fix rl_digit_loop to remove unreachable code at end of loop |
| |
| {bashhist,bashline,expr,jobs,redir,shell}.c, builtins/fc.def, lib/sh/snprintf.c |
| - bracket unused functions with #ifdef INCLUDE_UNUSED/#endif |
| - remove some unused variables |
| |
| execute_cmd.c |
| - remove #ifdef'd code that allowed `return' to terminate a select |
| statement |
| |
| expr.c |
| - remove some extraneous tests from strlong() |
| |
| array.h |
| - arrayind_t is now a long, since shell arithmetic is performed as |
| longs |
| - remove second declaration of new_array_element |
| |
| builtins/printf.def |
| - in mklong, xrealloc cannot return NULL, so don't check for it |
| - remove some #if 0 code |
| - fix core dump triggered by a format specification with more than |
| one `*' |
| - remove `foundmod', since its value mirrors `modchar != 0' |
| - include "common.h" for builtin_{error,usage} declarations |
| |
| Makefile.in,builtins/Makefile.in |
| - updated some dependencies due to new include files |
| |
| pcomplete.c |
| - include "execute_cmd.h" for declaration of execute_shell_function |
| |
| arrayfunc.c |
| - include <stdio.h> for printf |
| - include "builtins/common.h" for builtin_error declaration |
| |
| builtins/evalstring.c |
| - include "../trap.h" for run_trap_cleanup declaration |
| |
| builtins/help.def |
| - include "common.h" instead of locally declaring builtin_error |
| and builtin_usage |
| |
| error.h |
| - add extern declaration for itrace() |
| - add prototype to extern declaration of get_name_for_error |
| - file_error now takes a `const char *' as first argument |
| |
| externs.h |
| - added prototype for sh_setlinebuf declaration, bracketed with |
| NEED_SH_SETLINEBUF_DECL so we don't need stdio.h everywhere |
| - add extern declaration for parse.y:return_EOF() |
| |
| shell.c |
| - add NEED_SH_SETLINEBUF_DECL before including shell.h |
| |
| lib/readline/callback.c |
| - include <stdlib.h> or "ansi_stdlib.h" for abort declaration |
| |
| quit.h |
| - remove declaration of throw_to_top_level |
| |
| subst.c |
| - remove unused extern declaration for getopts_reset |
| |
| lib/sh/netopen.c |
| - include <shell.h> for legal_number, etc. |
| - add prototype for inet_aton extern declaration |
| |
| lib/sh/clock.c |
| - include <stdc.h> for __P declaration |
| - add extern declaration for get_clk_tck |
| |
| support/mkversion.sh |
| - changed so that extern function declarations for functions in |
| version.c (moved from externs.h) are in the generated version.h |
| |
| shell.h |
| - include version.h |
| |
| version.c |
| - various `char *' version variables are now `const char *' |
| |
| general.h |
| - add prototype for same_file, bracketed with _POSIXSTAT_H |
| #ifdef, since that's what include/posixstat.h defines |
| |
| builtins/common.[ch] |
| - _evalfile, maybe_execute_file, source_file, and fc_execute_file |
| now take a `const char *' as their first argument |
| |
| eval.c |
| - removed extern declaration of yyparse; it's in externs.h |
| |
| parse.y |
| - added prototypes to static forward function declarations |
| - changed local `all_digits' variable in read_token_word () to |
| all_digit_token to avoid clash with all_digits() function in |
| general.c |
| |
| {bashhist,copy_cmd,make_cmd,hashlib,mailcheck}.c |
| - added prototypes for static function declarations |
| |
| shell.h |
| - add extern declarations for interactive, interactive_shell, |
| changed c files with extern declarations |
| |
| pcomplete.c |
| - changed it_init_aliases to avoid shadowing global variable |
| `aliases' |
| |
| bashline.c,pathexp.c,general.h |
| - sh_ignore_func_t is now a pointer to a function taking a |
| `const char *'; users changed |
| |
| configure.in |
| - test for <strings.h> |
| |
| config.h.in |
| - add #undef HAVE_STRINGS_H |
| |
| bashansi.h |
| - change like recommended in autoconf manual |
| |
| 9/11 |
| ---- |
| [a date which will live in infamy. prayers for the victims.] |
| |
| execute_cmd.c |
| - don't use an absolute index into abuf in mkfmt, use |
| sizeof(abuf) to compute last index |
| |
| builtins/common.c |
| - fix read_octal to do a better job of detecting overflow while |
| iterating through the string |
| |
| builtins/umask.def |
| - change octal-print mode to print 4 digits, like other shells |
| - cast umask to unsigned long to avoid problems on systems where |
| it's wider than an int (POSIX doesn't guarantee that mode_t is |
| no wider than an int, but real-world systems use int) |
| |
| builtins/printf.def |
| - mklong can never return NULL (it uses xrealloc), so the mainline |
| doesn't need to check for NULL returns |
| - new function, getldouble (long double *), to get long doubles |
| - mklong now takes a `char *' as its second argument, the modifier(s) |
| to use |
| - changed use of `modchar' to handle more than a single modifier |
| character |
| - changed to handle `long double' and `L' formats better, rather |
| than discarding long double information |
| - since printf now follows the POSIX.2 rules for conversion errors, |
| we can dispense with the status returns from the get* functions |
| - make the get* functions as similar in structure as possible, |
| removing type casts, etc. |
| |
| lib/sh/timeval.c,execute_cmd.c |
| - change some instances of `long' to `time_t', for systems where |
| a time_t is bigger than a long |
| |
| jobs.c |
| - include "posixtime.h" instead of <sys/time.h> |
| |
| config.h.in |
| - add defines for HAVE_DECL_CONFSTR, HAVE_DECL_STRTOLD, |
| HAVE_DECL_SBRK, HAVE_DECL_PRINTF |
| - remove defines for SBRK_DECLARED and PRINTF_DECLARED |
| - add _GNU_SOURCE define |
| |
| configure.in |
| - add AC_CHECK_DECLS for strtold, confstr, sbrk, printf |
| - remove call to BASH_FUNC_SBRK_DECLARED |
| - remove call to BASH_FUNC_PRINTF |
| |
| xmalloc.c, lib/malloc/malloc.c |
| - change check of SBRK_DECLARED to HAVE_SBRK_DECL |
| |
| print_cmd.c |
| - change PRINTF_DECLARED to HAVE_DECL_PRINTF |
| |
| builtins/evalstring.c, builtins/common.h |
| - parse_and_execute now takes a `const char *' as its second argument |
| |
| input.h,parse.y |
| - with_input_from_* functions now take a `const char *' as their |
| second argument |
| - init_yy_io now takes a `const char *' as its fourth argument |
| |
| parse.y,externs.h |
| - parse_string_to_word_list now takes a `const char *' as its second |
| argument |
| |
| tests/builtins.right |
| - change output to account for extra digit in umask output |
| |
| pcomplib.c |
| - free_progcomp now takes a PTR_T argument |
| |
| builtins/bashgetopt.h |
| - include <stdc.h> |
| - add prototypes to extern declarations |
| |
| builtins/shopt.def |
| - add prototypes to static function declarations |
| |
| builtins/{fc,umask,wait}.def, builtins/{bashgetopt,common}.c |
| - include <ctype.h> for isdigit macro (referenced by `digit(x)') |
| |
| lib/readline/complete.c |
| - added more static function declarations with prototypes |
| |
| 9/12 |
| ---- |
| lib/sh/tmpfile.c |
| - use `^' instead of `*' in sh_mktmpname to make filenames a bit |
| more random |
| |
| include/stdc.h,lib/readline/rldstdc.h |
| - add __attribute__ definition |
| |
| builtins/common.h |
| - add printf __attribute__ to declaration of builtin_error |
| |
| error.h |
| - add printf __attribute__ to declaration of programming_error, |
| report_error, parser_error, fatal_error, sys_error, internal_error, |
| internal_warning |
| |
| lib/readline/readline.h |
| - add printf __attribute__ to declaration of rl_message |
| |
| pcomplete.c |
| - add printf __attribute__ to declaration of debug_printf |
| |
| print_cmd.c |
| - add printf __attribute__ to declarations of cprintf, xprintf |
| |
| include/chartypes.h |
| - new file, includes <ctype.h> and defines macros that check for |
| safe (ascii) arguments before calling the regular ctype macros |
| |
| {alias,bashline,execute_cmd,expr,findcmd,general,locale,mksyntax,stringlib,subst,variables}.c |
| parse.y |
| builtins/{bashgetopt,common}.c |
| builtins/{fc,printf,umask,wait}.def |
| lib/glob/strmatch.c |
| lib/sh/{oslib,pathcanon,pathphys,snprintf,strcasecmp,strindex,stringvec,strtod,strtol,strtrans}.c |
| examples/loadables/{head,sleep}.c |
| - include "chartypes.h" or <chartypes.h> instead of <ctype.h> |
| |
| Makefile.in,{builtins,lib/{glob,sh}}/Makefile.in |
| - update dependencies to include chartypes.h |
| |
| lib/sh/inet_aton.c |
| - use `unsigned char' instead of `char' to pass to ctype.h functions |
| |
| lib/sh/netopen.c |
| - check for '0' <= host[0] <= '9' in _getaddr instead of using |
| isdigit |
| |
| subst.c,lib/sh/shquote.c |
| - change array subscripts into sh_syntaxtab from `char' to |
| `unsigned char' |
| |
| {alias,bashline,execute_cmd,expr,general,subst}.c, parse.y |
| builtins/{fc,printf,umask,wait}.def builtins/{bashgetopt,common}.c |
| lib/sh/{pathcanon,pathphys,snprintf,strcasecmp,strindex,strtod,strtol,strtrans}.c |
| examples/loadables/{head,sleep}.c |
| - change to use some of the new macros in chartypes.h |
| - remove old local macro definitions now provided by chartypes.h |
| |
| general.h |
| - remove definition of isletter, ISOCTAL, digit, digit_value |
| - change legal_variable_starter and legal_variable_char to use |
| chartypes.h macros |
| - change ABSPATH to use chartypes.h macros |
| |
| lib/readline/util.c |
| - change to use Paul Eggert's FUNCTION_FOR_MACRO define to define |
| function replacements for macros in chardefs.h |
| |
| lib/readline/chardefs.h |
| - added some of the same macros as in chartypes.h |
| - change _rl_lowercase_p, _rl_uppercase_p, _rl_digit_p, |
| _rl_to_upper, _rl_to_lower to use new IS* macros |
| - added _rl_isident macro from vi_mode.c:isident |
| |
| lib/readline/{bind,complete,nls}.c |
| - change to use some of the new macros from chardefs.h |
| |
| lib/readline/vi_mode.c |
| - isident -> _rl_isident |
| - remove local defines of macros in chardefs.h |
| |
| lib/sh/strtol.c |
| - updated to new version, modified from glibc 2.2.4 and sh-utils-2.0. |
| This one can do strtoll and strtoull, if necessary |
| |
| 9/13 |
| ---- |
| builtins/ulimit.def |
| - changed get_limit so it retrieves both hard and soft limits |
| instead of one or the other |
| - changed callers of get_limit |
| - changed getmaxvm to take soft limit, hard limit as arguments |
| - changed getmaxuprc to just take a single argument, the value |
| - changed calls to printone() to pass soft limit or hard limit |
| depending on `mode' instead of using old current_limit variable |
| - moved check for out-of-range limits in ulimit_internal into the |
| block that converts a string argument to a value of type rlim_t |
| - changed RESOURCE_LIMITS struct to break the description into a |
| description string and separate scale factor string |
| - changed print_all_limits to print a single error message if |
| get_limit fails, including limits[i].description now that the |
| scale factor has been removed from the description string |
| - removed DESCFMT define, since it's now used only in printone() |
| - changed printone to print the option character associated with a |
| particular limit if we're printing multiple limits |
| - changed calls to builtin_error to print the description associated |
| with a limit if setting or getting the limit fails |
| - added support for new POSIX 1003.1-200x rlim_t values: |
| RLIM_SAVED_CUR and RLIM_SAVED_MAX, which expand to the current |
| soft and hard limits, whatever they are |
| - changed printone to print `hard' or `soft' if the current limit is |
| RLIM_SAVED_MAX or RLIM_SAVED_CUR, respectively |
| - changed ulimit_internal to handle new `hard' and `soft' arguments |
| - changed help text do describe the special limit arguments `hard', |
| `soft', and `unlimited' |
| |
| doc/{bash.1,bashref.texi} |
| - documented new `hard' and `soft' limit arguments to `ulimit' |
| |
| hashlib.[ch] |
| - find_hash_item now takes a `const char *' is its first argument |
| - hash_string now takes a `const char *' is its first argument |
| - remove_hash_item now takes a `const char *' as its first argument |
| |
| pcomplib.c |
| - removed cast from first argument to find_hash_item in find_compspec |
| |
| general.[ch] |
| - absolute_program now takes a `const char *' as its argument |
| - absolute_pathname now takes a `const char *' as its argument |
| |
| lib/glob/glob.[ch] |
| - glob_pattern_p now takes a `const char *' as its argument |
| |
| bashline.c |
| - removed cast from first argument to absolute_program in |
| command_word_completion_function |
| - removed cast from first argument to glob_pattern_p in |
| attempt_shell_completion |
| |
| findcmd.[ch] |
| - find_absolute_program, find_user_command, find_path_file, |
| search_for_command, user_command_matches now take a |
| `const char *' as their first argument |
| - file_status, executable_file, is_directory, executable_or_directory |
| now take a `const char *' as their argument |
| - _find_user_command_internal, find_user_command_internal, |
| find_user_command_in_path |
| |
| lib/sh/makepath.c, externs.h |
| - changed sh_makepath so it takes `const char *' for its first |
| two arguments |
| |
| hashcmd.[ch] |
| - find_hashed_filename now takes a `const char *' as its first arg |
| - remove_hashed_filename now takes a `const char *' as its first arg |
| |
| variables.[ch] |
| - new_shell_variable, var_lookup, shell_var_from_env_string, |
| find_name_in_env_array, bind_function, makunbound, |
| bind_name_in_env_array, bind_tempenv_variable, bind_variable |
| now take a `const char *' as their first arg |
| - find_function, make_new_variable, find_tempenv_variable, |
| find_variable_internal, find_variable, set_func_read_only, |
| set_func_auto_export, all_variables_matching_prefix, assign_in_env, |
| assignment, kill_local_variable, make_local_variable, unbind_variable |
| now take a `const char *' as their arg |
| - mk_env_string now takes `const char *' arguments |
| |
| arrayfunc.[ch] |
| - skipsubscript now takes a `const char *' as its argument |
| |
| 9/17 |
| ---- |
| lib/readline/complete.c |
| - attempt to preserve case of what the user typed in |
| compute_lcd_of_matches if we're ignoring case in completion |
| |
| builtins/{let,pushd}.def,{execute_cmd,expr}.c |
| - change some 0L constants to 0 and let the compiler sort it out |
| |
| 9/18 |
| ---- |
| lib/malloc/alloca.c |
| - alloca now takes a `size_t' argument |
| |
| include/memalloc.h |
| - if we're providing an extern function declaration for alloca, |
| use `void *' and prototype if __STDC__ is defined |
| - if HAVE_ALLOCA_H is defined, but C_ALLOCA is defined, don't |
| define HAVE_ALLOCA |
| |
| 9/19 |
| ---- |
| subst.c |
| - do_assignment_internal, do_assignment, and do_assignment_no_expand |
| now take a `const char *' as their first argument |
| |
| general.h |
| - a `sh_assign_func_t' is now a function taking a `const char *' and |
| returning int |
| |
| hashcmd.c |
| - free_filename_data now takes a `PTR_T' argument to agree with the |
| typedef for `sh_free_func_t' |
| |
| lib/sh/snprintf.c |
| - use TYPE_MAXIMUM define like strtol.c instead of huge constants |
| |
| 9/20 |
| ---- |
| lib/sh/snprintf.c |
| - don't bother to compile the bulk of the body unless HAVE_SNPRINTF |
| or HAVE_ASPRINTF is not defined |
| |
| 9/24 |
| ---- |
| flags.c |
| - ignore `set -n' if the shell was started interactively |
| |
| lib/readline/readline.c |
| - initialize readline_echoing_p to 0; let the terminal-specific code |
| in rltty.c set it appropriately |
| |
| lib/malloc/malloc.c |
| - changed internal_memalign() slightly to avoid compiler warnings about |
| negating an unsigned variable (-alignment -> (~alignment + 1)) |
| |
| 9/27 |
| ---- |
| lib/readline/readline.c |
| - changed rl_newline to set _rl_history_saved_point appropriately |
| for the {previous,next}_history code |
| |
| lib/readline/rlprivate.h |
| - extern declaration for _rl_history_preserve_point |
| |
| lib/readline/bind.c |
| - new bindable variable, `history-preserve-point', sets value of |
| _rl_history_preserve_point |
| |
| 10/1 |
| ---- |
| lib/malloc/table.c |
| - new file, with a map of allocated (and freed) memory for debugging |
| multiple frees, etc. Indexed by hash on values returned by |
| malloc(); holds size, file and line number info for last alloc or |
| free and a couple of statistics pointers |
| |
| lib/malloc/malloc.c |
| - a few cleanups; added calls for registering allocations and frees |
| if MALLOC_REGISTER is defined |
| - replaced MALLOC_RETURN with explicit MALLOC_NOTRACE define |
| - reordered fields in `struct...minfo' in `union mhead' to restore |
| eight-byte alignment |
| - added explicit checks for underflow in free and realloc since |
| checking mh_magic2 is not sufficient to detect everything (it's |
| no longer the last field in the struct, and thus not the bytes |
| immediately preceding what's returned to the user) |
| - new function, xbotch, for printing file and line number info for |
| the failed assertion before calling botch() (programming_error()) |
| |
| configure.in |
| - replaced call to BASH_C_LONG_LONG with call to |
| AC_CHECK_TYPES([long long]) |
| - moved the C compiler tests before the tests for various |
| system types, so we can know whether we have `long long' |
| before testing for 64-bit types |
| - if we have `long long', check for sizeof(long long) and save value |
| |
| aclocal.m4 |
| - changed BASH_TYPE_BITS64_T to check `long long' before `long', but |
| after `double' |
| |
| 10/2 |
| ---- |
| lib/malloc/malloc.c |
| - made malloc and realloc both agree on the rounding for a request of |
| size N (round up to nearest multiple of 8 after adjusting for |
| malloc overhead); uses new ALLOCATED_BYTES macro |
| - realloc and free now use new IN_BUCKET macro for underflow checks |
| |
| execute_cmd.c |
| - fixed time_command() to use `time_t' instead of `long' to hold |
| time stamps |
| |
| lib/sh/clock.c |
| - clock_t_to_secs now takes a `time_t *' second argument |
| - fixed print_clock_t to call clock_t_to_secs with right arguments |
| |
| lib/sh/timeval.c |
| - fixed print_timeval to make `minutes' a `long' and make its |
| structure identical to print_clock_t |
| |
| redir.c |
| - changed redirection_error to check for EBADF and use the file |
| descriptor being redirected from in the error message if it |
| is >= 0 |
| |
| Makefile.in |
| - changed release status to `beta1' |
| |
| lib/glob/collsyms.h |
| - added a few ASCII symbols to the posix_collsyms array |
| |
| 10/3 |
| ---- |
| aclocal.m4 |
| - fixed typo in BASH_TYPE_BITS64_T |
| |
| configure.in |
| - added check for unsigned chars with AC_C_CHAR_UNSIGNED |
| |
| config.h.in |
| - added PROTOTYPES and __CHAR_UNSIGNED__ #defines |
| |
| general.h |
| - if CHAR_MAX is not define by <limits.h>, provide a definition |
| |
| builtins/printf.def |
| - change tescape() to mask \0 and \x escape sequences with 0xFF |
| - change tescape() to process at most two hex digits after a `\x' |
| |
| lib/sh/strtrans.c |
| - change strtrans() to mask \0 and \x escape sequences with 0xFF |
| - change strtrans() to process at most two hex digits after a `\x'. |
| This affects `echo -e' and $'...' processing |
| |
| lib/readline/bind.c |
| - changed rl_translate_keyseq() to process at most two hex digits |
| after a `\x' |
| |
| lib/readline/doc/{rluser.texinfo,readline.3}, doc/bash.1 |
| - changed documentation for key binding escape sequences to specify |
| that at most two hex digits after \x are translated |
| - changed documentation for key binding to specify that the result |
| of \nnn or \xhh escapes is an eight-bit value, not just ASCII |
| |
| doc/{bash.1,bashref.texi} |
| - changed documentation of $'...' to specify that at most two hex |
| digits after \x are translated |
| - changed `echo' documentation to specify that at most two hex |
| digits after \x are translated |
| - changed documentation for `echo' and $'...' to specify that the |
| result of \nnn or \xhh escapes is an eight-bit value, not just ASCII |
| |
| 10/4 |
| ---- |
| lib/malloc/malloc.c |
| - changed interface for xbotch to pass memory address and error code |
| as two additional arguments |
| - call mregister_describe_mem from xbotch to get the last allocation |
| or free before the botch |
| |
| configure.in |
| - call AC_CHECK_DECLS([strsignal]) |
| |
| config.h.in |
| - add HAVE_DECL_STRSIGNAL |
| |
| siglist.h |
| - make declaration of strsignal() dependent on !HAVE_DECL_STRSIGNAL |
| |
| 10/5 |
| ---- |
| support/texi2html |
| - upgraded to version 1.64 |
| |
| 10/9 |
| ---- |
| aclocal.m4 |
| - added check for `long long' to BASH_TYPE_PTRDIFF_T |
| |
| configure.in |
| - replaced call to BASH_HAVE_TIOCGWINSZ with AC_HEADER_TIOCGWINSZ |
| |
| aclocal.m4 |
| - replaced body of BASH_STRUCT_TERMIOS_LDISC with call to |
| AC_CHECK_MEMBER(struct termios.c_line, ...) |
| - replaced body of BASH_STRUCT_TERMIO_LDISC with call to |
| AC_CHECK_MEMBER(struct termios.c_line, ...) |
| |
| [bash-2.05a-beta1 frozen] |
| |
| 10/10 |
| ----- |
| lib/sh/snprintf.c |
| - fixed exponent() to not smash the trailing zeros in the fraction |
| when using %g or %G with an `alternate form' |
| - fixed exponent() to handle the optional precision with %g and %G |
| correctly (number of significant digits before the exponent) |
| |
| 10/11 |
| ----- |
| expr.c |
| - fixed strlong() to correct the values of `@' and `_' when |
| translating base-64 constants (64#@ == 62 and 64#_ == 64), for |
| compatibility with ksh |
| |
| lib/sh/itos.c |
| - added a slightly more flexible fmtlong() function that takes a |
| base argument and flags (for future use) |
| - rewrote itos and inttostr in terms of fmtlong |
| |
| lib/sh/fmtulong.c |
| - new file, converts unsigned long to string. hooks for `unsigned |
| long long' in the future. unused as yet |
| |
| 10/15 |
| ----- |
| lib/readline/rltty.c |
| - change the SET_SPECIAL macro to avoid possible (but highly |
| unlikely) negative array subscripts |
| |
| error.h |
| - add __attribute__ to extern declaration of itrace (even though the |
| function isn't defined in released versions of bash) |
| |
| bashansi.h |
| - include <strings.h> if HAVE_STRINGS_H is defined, to get any extra |
| function declarations provided therein |
| |
| copy_cmd.c |
| - fix typo in forward declaration for copy_arith_for_command |
| |
| lib/malloc/stats.c |
| - make the accumulators in _print_malloc_stats be `unsigned long' |
| instead of `int' |
| |
| externs.h, sig.h |
| - add `__noreturn__' gcc attribute to exit_shell and jump_to_top_level |
| declarations |
| |
| lib/sh/mailstat.c, support/bashversion.c |
| - include <bashansi.h> for some string function declarations |
| |
| lib/malloc/shmalloc.h |
| - added extern declarations of functions that do malloc debugging |
| |
| lib/readline/{isearch,readline,vi_mode}.c |
| - make sure we index into _rl_keymap with a non-negative index |
| |
| parse.y |
| - make sure we index into sh_syntaxtab with a non-negative index |
| |
| lib/readline/vi_mode.c |
| - bound the vi_mark_chars array with the number of characters between |
| 'a' and 'z' rather than using a fixed amount |
| - don't use _rl_lowercase_p when deciding whether the char read by |
| rl_vi_set_mark is a valid mark; just use 'a' <= char <= 'z' |
| |
| lib/readline/chardefs.h |
| - conditionally include memory.h and strings.h as in general.h |
| - replace ISASCII with IN_CTYPE_DOMAIN like other GNU software |
| - add defines for ISPRINT(c), ISLOWER(c) and ISUPPER(c) |
| - fix defines for _rl_lowercase_p, _rl_uppercase_p, _rl_digit_p, |
| _rl_pure_alphabetic, ALPHABETIC, _rl_to_upper, _rl_to_lower, |
| and _rl_isident to work on systems with signed chars |
| |
| include/chartypes.h |
| - replace ISASCII with IN_CTYPE_DOMAIN like other GNU software |
| |
| lib/sh/{strcasecmp,strtod,strtol}.c |
| - don't pass possibly-negative characters to tolower() or toupper() |
| |
| lib/glob/strmatch.c |
| - don't bother testing for isupper in FOLD; rely on TOLOWER macro |
| from <chartypes.h> to do it |
| - don't use local definitions of isblank, et al.; rely on macros |
| from <chartypes.h> |
| |
| lib/readline/{display,readline}.c, mksyntax.c |
| - use new ISPRINT macro instead of isprint() |
| |
| builtins/{kill.def,mkbuiltins.c},{error,execute_cmd,jobs,nojobs,subst}.c |
| - don't assume that a pid_t fits into an int for printing and other |
| uses |
| |
| variables.[ch] |
| - the unused put_gnu_argv_flags_into_env now takes a `long' pid |
| argument |
| |
| configure.in, config.h.in |
| - call AC_STRUCT_ST_BLOCKS, define HAVE_STRUCT_STAT_ST_BLOCKS if found |
| - check for strtoull(), define HAVE_STRTOULL if found |
| - check for uintmax_t, define to `unsigned long' if not found |
| |
| lib/sh/mailstat.c |
| - don't use st_blocks member of struct stat unless |
| HAVE_STRUCT_STAT_ST_BLOCKS is defined; otherwise use the st_nlink |
| field to return the total number of messages in a maildir-style |
| mail directory |
| |
| general.h,{alias,expr,general,subst,variables}.c |
| builtins/{printf,read}.def |
| lib/readline/{bind,complete,nls}.c |
| lib/sh/{pathcanon,pathphys,shquote,snprintf,strindex,strtod,strtol,strtrans}.c |
| - cast args to ctype macros to unsigned char for systems with signed |
| chars; other fixes for signed chars |
| |
| lib/sh/{fmtullong,strtoull.c} |
| - new files, more support for `long long' |
| |
| Makefile.in, lib/sh/Makefile.in |
| - make fmtullong.o and strtoull.o part of libsh |
| |
| lib/sh/itos.c |
| - remove local copy of fmtlong; use fmtulong instead |
| - new functions: uitos, uinttostr work on `unsigned long' |
| |
| lib/sh/snprintf.c |
| - fixes to make `unsigned long long' work (%llu) |
| - fixes to make unsigned formats not print the sign when given |
| an unsigned long that is greater than LONG_MAX |
| |
| externs.h |
| - extern declarations for fmtulong, fmtulloing, strtoull |
| - extern declarations for uitos, uinttostr |
| |
| 10/16 |
| ----- |
| configure.in |
| - move header checks before function checks |
| - move c compiler tests before header checks |
| - check for <inttypes.h> with BASH_HEADER_INTTYPES |
| - change type checks for intmax_t, uintmax_t to not attempt to |
| include <stdint.h> |
| - check for strtoimax, strtoumax, strtoll, strtol, strtoull, strtoul |
| with BASH_CHECK_DECL (for declarations in header files) and |
| AC_REPLACE_FUNCS (for availability and LIBOBJS substitution) |
| - remove check for have_long_long around sizeof check for long long |
| (since autoconf will give it a size of 0 if the type isn't found) |
| |
| config.h.in |
| - add a define for HAVE_INTTYPES_H |
| - add a define for HAVE_UNSIGNED_LONG_LONG |
| - add defines for HAVE_STRTOIMAX, HAVE_STRTOUMAX, HAVE_STRTOLL |
| |
| aclocal.m4 |
| - new func, BASH_HEADER_INTTYPES, which just calls AC_CHECK_HEADERS |
| on <inttypes.h>; separate so it can be AC_REQUIREd |
| - AC_REQUIRE([BASH_HEADER_INTTYPES]) in BASH_CHECK_TYPE |
| - include <inttypes.h> in BASH_CHECK_TYPE if HAVE_INTTYPES_H is |
| defined |
| - change AC_DEFINE to AC_DEFINE_UNQUOTED in BASH_CHECK_TYPE |
| - new `long long' checking macros: BASH_TYPE_LONG_LONG and |
| BASH_TYPE_UNSIGNED_LONG_LONG |
| - new BASH_CHECK_DECL |
| |
| lib/sh/{strto[iu]max,strtoll}.c, lib/sh/Makefile.in, Makefile.in |
| - new files |
| |
| externs.h |
| - extern declarations for strtoll, strtoimax, strtoumax |
| |
| lib/malloc/alloca.c |
| - include <bashtypes.h> for size_t |
| |
| builtins/printf.def |
| - new functions: getllong, getullong, getintmax, getuintmax; return |
| long long, unsigned long long, intmax_t, uintmax_t respectively |
| - builtin printf now handles `ll' and `j' length modifiers directly |
| |
| lib/sh/Makefile.in |
| - use LIBOBJS to decide whether or not the strto* functions are |
| needed |
| |
| 10/17 |
| ----- |
| configure.in |
| - call AC_REPLACE_FUNCS(rename) |
| - move getcwd, strpbrk, strcasecmp, strerror, strtod |
| from AC_CHECK_FUNCS to AC_REPLACE_FUNCS |
| - only call BASH_FUNC_GETCWD if $ac_func_getcwd == "yes" |
| - call BASH_CHECK_SYS_SIGLIST |
| - if we don't have vprintf but have _doprnt, call AC_LIBOBJ(vprint) |
| |
| lib/sh/Makefile.in |
| - remove rename, getcwd, inet_aton, strpbrk, strcasecmp, strerror, |
| strtod, vprint from OBJECTS; picked up from LIBOBJS |
| |
| aclocal.m4 |
| - change BASH_FUNC_GETCWD to call AC_LIBOBJ(getcwd) if the libc |
| getcwd(3) calls popen(3) |
| - change BASH_FUNC_INET_ATON to call AC_LIBOBJ(inet_aton) if it's |
| not found in libc or as a #define even with the special includes |
| - BASH_KERNEL_RLIMIT_CHECK -> BASH_CHECK_KERNEL_RLIMIT |
| - BASH_DEFAULT_MAILDIR -> BASH_SYS_DEFAULT_MAILDIR |
| - BASH_JOB_CONTROL_MISSING -> BASH_SYS_JOB_CONTROL_MISSING |
| - BASH_REINSTALL_SIGHANDLERS -> BASH_SYS_REINSTALL_SIGHANDLERS |
| - BASH_SIGNAL_CHECK -> BASH_SYS_SIGNAL_VINTAGE |
| - BASH_DUP2_CLOEXEC_CHECK -> BASH_FUNC_DUP2_CLOEXEC_CHECK |
| - BASH_PGRP_SYNC -> BASH_SYS_PGRP_SYNC |
| - BASH_RLIMIT_TYPE -> BASH_TYPE_RLIMIT |
| - BASH_FUNC_PRINTF -> BASH_DECL_PRINTF |
| - BASH_FUNC_SBRK_DECLARED -> BASH_DECL_SBRK |
| - BASH_MISC_SPEED_T -> BASH_CHECK_SPEED_T |
| - BASH_CHECK_SOCKLIB -> BASH_CHECK_LIB_SOCKET |
| - new macro, BASH_CHECK_SYS_SIGLIST, encapsulates all the checks for |
| sys_siglist, _sys_siglist, and strsignal(), sets SIGLIST_O to |
| siglist.o if appropriate |
| |
| Makefile.in |
| - use SIGLIST_O variable to decide whether or not we need siglist.o |
| |
| {execute_cmd,subst}.c |
| - change a couple of instances of ISDIGIT to DIGIT, where we really, |
| really only want ascii digits |
| |
| ansi_stdlib.h |
| - don't need a declaration for atol() |
| |
| 10/18 |
| ----- |
| |
| aclocal.m4 |
| - new macro, BASH_FUNC_PRINTF_A_FORMAT, checks for printf support |
| for %a, %A conversion specifiers, defines HAVE_PRINTF_A_FORMAT |
| if successful |
| |
| configure.in |
| - call AC_CHECK_FUNCS for isascii |
| - call BASH_FUNC_PRINTF_A_FORMAT |
| |
| config.h.in |
| - add a define for HAVE_ISASCII |
| - add a define for HAVE_PRINTF_A_FORMAT |
| |
| lib/sh/snprintf.c |
| - for long double output, fall back to sprintf using ldfallback() |
| function for floating point formats |
| - support %a, %A using dfallback() or ldfallback() if |
| HAVE_PRINTF_A_FORMAT is defined |
| - fix bug in vasprintf that returned wrong value in its first |
| argument if the buffer holding the result string got reallocated |
| - fixed PUT_CHAR macro to increment the counter even if we've |
| exceeded the buffer size, for the return value from |
| vsnprintf/snprintf |
| - fix vsnprintf_internal to not use counter < length as a loop |
| condition, but always process the entire format string (for |
| the return value from vsnprintf/snprintf) |
| |
| builtins/printf.def |
| - support %a, %A if HAVE_PRINTF_A_FORMAT is defined |
| |
| include/typemax.h |
| - new file, with the TYPE_MAXIMUM stuff that's duplicated in several |
| files in lib/sh |
| |
| lib/sh/{fmtulong,strtol,snprintf}.c |
| - include <typemax.h> instead of having the definitions in each file |
| |
| lib/sh/Makefile.in |
| - updated dependencies for typemax.h |
| |
| 10/22 |
| ----- |
| configure.in |
| - call AC_CHECK_FUNCS on ctype.h functions/macros that bash redefines |
| in chartypes.h |
| |
| config.h.in |
| - defines for HAVE_IS{ASCII,BLANK,GRAPH,PRINT,SPACE,XDIGIT} |
| |
| include/chartypes.h, lib/glob/strmatch.c, lib/readline/chardefs.h |
| - don't redefine some is* ctype macros/functions if HAVE_ISXXX is |
| defined (meaning that an appropriate function, but not a macro, |
| exists) |
| |
| lib/sh/strtrans.c |
| - new function, ansic_shouldquote, returns 1 if argument string |
| contains non-printing chars that should be quoted with $'...' |
| |
| externs.h |
| - new declaration for ansic_shouldquote() |
| |
| variables.c |
| - change print_var_value to ansi C quote the string if we're not in |
| posix mode and the variable's value contains non-printing chars, |
| to use the regular shell single quoting if the value contains |
| shell meta-characters, and to just output the string otherwise |
| |
| lib/sh/shquote.c |
| - add `break' to `case '~':' to avoid fallthrough and extra test |
| |
| doc/bashref.texi |
| - note that in POSIX mode, `set' displays variable values that |
| include nonprinting characters without quoting, unless they |
| contain shell metacharacters |
| |
| builtins/printf.def, lib/sh/snprintf.c |
| - handle `F' conversion specifier as equivalent to 'f' |
| |
| parse.y, {nojobs,variables}.c |
| - a couple of cleanups for when building a minimal configuration |
| |
| nojobs.c |
| - new function: stop_making_children(), just sets |
| already_making_children to 0 (like stop_pipeline) |
| |
| subst.c |
| - call stop_making_children from subst.c:command_substitute if |
| JOB_CONTROL is not defined. This fixes the bug where the wrong |
| process is waited for (and its status returned) when using |
| command substitution in a null command in a shell function |
| |
| builtins/printf.def |
| - new variable `tw' used to keep track of the total number of |
| characters written by a single call to `printf' -- to be |
| used for the `%n' conversion, which will be added later. It |
| gets reset each time we reuse the format string, which is what |
| ksh93 seems to do |
| |
| 10/23 |
| ----- |
| variables.c |
| - new function, bind_var_to_int (char *var, long val) |
| |
| variables.h |
| - extern declaration for bind_var_to_int |
| |
| lib/sh/netopen.c |
| - use gai_strerror() for error messages when getaddrinfo() fails |
| - use PF_INET if DEBUG is defined, since IPv6 doesn't work for me |
| |
| Makefile.in |
| - pass DEBUG=${DEBUG} down to makes in some subdirectories |
| |
| {builtins,lib{glob,sh}}/Makefile.in |
| - append ${DEBUG} to LOCAL_CFLAGS value, passed by top-level Makefile |
| |
| builtins/printf.def |
| - added support for %n format conversion char (number of chars printed |
| so far from current format string) |
| |
| 10/24 |
| ----- |
| variables.c |
| - if posixly_correct is set, the default value of $MAILCHECK is 600 |
| - use legal_number instead of atoi in adjust_shell_level |
| - treat non-numeric assignments to SECONDS as 0 in assign_seconds |
| - new function, init_funcname_var; sets FUNCNAME as a dynamic variable |
| if it's not set in the initial environment |
| - new function, init_groups_var; sets GROUPS as a dynamic array |
| variable if it's not set in the initial environment |
| - new function, init_dirstack_var; sets DIRSTACK as a dynamic array |
| variable if it's not set in the initial environment |
| - new function, init_seconds_var; sets SECONDS as a dynamic |
| variable using any valid integer value in the initial environment |
| as the initial value, as if an assignment had been performed |
| - call init_funcname_var, init_groups_var, init_dirstack_var, |
| init_seconds_var from initialize_dynamic_variables |
| - non-numeric values assigned to LINENO are treated as 0 |
| - change initialize_shell_variables to not auto-export PATH or TERM |
| - change set_home_var to not auto-export HOME |
| - change set_shell_var to not auto-export SHELL |
| - broke the code that sets HOSTNAME, HOSTTYPE, MACHTYPE, OSTYPE |
| out into a separate function, set_machine_vars; none of those |
| variables are auto-exported |
| - bash no longer un-exports SSH_CLIENT or SSH2_CLIENT |
| |
| shell.c |
| - changed isnetconn() to check SSH_CLIENT and SSH2_CLIENT only if |
| SSH_SOURCE_BASHRC is defined in config-top.h |
| |
| config-top.h |
| - added a commented-out definition for SSH_SOURCE_BASHRC |
| |
| 10/25 |
| ----- |
| |
| Makefile.in |
| - changed RELSTATUS to `rc1' (release candidate 1) |
| |
| 10/29 |
| ----- |
| locale.c |
| - fixed an `=' vs. `==' typo in set_locale_var when parsing |
| LC_NUMERIC |
| |
| doc/{bash.1,bashref.texi} |
| - document what bash does with $POSIXLY_CORRECT |
| |
| doc/builtins.1 |
| - some updates |
| |
| builtins/psize.sh |
| - some mktemp(1) changes |
| |
| lib/readline/readline.c |
| - change rl_backward to check for rl_point < 0 and reset to 0 if so |
| |
| lib/readline/util.c |
| - don't compile in _rl_strpbrk if HAVE_STRPBRK is defined |
| |
| lib/readline/rlprivate.h |
| - remove extern declaration of _rl_strpbrk |
| |
| lib/readline/rldefs.h |
| - #define _rl_strpbrk as strpbrk if HAVE_STRPBRK is define, otherwise |
| add extern declaration of _rl_strpbrk from rlprivate.h |
| |
| {mailcheck,shell,variables}.c |
| - make sure to include posixtime.h to get any prototype for time(3) |
| in scope |
| |
| {array,eval,execute_cmd,mksyntax,subst}.c, parse.y |
| builtins/common.c |
| lib/sh/pathcanon.c |
| - a few changes as the result of `gcc -Wall' patches from solar |
| designer |
| |
| builtins/read.def, parse.y |
| - change some calls to free() to xfree() |
| |
| builtins/set.def |
| - make sure unset_builtin() resets unset_array to 0 each time through |
| the loop, because it's set (and used) depending on the current |
| argument |
| |
| shell.h |
| - new define, USE_VAR, to force the compiler to not put a particular |
| variable in a register -- helpful if registers are not restored |
| by setjmp/longjmp |
| |
| builtins/{evalfile.c,{read,wait}.def}, {eval,execute_cmd,shell,test}.c |
| - use USE_VAR for some variables |
| |
| subst.c |
| - fixed a case in expand_word_internal where a NULL pointer could |
| have been passed to free() (though free() should ignore it) |
| - fixed a case at the end of expand_word_internal where LIST could |
| have been used uninitialized (it makes gcc happy, though it |
| doesn't happen in practice) |
| |
| test.c |
| - give test_syntax_error(), beyond(), and integer_expected_error() |
| the `__noreturn__' attribute for gcc |
| |
| unwind_prot.c |
| - in clear_unwind_protect_list(), convert `flags' to `long' (via |
| assignment to a `long' variable) before casting to `char *', in |
| case pointers and longs are 64 bits and ints are 32 (makes no |
| difference on 32-bit machines) |
| |
| 10/30 |
| ----- |
| print_cmd.c |
| - fixed cprintf to avoid gcc warning about assigning const pointer |
| to non-const (discarding type qualifier) |
| |
| {make_cmd,pcomplete,test}.c,parse.y |
| - some minor changes to shut up gcc warnings |
| |
| lib/sh/tmpfile.c |
| - fixed sh_mktmpfp to avoid file descriptor leaks in the case that |
| sh_mktmpfd succeeds but fdopen fails for some reason |
| - change sh_mktmpfd to use the same scheme for computing `filenum' |
| as sh_mktmpname |
| - change get_sys_tmpdir to prefer P_tmpdir if P_tmpdir is defined |
| - changed sh_mktmpname and sh_mktmpfd to avoid trying to assign to |
| `nameroot' if `nameroot == 0' (duh) |
| - add code to sh_mktmpfd to use mkstemp(3) if USE_MKSTEMP is defined |
| - add code to sh_mktmpname to use mktemp(3) if USE_MKTEMP is defined |
| |
| support/{fixlinks,mkclone} |
| - use mktemp if it's available for the symlink test |
| - use $TMPDIR instead of hardcoding /tmp; default to /tmp |
| - use a better filename for the symlink test instead of `z' |
| |
| support/bashbug.sh |
| - more changes inspired by a patch from solar designer |
| |
| lib/malloc/Makefile.in |
| - new target `alloca', which builds libmalloc.a with alloca.o only |
| (for systems without alloca that are configured --without-bash-malloc) |
| |
| configure.in |
| - if we don't have a working alloca and are not configured to build |
| the bash malloc library, make a malloc library containing only |
| alloca.o |
| |
| aclocal.m4 |
| - slight change to RL_LIB_READLINE_VERSION to deal with minor version |
| numbers with a letter appended (like 4.2a) |
| |
| 10/31 |
| ----- |
| doc/{bash.1,bashref.texi} |
| - slight change to note that only interactive shells resend a SIGHUP |
| to all jobs before exiting |
| |
| externs.h |
| - declare strto[ui]max only if NEED_STRTOIMAX_DECL is defined. This |
| keeps picky compilers from choking because intmax_t is not defined |
| (MacOS X 10.1) |
| |
| builtins/printf.def |
| - #define NEED_STRTOIMAX_DECL before including shell.h |
| |
| 11/1 |
| ---- |
| general.c |
| - check in bash_tilde_expand() for an unquoted tilde-prefix; don't |
| bother passing the string to tilde_expand unless the prefix is |
| unquoted |
| |
| shell.c |
| - fix a problem with $LINENO when executing commands supplied with |
| the -c invocation option when ONESHOT is defined |
| |
| [bash-2.05a-rc1 frozen] |
| |
| builtins/printf.def |
| - fix the %n conversion to require that the variable name supplied |
| be a valid shell identifier |
| |
| variables.c |
| - improve random number generator slightly by using the upper 16 |
| bits of the running random number instead of the lower 16, which |
| are incrementally more random |
| |
| 11/2 |
| ---- |
| configure.in |
| - if RL_INCLUDEDIR ends up being /usr/include, don't put |
| -I$(RL_INCLUDEDIR) into CFLAGS |
| |
| 11/5 |
| ---- |
| doc/{bash.1,bashref.texi} |
| - correct description of POSIXLY_CORRECT to note that the shell enters |
| posix mode *before* the startup files are read if POSIXLY_CORRECT |
| is in the initial environment |
| |
| variables.c |
| - fix function prologues for init_dirstack_var and init_groups_var |
| to agree with caller (no arguments) |
| |
| jobs.c |
| - fix forward function declarations for pipe_read and pipe_close |
| |
| subst.c |
| - removed `inline' attribute from skip_double_quoted because it can |
| potentially be called recursively |
| |
| bashline.c |
| - quick fix to bashline.c:attempt_shell_completion programmable |
| completion code to just punt if the end of the command word found |
| by find_cmd_end is <= the start found by find_cmd_start (the bug |
| is probably in find_cmd_start -- fix later) |
| |
| pcomplete.c |
| - fix gen_matches_from_itemlist to return if the stringlist is null |
| after any cleaning or initialization, before trying to use it |
| - fix GEN_COMPS to only bother to try to append the STRINGLIST |
| returned by gen_matches_from_itemlist to `glist' if it's non-NULL |
| |
| lib/sh/stringlist.c |
| - make copy_stringlist return NULL if the STRINGLIST * passed as an |
| argument is NULL |
| - make append_stringlist call copy_stringlist only if M2 is non-NULL; |
| otherwise just return NULL if m1 is NULL |
| - make word_list_to_stringlist return 0 immediately if the passed |
| LIST argument is NULL |
| - make realloc_stringlist call alloc_stringlist if the passed |
| STRINGLIST argument (`sl') is 0, just like realloc calls malloc |
| |
| subst.c |
| - in skip_to_delim(), if we have an unclosed ${, and it's at the end |
| of the string (string[i] == '{', string[i+1] == '{' and |
| string[i+2] == 0, return si (i +2) immediately without bothering |
| to call extract_dollar_brace_string or extract_delimited_string |
| - in skip_to_delim(), if string[i] is 0 after a call to |
| extract_dollar_brace_string or extract_delimited_string (meaning we |
| have an unclosed ${ or other expansion, return i immediately without |
| doing a `continue' (which will increment i past the end of string) |
| - in split_at_delims, don't increment te by 1 if it's pointing to a |
| delimiter. this has the effect of skipping the first delimiter |
| char in a possibly multi-character delimiter, and ignoring |
| single-char delimiters like `>' |
| |
| configure.in |
| - use AC_CHECK_MEMBERS([struct stat.st_blocks]) instead of a call to |
| AC_STRUCT_ST_BLOCKS to avoid configure changing LIBOBJS if the test |
| fails |
| |
| general.c |
| - introduce two new variables: bash_tilde_{prefixes,suffixes}, set |
| to the additional prefixes and suffixes bash wants to pass to the |
| tilde expansion code (reserved for post-bash-2.05a fix) |
| |
| aclocal.m4 |
| - add missing `test' in BASH_CHECK_SYS_SIGLIST |
| |
| 11/7 |
| ---- |
| lib/readline/vi_mode.c |
| - fix rl_vi_goto_mark to explicitly check that the desired mark is |
| between 'a' and 'z', since some locales have lowercase letters |
| outside that range, which could cause a negative subscript |
| |
| include/chartypes.h |
| - remove superfluous `#undef ISASCII' |
| |
| lib/sh/strto[iu]max.c |
| - changes from Paul Eggert to work around buggy compilers and catch |
| configuration errors at compile time |
| |
| aclocal.m4 |
| - new macro, BASH_C_LONG_DOUBLE, identical to AC_C_LONG_DOUBLE but |
| with a fix for Irix 5.3 (not called, since I'm not sure it's the |
| right thing to do -- the C standard allows double and long double |
| to be the same size) |
| |
| lib/sh/snprintf.c |
| - only try to write the trailing NUL in vsnprintf_internal if |
| data->length is >= 0, since if it's not, we probably don't have |
| a buffer |
| |
| Makefile.in |
| - changed RELSTATUS to `release' |
| |
| 11/8 |
| ---- |
| lib/sh/strtol.c |
| - make sure chars passed to toupper are cast to unsigned |
| |
| unwind_prot.c |
| - change clear_unwind_protect_list to not require a cast from `int' |
| to `char *' |
| |
| lib/readline/chardefs.h |
| - make _rl_digit_p succeed only for ascii digits, since that's what |
| most callers assume |