* [OE-core][PATCH] bash: Disable bracketed input by default
@ 2021-02-04 21:38 Joshua Watt
2021-02-05 1:48 ` Randy MacLeod
0 siblings, 1 reply; 2+ messages in thread
From: Joshua Watt @ 2021-02-04 21:38 UTC (permalink / raw)
To: openembedded-core; +Cc: Joshua Watt
Bash 5.1 enabled bracketed input mode by default, but this causes a lot
of problems with automated testing as it can inject a lot of control
sequences into non-interactive output. Disable it to cleanup the output
an preserve the pre-5.1 behavior
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
---
meta/recipes-extended/bash/bash.inc | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/meta/recipes-extended/bash/bash.inc b/meta/recipes-extended/bash/bash.inc
index bc737acd63..db326660ea 100644
--- a/meta/recipes-extended/bash/bash.inc
+++ b/meta/recipes-extended/bash/bash.inc
@@ -17,6 +17,10 @@ CFLAGS += "-DNON_INTERACTIVE_LOGIN_SHELLS"
# This can vary depending upon the host
CFLAGS += "-DHEREDOC_PIPESIZE=65536"
+# Disable bracketed paste mode by default (enabled by default in bash 5.1). It
+# causes a lot of garbage in non-interactive shells
+CFLAGS += "-DBRACKETED_PASTE_DEFAULT=0"
+
ALTERNATIVE_${PN} = "bash sh"
ALTERNATIVE_LINK_NAME[bash] = "${base_bindir}/bash"
ALTERNATIVE_TARGET[bash] = "${base_bindir}/bash"
--
2.30.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [OE-core][PATCH] bash: Disable bracketed input by default
2021-02-04 21:38 [OE-core][PATCH] bash: Disable bracketed input by default Joshua Watt
@ 2021-02-05 1:48 ` Randy MacLeod
0 siblings, 0 replies; 2+ messages in thread
From: Randy MacLeod @ 2021-02-05 1:48 UTC (permalink / raw)
To: Joshua Watt, openembedded-core
On 2021-02-04 4:38 p.m., Joshua Watt wrote:
> Bash 5.1 enabled bracketed input mode by default, but this causes a lot
> of problems with automated testing as it can inject a lot of control
> sequences into non-interactive output. Disable it to cleanup the output
> an preserve the pre-5.1 behavior
>
> Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
> ---
> meta/recipes-extended/bash/bash.inc | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/meta/recipes-extended/bash/bash.inc b/meta/recipes-extended/bash/bash.inc
> index bc737acd63..db326660ea 100644
> --- a/meta/recipes-extended/bash/bash.inc
> +++ b/meta/recipes-extended/bash/bash.inc
> @@ -17,6 +17,10 @@ CFLAGS += "-DNON_INTERACTIVE_LOGIN_SHELLS"
> # This can vary depending upon the host
> CFLAGS += "-DHEREDOC_PIPESIZE=65536"
>
> +# Disable bracketed paste mode by default (enabled by default in bash 5.1). It
> +# causes a lot of garbage in non-interactive shells
> +CFLAGS += "-DBRACKETED_PASTE_DEFAULT=0"
> +
Reverting default upstream behaviour seems dodgy but in this case the
feature is marked as experimental (see below) so I think it's fine.
See:
https://git.savannah.gnu.org/cgit/bash.git/commit/?id=8868edaf2
and search for:
+int _rl_enable_bracketed_paste = BRACKETED_PASTE_DEFAULT;
and then
_rl_enable_bracketed_paste
(patch section shown below)
Joshua,
Will you ask that upstream turns this off by default?
../Randy
Sorry for the line wrapping:
+ case ESC:
+ /* XXX - experimental code to allow users to bracketed-paste into the
+ search string. Similar code is in isearch.c:_rl_isearch_dispatch().
+ The difference here is that the bracketed paste sometimes doesn't
+ paste everything, so checking for the prefix and the suffix in the
+ input queue doesn't work well. We just have to check to see if the
+ number of chars in the input queue is enough for the bracketed
paste
+ prefix and hope for the best. */
+ if (_rl_enable_bracketed_paste && ((n = _rl_nchars_available ())
>= (BRACK_PASTE_SLEN-1)))
+ {
+ if (_rl_read_bracketed_paste_prefix (c) == 1)
+ rl_bracketed_paste_begin (1, c);
+ else
+ {
+ c = rl_read_key (); /* get the ESC that got pushed
back */
+ _rl_insert_char (1, c);
+ }
+ }
+ else
+ _rl_insert_char (1, c);
+ break;
+
> ALTERNATIVE_${PN} = "bash sh"
> ALTERNATIVE_LINK_NAME[bash] = "${base_bindir}/bash"
> ALTERNATIVE_TARGET[bash] = "${base_bindir}/bash"
>
>
>
>
>
--
# Randy MacLeod
# Wind River Linux
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-02-05 1:48 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-02-04 21:38 [OE-core][PATCH] bash: Disable bracketed input by default Joshua Watt
2021-02-05 1:48 ` Randy MacLeod
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.