change redisplay to handle some cases where the line consumes more than the number of physical screen lines; add regerror() error messages if regular expression compilation fails; make sure active region readline variables are displayed with bind -v; partial fix for bind -x and commands containing quoting characters

This commit is contained in:
Chet Ramey
2023-07-19 15:33:45 -04:00
parent 7f7ee0e9c6
commit ad39c5c3d7
23 changed files with 2269 additions and 1996 deletions
+58
View File
@@ -7143,3 +7143,61 @@ lib/sh/unicode.c
nl_langinfo (CODESET) if HAVE_LANGINFO_CODESET is define, since
we no longer check for nl_langinfo. This is what locale.c does.
7/15
----
lib/readline/display.c
- rl_redisplay: rudimentary code to handle some cases where the line
buffer consumes more than the physical number of screen lines. It's
not a screen editor, but it handles some of the common cases.
From https://bugs.launchpad.net/ubuntu/+source/bash/+bug/2024628
7/17
----
builtins/printf.def
- getwidestr: make sure to force mbsrtowcs to convert the closing NULL
so the wide-character string is NULL-terminated.
From a report by Grisha Levit <grishalevit@gmail.com>
lib/sh/shmatch.c
- strregerror: new function to return regerror(3) error message text
in allocated memory
- sh_regmatch: add an additional argument to hold the error message
from regerror(3), in newly-allocated memory; generated by call to
strregerror() on regcomp(3) failure
From a patch by Grisha Levit <grishalevit@gmail.com>
externs.h
- sh_regmatch: update extern declaration
execute_cmd.c
- execute_cond_node: pass pointer to buffer to return any error
message; if sh_regmatch returns 2, use a non-NULL error buffer in
the error message.
lib/readline/bind.c
- _rl_get_string_variable_value: return the values for
active-region-start-color (_rl_active_region_start_color) and
active-region-end-color (_rl_active_region_end_color) if they
are set.
Fixes bind -v issue reported by Sebastian Carlos <sebaaa1754@gmail.com>
- _rl_get_string_variable_value: if the history is stifled, make
sure we report the history size as < 0 so the output of bind -v
can be reused as input.
Fixes bind -v issue reported by Sebastian Carlos <sebaaa1754@gmail.com>
7/19
----
lib/readline/bind.c
- _rl_macro_dumper_internal: if print_readably is < 0, don't
`untranslate' the macro value for an inputrc setting; leave it in
such a way that `bind' can use it. Print the value without the
enclosing double quotes.
From a report by Grisha Levit <grishalevit@gmail.com>
lib/readline/doc/rltech.texi
- rl_macro_dumper: document new semantics for print_readably
bashline.c
- print_unix_command_map: call rl_macro_dumper with an argument of -1
so we can use the output directly in another call to bind -x.