📄 changelog
字号:
- new function, _rl_walphabetic, wide char version of rl_alphabeticlib/readline/mbutil.c - new function, _rl_char_value(buf, ind), returns value of (possibly multibyte) character at buf[ind]lib/readline/rlmbutil.h - extern defines for _rl_walphabetic and _rl_char_value for when multibyte chars are not being used - new wrapper definitions for _rl_find_next_mbchar (MB_NEXTCHAR) and _rl_find_prev_mbchar (MB_PREVCHAR) that try to avoid unneeded function callslib/readline/text.c - fix rl_foward_word to work with multibyte characters (or in a multibyte locale) using above utility functions - fix rl_backward_word to work with multibyte characters (or in a multibyte locale) using above utility functions 10/26 -----parse.y - fix parse_matched_pair so that it doesn't swallow \<newline> when parsing a $'...' construct (call shell_getc with different arg) 10/28 -----lib/glob/glob.c - after some (compiled-in) threshold, glob_vector will stop using alloca to allocate `struct globval's and will switch to using malloc, with appropriate cleanup before returningsubst.c - don't expand tildes after `=' in expand_word_internal, even if the W_TILDEEXP flag is set, unless it's the first tilde in a word marked W_ASSIGNMENT 10/31 -----lib/readline/text.c - make sure rl_point doesn't go below 0 in rl_delete_horizontal_space (from SUSE, but not sent in)shell.c - make sure shell_is_restricted skips over a single leading `-' in the shell name (from SUSE, but not sent in)lib/readline/display.c - disable `fast redisplay' at the end of the line if in a locale that supports multibyte characters (from SUSE, but not sent in)lib/readline/histexpand.c - fix a problem with finding the delimiter of a `?' substring when compiled for multibyte characters (from SUSE, but not sent in) 11/1 ----lib/readline/display.c - correct some assignments to _rl_last_c_pos: when in a multibyte locale, it's used as an absolute cursor position; when not using multibyte characters, it's a buffer offset. I should have caught this when the multibyte character support was donated 11/5 ----general.c - change `assignment()' to accept `+=' assignment operatorarrayfunc.[ch] - bind_array_variable and assign_array_element both take a new `flags' argument - assign_array_var_from_string, assign_array_from_string, and assign_array_var_from_word_list now all take a new `flags' argument - change assign_array_var_from_word_list to understand how to append to an array variable - change assign_array_var_from_string to understand how to append to an array variable. It does not unset the previous value if appending, allowing both old values to be changed and new ones to be addedsubst.h - new flag #defines to use for evaluating assignment statements{subst,variables}.c, builtins/{declare,read}.def - change callers of assign_array_element and bind_array_variable - change do_compound_assignment to understand assignment flags - change do_assignment_internal to set assignment flags and pass them to underlying functionspcomplete.c,builtins/{declare,read}.def - fix callers of assign_array_var_from_string, assign_array_var_from_word_listvariables.[ch] - make_variable_value now takes a new `flags' argument - make_variable_value now understands how to append to a particular variable, using the old value - bind_variable_value now takes a new `flags' argument - change make_variable_value to understand ASS_APPEND flag - bind_variable now takes a new `flags' argument - bind_variable_internal now takes a new `flags' argumentarrayfunc.c - change callers of make_variable_value to add flags argbuiltins/declare.def - change callers of bind_variable_value to add flags arg{execute_cmd,mailcheck,pcomplete,shell,subst,variables}.c,parse.ybuiltins/{cd,command,declare,getopts,read,set,setattr}.def - change callers of bind_variable to add flags argvariables.c - change callers of bind_variable_internal - change bind_variable_internal to pass assignment flags on to make_variable_value - change assign_in_env to treat `var+=value' like `var=value'arrayfunc.c - break code that actually constructs the new value and assigns it to a particular array index out into a new functions: bind_array_var_internal. This fakes out make_variable_value by passing a dummy SHELL_VAR * so it can do proper appending and other += processing - changes to assign_array_var_from_string to accept and process as if they were `standalone' assignment statements array assignment words of the form [ind]+=val 11/7 ----builtins/declare.def - added support for `declare [flags] var+=value'. `Flags' are applied before the assignment is performed, which has implications for things like `-i' -- if -i is supplied, arithmetic evaluation and increment will be performedbuiltins/setattr.def - add support for `+=' assignment for rest of `assignment builtins': export, readonly 11/12 -----lib/readline/display.c - make sure prompt_physical_chars and prompt_invis_chars_first_line are reset to 0 if the prompt string passed to rl_expand_prompt is NULL or empty 11/14 -----{configure,config.h}.in - check for `raise', define HAVE_RAISE if availablelib/intl/dcigettext.c - make sure `raise' is defined if HAVE_RAISE is not before eval-plurah.h is includedlib/malloc/trace.c - put extern declaration for imalloc_fopen inside the MALLOC_TRACE #ifdef 11/16 -----lib/intl/Makefile.in - make sure SHELL is defined to cpplib/intl/dcigettext.c - make sure we use getcwd() even if HAVE_GETCWD is not defined after including config.h; if SHELL is defined, #define HAVE_GETCWD 11/18 -----trap.[ch] - new function, int signal_in_progress(int sig), returns TRUE if the trap handler for signal SIG is currently executing 11/19 -----redir.c - slightly change do_redirection_internal to set the close-on-exec flag for file descriptors > 2 used to save file descriptors < 2 using explicit redirections (e.g., `exec 3>&1'). This keeps file descriptors pointing to pipes from being left open but doesn't change the shell's file descriptor semantics 11/20 -----doc/{bash.1,bashref.texi} - correct some minor typos, forwarded from doko@debian.org 11/22 -----doc/bash.1,lib/readline/doc/{readline.3,rluser.texi} - documented detail that yank-last-arg and yank-nth-arg use the history arg expansion code (and, as a result, are subject to restrictions of the history-comment character) 11/23 -----execute_cmd.c - changes so that BASH_COMMAND preserves its value into a DEBUG trap: for commands, arithmetic for command expressions, select commands, case commands, (( commands, [[ commands, simple commands 11/24 -----doc/{bash.1,bashref.texi} - changed description of `set' builtin slightly so that it is clear that only variables are displayed in posix mode and that read-only variables can't be reset by simply sourcing the output of `set'lib/sh/strftime.c - don't try to redefine `inline' if it's already defined 11/26 -----execute_cmd.c - fix execute_function to check funcname_a after function execution, since FUNCNAME can be changed or unset within a function 11/27 -----builtins/evalfile.c - make same changes as 11/26, this time to _evalfileexecute_cmd.c - change execute_function to run the return trap after a function completes execution even if the shell is compiled without DEBUGGER definedtrap.c - change reset_or_restore_signal_handlers so that the RETURN trap is not inherited by command substitution when DEBUGGER is not defined 11/30 -----lib/readline/misc.c - fix memory leaks in _rl_free_history_entry and rl_maybe_replace_line caused by not freeing `timestamp' member of history entry - make sure timestamp is initialized to NULL in rl_maybe_save_line 12/1 ----execute_cmd.c - fix execute_function so a function calling `return' will run the RETURN trap, if one's defineddoc/{bash.1,bashref.texi} - fix description of RETURN trap in various places to indicate that it's only inherited by shell functions if function tracing is on globally or has been enabled for that function - fix documentation to indicate that the DEBUG and RETURN traps are inherited under the same conditionsexecute_cmd.c - a function does not inherit the RETURN trap if a DEBUG trap is currently running 12/2 ----lib/glob/xmbsrtowcs.c - change xmbsrtowcs to handle the one case where malloc can fail (though it should not matter) -- don't try to free a null pointer 12/9 ----subst.c - fix get_var_and_type to handle var[@], where `var' is a scalar variable, identically to var -- all calling expansions can now handle var[@] like var. Bug reported by agriffis@gentoo.org 12/10 -----lib/readline/bind.c - make new-style "\M-x" keybindings obey `convert-meta' settings (bug reported by twaugh@redhat.com) 12/14 -----builtins/set.def - added description of `-' option to help textbuiltins/shopt.def - fix bug that caused `gnu_errfmt' to not be compiled in unless READLINE is defined 12/16 -----subst.c - fixed a typo in string_extract_verbatim in first call to MBLEN (used `slen - 1' instead of `slen - i') 12/17 -----subst.c - avoid some calls to strlen if the value is only being used for ADVANCE_CHAR and MB_CUR_MAX == 1 (since ADVANCE_CHAR doesn't need it unless multibyte characters are possible) - change string_extract_verbatim so it takes the length of the string as a parameter, so we don't have to recompute the length of the same string over and over again when doing word splitting (that kills if it's a long string) 12/18 -----subst.c - in string_list_dollar_star, make sure to null-terminate the separator if the character is longer than one byte 12/22 -----doc/{bash.1,bashref.texi} - changed text in quoting section explaining that double quotes do not prevent history expansion from taking place, and that backslashes escaping ! are not removed 12/28 -----shell.c - set gnu_error_format to 1 if running under emacs. This should allow the emacs `next-error' stuff to work, at least for interactive shellsparse.y - change yy_stream_get to set interrupt_immediately before calling getc_with_restart when the shell is interactive. This avoids the synchronization problem caused by the call to QUIT in read_a_line, which results in the first character after a SIGINT/^C to be dropped 12/30 -----builtins/mkbuiltins.c - changes to write long documentation to arrays as a single string by default, rather than an array of strings -- enabled by default - new option, -S, to restore old behavior of writing multiple strings for long documentation - changes to avoid filenames written when the separate-filenames option (-H) has been supplied being run through gettextconfigure.in - new cofiguration option, --enable-single-help-strings (on by default), causes help text to be stored as a single string (or smaller set than one string per line)builtins/Makefile.in - pass `-S' to mkbuiltins if single-help-strings is turned offdoc/bashref.texi - documented new `single-help-strings' configure option 1/3/2005 --------jobs.c - make wait_for return a non-zero status if the job or processed waited for is suspended. Returns 128 + stop signal. This fixes the problem with `echo one && sleep 5 && echo two' displaying `two' after the sleep is suspended 1/5 ---print_cmd.c - change indirection_level_string so the code duplicates the first character of $PS4 to indicate the indirection level, rather than the first byte 1/8 ---variables.c - new special variable hook function for COMP_WORDBREAKS; sets rl_completer_word_break_characters back to NULL when the variable is unset - change bind_variable_value to understand dynamic variables with assign_function set, and handle them correctly. If the variable is being appended to, use make_variable_value to create the new value - change bind_variable_internal to understand dynamic variables with assign_function set, and handle them the same way - RANDOM and LINENO now get the integer attribute, so appending works as expected - ditto for HISTCMD, MAILCHECK, OPTINDlib/readline/display.c - change _rl_make_prompt_for_search to set prompt_physical_chars appropriately - rl_save_prompt and rl_restore_prompt save and restore prompt_prefix_length - change redraw_prompt to use rl_save_prompt and rl_restore_prompt - change rl_restore_prompt to set the `save' variables back to
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -