diff --git a/src/Perl6/Grammar.pm b/src/Perl6/Grammar.pm index 571a028c63e..b7778ba9c25 100644 --- a/src/Perl6/Grammar.pm +++ b/src/Perl6/Grammar.pm @@ -396,25 +396,17 @@ grammar Perl6::Grammar is HLL::Grammar { $*UNIT_OUTER := $*ST.push_lexpad($/); $*UNIT := $*ST.push_lexpad($/); - # If we already have a specified outer context, then we'll mostly - # just steal stuff from it. - if pir::defined(%*COMPILING<%?OPTIONS>) { - # Locate its EXPORTHOW, if any, and import from it. - $/.CURSOR.unitstart(); - #try { - my $EXPORTHOW := $*ST.find_symbol(['EXPORTHOW']); - for $EXPORTHOW.WHO { - %*HOW{$_.key} := $_.value; - } - #} - } - else { - # Load setting and import any meta-objects. + # If we already have a specified outer context, then that's + # our setting. Otherwise, load one. + unless pir::defined(%*COMPILING<%?OPTIONS>) { $*SETTING := $*ST.load_setting(%*COMPILING<%?OPTIONS> // 'CORE'); - unless %*COMPILING<%?OPTIONS> eq 'NULL' { - $/.CURSOR.import_EXPORTHOW($*SETTING); + } + $/.CURSOR.unitstart(); + try { + my $EXPORTHOW := $*ST.find_symbol(['EXPORTHOW']); + for $EXPORTHOW.WHO { + %*HOW{$_.key} := $_.value; } - $/.CURSOR.unitstart(); } # Create GLOBAL(ish).