summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-10-08 23:07:20 +0100
committerSam James <sam@gentoo.org>2022-10-08 23:08:13 +0100
commitf311a77983e608c3218f492ece715bced27f77a0 (patch)
treebf3f54c345e888f41bd96762a9dd39ca711f5021
parentsys-devel/gcc-config: add 2.7 (diff)
downloadgentoo-f311a779.tar.gz
gentoo-f311a779.tar.bz2
gentoo-f311a779.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>
-rw-r--r--app-shells/bash/bash-5.2_p2-r2.ebuild3
-rw-r--r--app-shells/bash/files/bash-5.2_p2-fix-for-brackets-in-nested-parameter-expansions.patch41
-rw-r--r--app-shells/bash/files/bash-5.2_p2-fixes-for-extglob-in-compat-mode.patch38
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