Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

[GGE::OPTable] cloned closure

Triggered a nasty reentrancy bug if the closure wasn't manually cloned.
  • Loading branch information...
commit 686e6ed28bd756f77651897323a7236ea1765370 1 parent 3f4bdd4
@masak authored
Showing with 3 additions and 2 deletions.
  1. +3 −2 lib/GGE/OPTable.pm
View
5 lib/GGE/OPTable.pm
@@ -112,7 +112,8 @@ class GGE::OPTable {
$pos = $oper.to;
$expect = $token<expect> +> 8;
};
- my &reduce = {
+ # RAKUDO: Need to manually clone the closure [perl #73034]
+ my &reduce = pir::clone({
my $top = pop @tokenstack;
my $oper = pop @operstack;
my $reduce = True;
@@ -161,7 +162,7 @@ class GGE::OPTable {
$pos = -1;
}
}
- };
+ });
while $pos < $target.chars {
my $stop_matching = False;
if $stoptoken
Please sign in to comment.
Something went wrong with that request. Please try again.