From: Chet Ramey Date: Fri, 30 Oct 2020 15:30:19 +0000 (-0400) Subject: some auxiliary file cleanup X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1f344edf64b4f79b1221ce542552910eceecf009;p=thirdparty%2Freadline.git some auxiliary file cleanup --- diff --git a/CHANGES-6.3 b/CHANGES-6.3 deleted file mode 100644 index 6a04c10..0000000 --- a/CHANGES-6.3 +++ /dev/null @@ -1,125 +0,0 @@ -This document details the changes between this version, readline-6.3, and the -previous version, readline-6.2. - -1. Changes to Readline - -a. Fixed a bug that did not allow the `dd', `cc', or `yy' vi editing mode - commands to work on the entire line. - -b. Fixed a bug that caused redisplay problems with prompts longer than 128 - characters and history searches. - -c. Fixed a bug that caused readline to try and run code to modify its idea - of the screen size in a signal handler context upon receiving a SIGWINCH. - -d. Fixed a bug that caused the `meta' key to be enabled beyond the duration - of an individual call top readline(). - -e. Added a workaround for a wcwidth bug in Mac OS X that caused readline's - redisplay to mishandle zero-width combining characters. - -f. Fixed a bug that caused readline to `forget' part of a key sequence when - a multiple-key sequence caused it to break out of an incremental search. - -g. Fixed bugs that caused readline to execute code in a signal handler - context if interrupted while reading from the file system during completion. - -h. Fixed a bug that caused readline to `forget' part of a key sequence when - reading an unbound multi-character key sequence. - -i. Fixed a bug that caused Readline's signal handlers to be installed beyond - the bounds of a single call to readline(). - -j. Fixed a bug that caused the `.' command to not redo the most recent `R' - command in vi mode. - -k. Fixed a bug that caused ignoring case in completion matches to result in - readline using the wrong match. - -l. Paren matching now works in vi insert mode. - -m. Fix menu-completion to make show-all-if-ambiguous and menu-complete-display-prefix - work together. - -n. Fixed a bug that didn't allow the `cc', `dd', or `yy' commands to be redone - in vi editing mode. - -o. Fixed a bug that caused the filename comparison code to not compare - multibyte characters correctly when using case-sensitive or case-mapping - comparisons. - -p. Fixed the input reading loop to call the input hook function only when there - is no terminal input available. - -q. Fixed a bug that caused binding a macro to a multi-character key sequence - where the sequence and macro value share a common prefix to not perform - the macro replacement. - -r. Fixed several redisplay errors with multibyte characters and prompts - containing invisible characters when using horizontal scrolling. - -s. Fixed a bug that caused redisplay errors when trying to overwrite - existing characters using multibyte characters. - -t. Fixed a bug in vi mode that caused the arrow keys to set the saved last - vi-mode command to the wrong value. - -u. Fixed a bug that caused double-quoted strings to be scanned incorrectly - when being used as the value of a readline variable assignment. - -v. Fixed a bug with vi mode that prevented `.' from repeating a command - entered on a previous line (command). - -w. Fixed a bug that could cause completion to core dump if it was interrupted - by a signal. - -2. New Features in Readline - -a. Readline is now more responsive to SIGHUP and other fatal signals when - reading input from the terminal or performing word completion but no - longer attempts to run any not-allowable functions from a signal handler - context. - -b. There are new bindable commands to search the history for the string of - characters between the beginning of the line and the point - (history-substring-search-forward, history-substring-search-backward) - -c. Readline allows quoted strings as the values of variables when setting - them with `set'. As a side effect, trailing spaces and tabs are ignored - when setting a string variable's value. - -d. The history library creates a backup of the history file when writing it - and restores the backup on a write error. - -e. New application-settable variable: rl_filename_stat_hook: a function called - with a filename before using it in a call to stat(2). Bash uses it to - expand shell variables so things like $HOME/Downloads have a slash - appended. - -f. New bindable function `print-last-kbd-macro', prints the most-recently- - defined keyboard macro in a reusable format. - -g. New user-settable variable `colored-stats', enables use of colored text - to denote file types when displaying possible completions (colored analog - of visible-stats). - -h. New user-settable variable `keyseq-timout', acts as an inter-character - timeout when reading input or incremental search strings. - -i. New application-callable function: rl_clear_history. Clears the history list - and frees all readline-associated private data. - -j. New user-settable variable, show-mode-in-prompt, adds a characters to the - beginning of the prompt indicating the current editing mode. - -k. New application-settable variable: rl_input_available_hook; function to be - called when readline detects there is data available on its input file - descriptor. - -l. Readline calls an application-set event hook (rl_signal_event_hook) after - it gets a signal while reading input (read returns -1/EINTR but readline - does not handle the signal immediately) to allow the application to handle - or otherwise note it. Not currently called for SIGHUP or SIGTERM. - -m. If the user-settable variable `history-size' is set to a value less than - 0, the history list size is unlimited. diff --git a/CHANGES-7.0 b/CHANGES-7.0 deleted file mode 100644 index 1d14b5d..0000000 --- a/CHANGES-7.0 +++ /dev/null @@ -1,184 +0,0 @@ -This document details the changes between this version, readline-7.0, and the -previous version, readline-6.3. - -1. Changes to Readline - -a. A bug that caused vi-mode `.' to be unable to redo `c', `d', and `y' - commands with modifiers was fixed. - -b. Fixed a bug that caused callback mode to dump core when reading a - multiple-key sequence (e.g., arrow keys). - -c. Fixed a bug that caused the redisplay code to erase some of the line when - using horizontal scrolling with incremental search. - -d. Readline's input handler now performs signal processing if read(2) is - interrupted by SIGALRM or SIGVTALRM. - -e. Fixed a problem with revert-all-at-newline freeing freed memory. - -f. Clarified the documentation for the history_quotes_inhibit_expansion - variable to note that it inhibits scanning for the history comment - character and that it only affects double-quoted strings. - -g. Fixed an off-by-one error in the prompt printed when performing searches. - -h. Use pselect(2), if available, to wait for input before calling read(2), so - a SIGWINCH can interrupt it, since it doesn't interrupt read(2). - -i. Some memory leaks caused by signals interrupting filename completion have - been fixed. - -j. Reading EOF twice on a non-empty line causes EOF to be returned, rather - than the partial line. This can cause partial lines to be executed on - SIGHUP, for example. - -k. Fixed a bug concerning deleting multibyte characters from the search - string while performing an incremental search. - -l. Fixed a bug with tilde expanding directory names in filename completion. - -m. Fixed a bug that did not allow binding sequences beginning with a `\'. - -n. Fixed a redisplay bug involving incorrect line wrapping when the prompt - contains a multibyte character in the last screen column. - -o. Fixed a bug that caused history expansion to disregard characters that are - documented to delimit a history event specifier without requiring `:'. - -p. Fixed a bug that could cause reading past the end of a string when reading - the value when binding the set of isearch terminators. - -q. Fixed a bug that caused readline commands that depend on knowing which - key invoked them to misbehave when dispatching key sequences that are - prefixes of other key bindings. - -r. Paren matching now works in vi insert mode. - -s. Colored completion prefixes are now displayed using a different color, less - likely to collide with files. - -t. Fixed a bug that caused vi-mode character search to misbehave when - running in callback mode. - -u. Fixed a bug that caused output to be delayed when input is coming from a - macro in vi-mode. - -v. Fixed a bug that caused the vi-mode `.' command to misbehave when redoing - a multi-key key sequence via a macro. - -w. Fixed a bug that caused problems with applications that supply their own - input function when performing completion. - -x. When read returns -1/EIO when attempting to read a key, return an error - instead of line termination back to the caller. - -y. Updated tty auditing feature based on patch from Red Hat. - -z. Fixed a bug that could cause the history library to crash on overflows - introduced by malicious editing of timestamps in the history file. - -aa. The history file writing functions only attempt to create and use a backup - history file if the history file exists and is a regular file. - -bb. Fixed an out-of-bounds read in readline's internal tilde expansion interface. - -cc. Fixed several redisplay bugs with prompt strings containing multibyte - and non-visible characters whose physical length is longer than the screen - width. - -dd. Fixed a redisplay bug with prompt strings containing invisible characters - whose physical length exceeds the screen width and using incremental search. - -ee. Readline prints more descriptive error messages when it encounters errors - while reading an inputrc file. - -ff. Fixed a bug in the character insertion code that attempts to optimize - typeahead when it reads a character that is not bound to self-insert and - resets the key sequence state. - -gg. When refreshing the line as the result of a key sequence, Readline attempts - to redraw only the last line of a multiline prompt. - -hh. Fixed an issue that caused completion of git commands to display - incorrectly when using colored-completion-prefix. - -ii. Fixed several redisplay bugs having to do with multibyte characters and - invisible characters in prompt strings. - -jj. Fixed a bug that caused mode strings to be displayed incorrectly if the - prompt was shorter than the mode string. - -2. New Features in Readline - -a. The history truncation code now uses the same error recovery mechansim as - the history writing code, and restores the old version of the history file - on error. The error recovery mechanism handles symlinked history files. - -b. There is a new bindable variable, `enable-bracketed-paste', which enables - support for a terminal's bracketed paste mode. - -c. The editing mode indicators can now be strings and are user-settable - (new `emacs-mode-string', `vi-cmd-mode-string' and `vi-ins-mode-string' - variables). Mode strings can contain invisible character sequences. - Setting mode strings to null strings restores the defaults. - -d. Prompt expansion adds the mode string to the last line of a multi-line - prompt (one with embedded newlines). - -e. There is a new bindable variable, `colored-completion-prefix', which, if - set, causes the common prefix of a set of possible completions to be - displayed in color. - -f. There is a new bindable command `vi-yank-pop', a vi-mode version of emacs- - mode yank-pop. - -g. The redisplay code underwent several efficiency improvements for multibyte - locales. - -h. The insert-char function attempts to batch-insert all pending typeahead - that maps to self-insert, as long as it is coming from the terminal. - -i. rl_callback_sigcleanup: a new application function that can clean up and - unset any state set by readline's callback mode. Intended to be used - after a signal. - -j. If an incremental search string has its last character removed with DEL, the - resulting empty search string no longer matches the previous line. - -k. If readline reads a history file that begins with `#' (or the value of - the history comment character) and has enabled history timestamps, the history - entries are assumed to be delimited by timestamps. This allows multi-line - history entries. - -l. Readline now throws an error if it parses a key binding without a terminating - `:' or whitespace. - - -m. The default binding for ^W in vi mode now uses word boundaries specified - by Posix (vi-unix-word-rubout is bindable command name). - -n. rl_clear_visible_line: new application-callable function; clears all - screen lines occupied by the current visible readline line. - -o. rl_tty_set_echoing: application-callable function that controls whether - or not readline thinks it is echoing terminal output. - -p. Handle >| and strings of digits preceding and following redirection - specifications as single tokens when tokenizing the line for history - expansion. - -q. Fixed a bug with displaying completions when the prefix display length - is greater than the length of the completions to be displayed. - -r. The :p history modifier now applies to the entire line, so any expansion - specifying :p causes the line to be printed instead of expanded. - -s. New application-callable function: rl_pending_signal(): returns the signal - number of any signal readline has caught but not yet handled. - -t. New application-settable variable: rl_persistent_signal_handlers: if set - to a non-zero value, readline will enable the readline-6.2 signal handler - behavior in callback mode: handlers are installed when - rl_callback_handler_install is called and removed removed when a complete - line has been read. diff --git a/CHANGES-8.1 b/CHANGES-8.1 index d9d1679..374aa65 100644 --- a/CHANGES-8.1 +++ b/CHANGES-8.1 @@ -62,6 +62,27 @@ s. Fixed a bug with vi-mode digit arguments that caused the last command to be set incorrectly. This prevents yank-last-arg from working as intended, for example. +t. Make sure that all undo groups are closed when leaving vi insertion mode. + +u. Make sure that the vi-mode `C' and `c' commands enter insert mode even if + the motion command doesn't have any effect. + +v. Fixed several potential memory leaks in the callback mode context handling. + +w. If readline is handling a SIGTTOU, make sure SIGTTOU is blocked while + executing the terminal cleanup code, since it's no longer run in a signal + handling context. + +x. Fixed a bug that could cause an application with an application-specific + redisplay function to crash if the line data structures had not been + initialized. + +y. Terminals that are named "dumb" or unknown do not enable bracketed paste + by default. + +z. Ensure that disabling bracketed paste turns off highlighting the incremental + search string when the search is successful. + 2. New Features in Readline a. If a second consecutive completion attempt produces matches where the first @@ -86,7 +107,8 @@ f. New active mark and face feature: when enabled, it will highlight the text g. Readline sets the mark in several additional commands. -h. Bracketed paste mode is enabled by default (for now). +h. Bracketed paste mode is enabled by default. There is a configure-time + option (--enable-bracketed-paste-default) to set the default to on or off. i. Readline tries to take advantage of the more regular structure of UTF-8 characters to identify the beginning and end of characters when moving @@ -95,3 +117,4 @@ i. Readline tries to take advantage of the more regular structure of UTF-8 j. The bindable operate-and-get-next command (and its default bindings) are now part of readline instead of a bash-specific addition. +k. The signal cleanup code now blocks SIGINT while processing after a SIGINT. diff --git a/NEWS-6.3 b/NEWS-6.3 deleted file mode 100644 index ba5b581..0000000 --- a/NEWS-6.3 +++ /dev/null @@ -1,57 +0,0 @@ -This is a terse description of the new features added to readline-6.3 since -the release of readline-6.2. - -New Features in Readline - -a. Readline is now more responsive to SIGHUP and other fatal signals when - reading input from the terminal or performing word completion but no - longer attempts to run any not-allowable functions from a signal handler - context. - -b. There are new bindable commands to search the history for the string of - characters between the beginning of the line and the point - (history-substring-search-forward, history-substring-search-backward) - -c. Readline allows quoted strings as the values of variables when setting - them with `set'. As a side effect, trailing spaces and tabs are ignored - when setting a string variable's value. - -d. The history library creates a backup of the history file when writing it - and restores the backup on a write error. - -e. New application-settable variable: rl_filename_stat_hook: a function called - with a filename before using it in a call to stat(2). Bash uses it to - expand shell variables so things like $HOME/Downloads have a slash - appended. - -f. New bindable function `print-last-kbd-macro', prints the most-recently- - defined keyboard macro in a reusable format. - -g. New user-settable variable `colored-stats', enables use of colored text - to denote file types when displaying possible completions (colored analog - of visible-stats). - -h. New user-settable variable `keyseq-timout', acts as an inter-character - timeout when reading input or incremental search strings. - -i. New application-callable function: rl_clear_history. Clears the history list - and frees all readline-associated private data. - -j. New user-settable variable, show-mode-in-prompt, adds a characters to the - beginning of the prompt indicating the current editing mode. - -k. New application-settable variable: rl_input_available_hook; function to be - called when readline detects there is data available on its input file - descriptor. - -l. Readline calls an application-set event hook (rl_event_hook) after it gets - a signal while reading input (read returns -1/EINTR but readline does not - handle the signal immediately) to allow the application to handle or - otherwise note it. - -m. If the user-settable variable `history-size' is set to a value less than - 0, the history list size is unlimited. - -n. New application-settable variable: rl_signal_event_hook; function that is - called when readline is reading terminal input and read(2) is interrupted - by a signal. Currently not called for SIGHUP or SIGTERM. diff --git a/NEWS-7.0 b/NEWS-7.0 deleted file mode 100644 index 8959d6c..0000000 --- a/NEWS-7.0 +++ /dev/null @@ -1,74 +0,0 @@ -This is a terse description of the new features added to readline-7.0 since -the release of readline-6.3. - -New Features in Readline - -a. The history truncation code now uses the same error recovery mechansim as - the history writing code, and restores the old version of the history file - on error. The error recovery mechanism handles symlinked history files. - -b. There is a new bindable variable, `enable-bracketed-paste', which enables - support for a terminal's bracketed paste mode. - -c. The editing mode indicators can now be strings and are user-settable - (new `emacs-mode-string', `vi-cmd-mode-string' and `vi-ins-mode-string' - variables). Mode strings can contain invisible character sequences. - Setting mode strings to null strings restores the defaults. - -d. Prompt expansion adds the mode string to the last line of a multi-line - prompt (one with embedded newlines). - -e. There is a new bindable variable, `colored-completion-prefix', which, if - set, causes the common prefix of a set of possible completions to be - displayed in color. - -f. There is a new bindable command `vi-yank-pop', a vi-mode version of emacs- - mode yank-pop. - -g. The redisplay code underwent several efficiency improvements for multibyte - locales. - -h. The insert-char function attempts to batch-insert all pending typeahead - that maps to self-insert, as long as it is coming from the terminal. - -i. rl_callback_sigcleanup: a new application function that can clean up and - unset any state set by readline's callback mode. Intended to be used - after a signal. - -j. If an incremental search string has its last character removed with DEL, the - resulting empty search string no longer matches the previous line. - -k. If readline reads a history file that begins with `#' (or the value of - the history comment character) and has enabled history timestamps, the history - entries are assumed to be delimited by timestamps. This allows multi-line - history entries. - -l. Readline now throws an error if it parses a key binding without a terminating - `:' or whitespace. - -m. The default binding for ^W in vi mode now uses word boundaries specified - by Posix (vi-unix-word-rubout is bindable command name). - -n. rl_clear_visible_line: new application-callable function; clears all - screen lines occupied by the current visible readline line. - -o. rl_tty_set_echoing: application-callable function that controls whether - or not readline thinks it is echoing terminal output. - -p. Handle >| and strings of digits preceding and following redirection - specifications as single tokens when tokenizing the line for history - expansion. - -q. Fixed a bug with displaying completions when the prefix display length - is greater than the length of the completions to be displayed. - -r. The :p history modifier now applies to the entire line, so any expansion - specifying :p causes the line to be printed instead of expanded. - -s. New application-callable function: rl_pending_signal(): returns the signal - number of any signal readline has caught but not yet handled. - -t. New application-settable variable: rl_persistent_signal_handlers: if set to a - non-zero value, readline will enable the readline-6.2 signal handler behavior - in callback mode: handlers are installed when rl_callback_handler_install is - called and removed removed when a complete line has been read. diff --git a/NEWS-8.1 b/NEWS-8.1 index 75baa85..ecec734 100644 --- a/NEWS-8.1 +++ b/NEWS-8.1 @@ -25,7 +25,8 @@ f. New active mark and face feature: when enabled, it will highlight the text g. Readline sets the mark in several additional commands. -h. Bracketed paste mode is enabled by default (for now). +h. Bracketed paste mode is enabled by default. There is a configure-time + option (--enable-bracketed-paste-default) to set the default to on or off. i. Readline tries to take advantage of the more regular structure of UTF-8 characters to identify the beginning and end of characters when moving @@ -33,3 +34,5 @@ i. Readline tries to take advantage of the more regular structure of UTF-8 j. The bindable operate-and-get-next command (and its default bindings) are now part of readline instead of a bash-specific addition. + +k. The signal cleanup code now blocks SIGINT while processing after a SIGINT.