develooper Front page | perl.cvs.parrot | Postings from December 2008

[svn:parrot] r34002 - branches/rakudoreg/languages/perl6/src/parser

From:
jonathan
Date:
December 16, 2008 16:26
Subject:
[svn:parrot] r34002 - branches/rakudoreg/languages/perl6/src/parser
Message ID:
20081217002632.2F10BCBA12@x12.develooper.com
Author: jonathan
Date: Tue Dec 16 16:26:31 2008
New Revision: 34002

Modified:
   branches/rakudoreg/languages/perl6/src/parser/actions.pm

Log:
[rakudo] This patch is an attempt to fix the issue with November; expect I'll back this out and do it a better way if it does fix it.

Modified: branches/rakudoreg/languages/perl6/src/parser/actions.pm
==============================================================================
--- branches/rakudoreg/languages/perl6/src/parser/actions.pm	(original)
+++ branches/rakudoreg/languages/perl6/src/parser/actions.pm	Tue Dec 16 16:26:31 2008
@@ -404,9 +404,14 @@
             :node( $/ )
         );
 
-        # Compile the module.
+        # Compile the module (need to preserve our cleanup stack and give the compiler
+        # a fresh one).
+        our @?UNDER_CONSTRUCTION;
+        my @preserve := @?UNDER_CONSTRUCTION;
+        @?UNDER_CONSTRUCTION := list();
         my $sub := PAST::Compiler.compile( $past );
         $sub();
+        @?UNDER_CONSTRUCTION := @preserve;
         
         # Code to use the module needs to be emitted to, so this works for
         # pre-compiled modules (it will check %*INC and not reload it) in the



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About