diff options
author | Sam James <sam@gentoo.org> | 2022-10-08 23:07:20 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-10-08 23:08:13 +0100 |
commit | f311a77983e608c3218f492ece715bced27f77a0 (patch) | |
tree | bf3f54c345e888f41bd96762a9dd39ca711f5021 /app-shells | |
parent | sys-devel/gcc-config: add 2.7 (diff) | |
download | gentoo-f311a77983e608c3218f492ece715bced27f77a0.tar.gz gentoo-f311a77983e608c3218f492ece715bced27f77a0.tar.bz2 gentoo-f311a77983e608c3218f492ece715bced27f77a0.zip |
app-shells/bash: reorganise 5.2_p2-r2 patches
Just splits the patches from 47950445cddff736a1e6c0c1346a20ab6b326cc1
into two.
Closes: https://bugs.gentoo.org/873931
See: 47950445cddff736a1e6c0c1346a20ab6b326cc1
Thanks-to: Kerin Millar <kfm@plushkava.net>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-shells')
3 files changed, 43 insertions, 39 deletions
diff --git a/app-shells/bash/bash-5.2_p2-r2.ebuild b/app-shells/bash/bash-5.2_p2-r2.ebuild index 897cf5324a38..c79b71ca70ef 100644 --- a/app-shells/bash/bash-5.2_p2-r2.ebuild +++ b/app-shells/bash/bash-5.2_p2-r2.ebuild @@ -108,7 +108,8 @@ PATCHES=( # Patches from Chet sent to bash-bug ml "${FILESDIR}"/${PN}-5.0-syslog-history-extern.patch - "${FILESDIR}"/${PN}-5.2_p2-fixes-for-extglob-in-compat-mode.patch + "${FILESDIR}"/${P}-fix-for-brackets-in-nested-parameter-expansions.patch + "${FILESDIR}"/${P}-fixes-for-extglob-in-compat-mode.patch ) pkg_setup() { diff --git a/app-shells/bash/files/bash-5.2_p2-fix-for-brackets-in-nested-parameter-expansions.patch b/app-shells/bash/files/bash-5.2_p2-fix-for-brackets-in-nested-parameter-expansions.patch new file mode 100644 index 000000000000..9c1b03f8b2df --- /dev/null +++ b/app-shells/bash/files/bash-5.2_p2-fix-for-brackets-in-nested-parameter-expansions.patch @@ -0,0 +1,41 @@ +https://git.savannah.gnu.org/cgit/bash.git/commit/?h=devel&id=22f21b760ed90eb77c3756e6ccf39b73c84f532a + +--- subst.c ++++ subst.c +@@ -1798,6 +1798,9 @@ extract_heredoc_dolbrace_string (string, sindex, quoted, flags) + return (result); + } + ++#define PARAMEXPNEST_MAX 32 // for now ++static int dbstate[PARAMEXPNEST_MAX]; ++ + /* Extract a parameter expansion expression within ${ and } from STRING. + Obey the Posix.2 rules for finding the ending `}': count braces while + skipping over enclosed quoted strings and command substitutions. +@@ -1828,6 +1831,8 @@ extract_dollar_brace_string (string, sindex, quoted, flags) + if (quoted == Q_HERE_DOCUMENT && dolbrace_state == DOLBRACE_QUOTE && (flags & SX_NOALLOC) == 0) + return (extract_heredoc_dolbrace_string (string, sindex, quoted, flags)); + ++ dbstate[0] = dolbrace_state; ++ + pass_character = 0; + nesting_level = 1; + slen = strlen (string + *sindex) + *sindex; +@@ -1852,6 +1857,8 @@ extract_dollar_brace_string (string, sindex, quoted, flags) + + if (string[i] == '$' && string[i+1] == LBRACE) + { ++ if (nesting_level < PARAMEXPNEST_MAX) ++ dbstate[nesting_level] = dolbrace_state; + nesting_level++; + i += 2; + if (dolbrace_state == DOLBRACE_QUOTE || dolbrace_state == DOLBRACE_WORD) +@@ -1864,6 +1871,7 @@ extract_dollar_brace_string (string, sindex, quoted, flags) + nesting_level--; + if (nesting_level == 0) + break; ++ dolbrace_state = (nesting_level < PARAMEXPNEST_MAX) ? dbstate[nesting_level] : dbstate[0]; /* Guess using initial state */ + i++; + continue; + } + diff --git a/app-shells/bash/files/bash-5.2_p2-fixes-for-extglob-in-compat-mode.patch b/app-shells/bash/files/bash-5.2_p2-fixes-for-extglob-in-compat-mode.patch index 06415b5cdaa4..16393c79af8b 100644 --- a/app-shells/bash/files/bash-5.2_p2-fixes-for-extglob-in-compat-mode.patch +++ b/app-shells/bash/files/bash-5.2_p2-fixes-for-extglob-in-compat-mode.patch @@ -213,44 +213,6 @@ https://git.savannah.gnu.org/cgit/bash.git/commit/?h=devel&id=22f21b760ed90eb77c This file is part of GNU Bash, the Bourne Again SHell. ---- subst.c -+++ subst.c -@@ -1798,6 +1798,9 @@ extract_heredoc_dolbrace_string (string, sindex, quoted, flags) - return (result); - } - -+#define PARAMEXPNEST_MAX 32 // for now -+static int dbstate[PARAMEXPNEST_MAX]; -+ - /* Extract a parameter expansion expression within ${ and } from STRING. - Obey the Posix.2 rules for finding the ending `}': count braces while - skipping over enclosed quoted strings and command substitutions. -@@ -1828,6 +1831,8 @@ extract_dollar_brace_string (string, sindex, quoted, flags) - if (quoted == Q_HERE_DOCUMENT && dolbrace_state == DOLBRACE_QUOTE && (flags & SX_NOALLOC) == 0) - return (extract_heredoc_dolbrace_string (string, sindex, quoted, flags)); - -+ dbstate[0] = dolbrace_state; -+ - pass_character = 0; - nesting_level = 1; - slen = strlen (string + *sindex) + *sindex; -@@ -1852,6 +1857,8 @@ extract_dollar_brace_string (string, sindex, quoted, flags) - - if (string[i] == '$' && string[i+1] == LBRACE) - { -+ if (nesting_level < PARAMEXPNEST_MAX) -+ dbstate[nesting_level] = dolbrace_state; - nesting_level++; - i += 2; - if (dolbrace_state == DOLBRACE_QUOTE || dolbrace_state == DOLBRACE_WORD) -@@ -1864,6 +1871,7 @@ extract_dollar_brace_string (string, sindex, quoted, flags) - nesting_level--; - if (nesting_level == 0) - break; -+ dolbrace_state = (nesting_level < PARAMEXPNEST_MAX) ? dbstate[nesting_level] : dbstate[0]; /* Guess using initial state */ - i++; - continue; - } --- tests/extglob.right +++ tests/extglob.right @@ -182,3 +182,10 @@ no dotglob: .a .foo bar |