bash: add upstream fix for pop_var_context error

Closes: #214822
This commit is contained in:
Emily 2024-08-01 14:21:50 +01:00
parent a76707e813
commit b62cfa99c3
2 changed files with 19 additions and 0 deletions

View File

@ -61,6 +61,8 @@ stdenv.mkDerivation rec {
# https://savannah.gnu.org/patch/index.php?10373
# Had to fetch manually to workaround -p0 default.
./parallel.patch
# Fix `pop_var_context: head of shell_variables not a function context`.
./fix-pop-var-context-error.patch
];
configureFlags = [

View File

@ -0,0 +1,17 @@
Excerpted from <https://git.savannah.gnu.org/cgit/bash.git/commit/?h=devel&id=055a4552c901e43e6a6007f5bc664a33698dbf85>.
Original author: Chet Ramey <chet.ramey@case.edu>
--- variables.c
+++ variables.c
@@ -5413,7 +5413,9 @@ pop_var_context ()
vcxt = shell_variables;
if (vc_isfuncenv (vcxt) == 0)
{
- internal_error (_("pop_var_context: head of shell_variables not a function context"));
+ /* If we haven't flushed all of the local contexts already, flag an error */
+ if (shell_variables != global_variables || variable_context > 0)
+ internal_error (_("pop_var_context: head of shell_variables not a function context"));
return;
}