📄 changelog
字号:
7/27/2004 ---------[bash-3.0 released] 7/28 ----array.c - in array_insert(), make sure the value to be added is non-NULL before calling savestring() on itbuiltins/reserved.def - fix description of `CDPATH'lib/readline/display.c - when expanding a prompt that spans multiple lines with embedded newlines, set prompt_physical_chars from the portion after the final newline, not the preceding portion. Bug reported by "Ralf S. Engelschall" <rse@engelschall.com>make_cmd.c - explicitly declare `lineno' in function prologue for make_case_commandbuiltins/evalfile.c - include `trap.h' for declaration for run_return_trapbashline.c - fix a `return' without a value in enable_hostname_completiongeneral.c - include test.h for extern declaration for test_eaccessexterns.h - add declaration for zcatfdtests/{history,histexp}.tests - unset HISTFILESIZE to avoid problems if a value of 0 is inherited from the environment 7/30 ----bashline.c - small changes to glob_expand_word to perform tilde expansion before attempting globbingbuiltins/Makefile.in - fix the install-help target to not cd into the `helpfiles' subdirectory, so a value of $INSTALL_DATA containing a relative pathname (e.g., .././support/install.sh) remains valid 7/31 ----subst.c - new function, mbstrlen(s), returns length of a multibyte character stringinclude/shmbutil.h - new macro, MB_STRLEN(s), calls mbstrlen or STRLEN as appropriatebuiltins/trap.def - small change so that a first argument that's a valid signal number (digits only -- no symbolic names) will be treated as a signal and reverted back to the original handling disposition. Fixes debian complaintssubst.c - call MB_STRLEN instead of STRLEN where appropriate in parameter_brace_expand_length to handle multibyte characters properly - call MB_STRLEN instead of strlen in verify_substring_values so that negative substrings of strings with multibyte chars work properly 8/1 ---jobs.c - describe_pid needs to write to stderr, not stdout (POSIX) - start_job, since it's only used by builtins (fg/bg), needs to write its output to stdout, not stderr (POSIX)sig.c - add an `orig_flags' member to struct terminating_signal so the original signal handling flags (SA_RESTART, etc.) can be preserved on POSIX systems - make sure to preserve the signal flags state in initialize_terminating_signals and reset them for child processes in reset_terminating_signalsbuiltins/fc.def - fixed an off-by-one error that caused `fc -l' to list one too many history entries - in posix mode, `fc' should not list any indication as to whether or not history lines have been modified (POSIX) - when in posix mode, the default editor for `fc' should be `ed' (POSIX)doc/bashref.texi - updated the description of `trap' behavior when given a first argument that is a valid signal number - noted that `fc -l' won't indicate whether a history entry has been modified if the shell is in posix modebuiltins/command.def - fixed bug: `command -v' is supposed to be silent if a command is not foundbuiltins/hash.def - `hash' should print its `hash table empty' message to stderrlib/readline/misc.c - back out 7/7 change to _rl_maybe_save_line; it breaks emacs-mode ^Pgeneral.c - changed base_pathname so that it will return reasonable results for non-absolute pathnames -- this is what is intended by all of its callersarrayfunc.c - fix array_variable_part to return NULL if it finds an invisible variable in the hash table. Fixes seg fault caused by referring to unset local variable using array notation{locale,variables}.c - support LC_TIME as a special locale variable so HISTTIMEFORMAT tracks the current locale 8/2 ---variables.c - fixed small memory leak in makunbound() when a local array variable is unset. Fix from William Parklib/readline/display.c - fixed a problem when computing the number of invisible characters on the first line of a prompt whose length exceeds the screen width (should only happen when invisible characters occur after the line wrap). Bug reported by agriffis@gentoo.orgbuiltins/command.def - `command -V' passes a new flag, CDESC_ABSPATH, which means to convert to an absolute pathbuiltins/type.def - in posix mode, `type' and `command -v/-V' should not report non-executable files, even if the execution code will attempt to run them. Other posix shells do thisdoc/bashref.texi - add note to POSIX Mode section describing behavior of type and command when finding a non-executable fileexecute_cmd.c - force extended_glob to 1 before calling binary_test in execute_cond_node so that the right extended pattern matching gets performed 8/3 ---braces.c - make sure lhs[0] and rhs[0] are cast to `unsigned char' so chars with values > 128 are handled correctlybuiltins/printf.def - change bexpand() and printstr() to handle strings with a leading '\0' whose length is non-zero, since that's valid input for the `%b' format specifiersubst.c - fix a couple of instances of find_variable that didn't check the result for an invisible variablevariables.c - BASH_ARGC, BASH_ARGV, BASH_SOURCE, BASH_LINENO no longer created as invisible varspcomplete.c - make sure COMP_WORDS is not invisible when bind_comp_words returns - ditto for COMPREPLY in gen_shell_function_matches 8/4 ---braces.c - fix problem where ${ was ignored but did not increment the open brace count. Bug reported by Tim Waugh <twaugh@redhat.com>variables.c - if make_local_variable finds a variable in the correct context in the right variable scope, make sure it's not invisible before returning it 8/5 ---builtins/trap.def - fixed usage message to show `action' as not optional, though it actually is when not in posix mode (for a single argument) 8/7 ---configure.in - kfreebsd-gnu has had its sbrk() problems fixed, and no longer needs to be configured --without-gnu-malloclib/readline/vi_mode.c - in rl_vi_search, free any saved history line before starting the search, so failure leaves you at that line, not the last line in the history (assuming the current line is not the last history line). Fix from llattanzi@apple.com to replace fix of 7/7 8/9 ---support/Makefile.in - renamed `mostly-clean' target to `mostlyclean' 8/11 ----lib/readline/vi_mode.c - make same change for EOL in multibyte character case of rl_vi_change_char 8/12 ----subst.c - in verify_substring_values, fix off-by-one error checking bounds of `offset', esp. in array values (e.g., getting the highest element of an array) 8/16 ----aclocal.m4 - change BASH_CHECK_DEV_FD to make sure that file descriptors > 2 are accessible via /dev/fd, unlike FreeBSD 5.xlib/sh/strftime.c - make sure `zone' is initialized with gettimeofday before it is used - work around HPUX lack of `altzone' and differing definitions of `timezone'lib/malloc/malloc.c - internal_memalign and memalign now take a `size_t' as their first argument, which seems to be the prevailing standardlib/malloc/{malloc.c,shmalloc.h} - change sh_memalign to take a `size_t' as its first argumentbuiltins/echo.def - if posixly_correct and xpg_echo are both set, don't try to interpret any arguments at all, as POSIX/XOPEN requires (fix inspired by Paul Eggert)doc/bashref.texi - amend description of bash posix mode to include new echo behaviorbuiltins/fg_bg.def - allow bg to take multiple job arguments, as posix seems to specify, placing them all in the background, returning the status of the last one as the status of `bg'lib/readline/vi_mode - fix _rl_vi_change_mbchar_case (multibyte-char version of `~' command) to have the right behavior at EOL -- handle case where vi mode backs up at the end of the line 8/18 ----array.c - check for an empty array in array_rshift before shifting elements and adjusting max_index - check for null array in array_subrangejobs.c - fix raw_job_exit_status to not ignore exit status of the last process in the pipeline when `set -o pipefail' is enabled 8/19 ----lib/readline/mbutil.c - make sure _rl_find_next_mbchar_internal has a valid multibyte character before it checks whether or not it's a zero-width wide character and adjusts point accordingly 8/24 ----bashline.c - new function, bash_directory_expansion, duplicates the expansions performed on the directory name by rl_filename_completion_function - call bash_directory_expansion in command_word_completion_function if we decide we're doing tilde expansion (and any other canonicalization) on the directory name being completed 8/25 ----configure.in - use new-style AC_CHECK_HEADER to check for sys/ptem.h (which requires sys/stream.h). The correct checks are in the code, but autoconf complains if sys/stream.h is not included, rather than simply checking for the header's presence 8/26 ----builtins/hash.def - fix a bug that prevented `hash -d' from working right (as soon as hash removed a command from the table, the bug caused it to be added right back) 8/27 ----doc/{bash.1,bashref.texi} - explicitly note that conditional primaries that operate on files operate on the targets of symbolic links rather than the links themselves 8/30 ----lib/readline/display.c - fix multibyte calculation of `physchars' in prompt expansion, to handle double-width multibyte characters correctly - changes to rl_redisplay to handle prompts longer than the screenwidth that might contain double-width multibyte characters. Fixes from Tomohiro Kubota 9/6 ---subst.c - change word_list_split to avoid really bad behavior caused by calling list_append for each split word -- as the list gets long, you have to traverse it every time. Keep a pointer to the end of the list and and just tack onto it 9/8 ---lib/readline/complete.c - change fnprint to calculate the displayed width of a filename in the same way as fnwidthsubst.c - in verify_substring_values, when expanding ${array[@]:offset}, make sure negative offsets count from one greater than the array's maximum index so things like ${x[@}: -1} work to give the last element (requires fixing array tests)builtins/common.c - new error function, sh_wrerror(), for builtins to call when a write error occursbuiltins/common.h - extern declaration for sh_wrerror()builtins/cd.def - change builtin_error call to use sh_wrerror()builtins/echo.def - report write errors with sh_wrerror() instead of just returning failurebuiltins/printf.def - change printstr to return failure (-1) or success (0) indication rather than void - report write errors when printstr() fails, return failure - if any of the PF/printf calls fail, report write error and return failureexecute_cmd.c - change execute_in_subshell so the subshell command inherits the command timing flags from the enclosing COMMAND * 9/11 ----[prayers for the victims of 9/11/2001]lib/sh/strnlen.c - new file, implementation of GNU libc extension function strnlenlib/sh/Makefile.in, {config.h,configure,Makefile}.in, MANIFEST - changes for strnlenconfigure.in - version changed to 3.1-develdoc/bash.1, lib/readline/doc/rluser.texi - added description of `-o plusdirs' to complete/compgen (thanks, Arnold)parse.y - new parser_state flag, PST_ASSIGNOK, if set indicates we're parsing arguments to a builtin that accepts assignment statement arguments - turn on PST_ASSIGNOK in read_token_word when appropriate - turn off PST_ASSIGNOK in read_token when appropriate - don't attempt to parse a compound assignment specially unless we're in a position where an assignment statement is acceptable, or
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -