diff --git a/perlito5.pl b/perlito5.pl index 062f2257e..8e19824f5 100644 --- a/perlito5.pl +++ b/perlito5.pl @@ -9866,14 +9866,14 @@ package Perlito5::AST::Apply; $optional = 1 } elsif ($c eq '$' || $c eq '_') { - (@in || !$optional) && push(@out, shift(@in)->emit_javascript2($level, 'scalar')) + (@in || !$optional) && push(@out, shift(@in)->emit_javascript2($level + 1, 'scalar')) } elsif ($c eq '@') { - (@in || !$optional) && ($close = '].concat(' . Perlito5::Javascript2::to_list(\@in) . ')'); + (@in || !$optional) && ($close = '].concat(' . Perlito5::Javascript2::to_list(\@in, $level + 1) . ')'); @in = () } elsif ($c eq '&') { - push(@out, shift(@in)->emit_javascript2($level, 'scalar')) + push(@out, shift(@in)->emit_javascript2($level + 1, 'scalar')) } elsif ($c eq '*') { if (@in || !$optional) { @@ -9882,26 +9882,26 @@ package Perlito5::AST::Apply; push(@out, Perlito5::Javascript2::escape_string($arg->{'code'})) } else { - push(@out, $arg->emit_javascript2($level, 'scalar')) + push(@out, $arg->emit_javascript2($level + 1, 'scalar')) } } } elsif ($c eq chr(92)) { if (substr($sig, 0, 2) eq chr(92) . '$') { $sig = substr($sig, 1); - (@in || !$optional) && push(@out, shift(@in)->emit_javascript2($level, 'scalar')) + (@in || !$optional) && push(@out, shift(@in)->emit_javascript2($level + 1, 'scalar')) } elsif (substr($sig, 0, 2) eq chr(92) . '@' || substr($sig, 0, 2) eq chr(92) . '%') { $sig = substr($sig, 1); - (@in || !$optional) && push(@out, shift(@in)->emit_javascript2($level, 'list')) + (@in || !$optional) && push(@out, shift(@in)->emit_javascript2($level + 1, 'list')) } elsif (substr($sig, 0, 5) eq chr(92) . '[@%]') { $sig = substr($sig, 4); - (@in || !$optional) && push(@out, shift(@in)->emit_javascript2($level, 'list')) + (@in || !$optional) && push(@out, shift(@in)->emit_javascript2($level + 1, 'list')) } elsif (substr($sig, 0, 6) eq chr(92) . '[$@%]') { $sig = substr($sig, 5); - (@in || !$optional) && push(@out, shift(@in)->emit_javascript2($level, 'list')) + (@in || !$optional) && push(@out, shift(@in)->emit_javascript2($level + 1, 'list')) } } $sig = substr($sig, 1) diff --git a/src5/lib/Perlito5/Javascript2/Emitter.pm b/src5/lib/Perlito5/Javascript2/Emitter.pm index 4f5594faa..260ed1837 100644 --- a/src5/lib/Perlito5/Javascript2/Emitter.pm +++ b/src5/lib/Perlito5/Javascript2/Emitter.pm @@ -2802,15 +2802,15 @@ package Perlito5::AST::Apply; $optional = 1; } elsif ($c eq '$' || $c eq '_') { - push @out, shift(@in)->emit_javascript2( $level, 'scalar' ) if @in || !$optional; + push @out, shift(@in)->emit_javascript2( $level + 1, 'scalar' ) if @in || !$optional; } elsif ($c eq '@') { - $close = '].concat(' . Perlito5::Javascript2::to_list(\@in) . ')' + $close = '].concat(' . Perlito5::Javascript2::to_list(\@in, $level + 1) . ')' if @in || !$optional; @in = (); } elsif ($c eq '&') { - push @out, shift(@in)->emit_javascript2( $level, 'scalar' ); + push @out, shift(@in)->emit_javascript2( $level + 1, 'scalar' ); } elsif ($c eq '*') { if (@in || !$optional) { @@ -2819,29 +2819,29 @@ package Perlito5::AST::Apply; push @out, Perlito5::Javascript2::escape_string($arg->{code}); } else { - push @out, $arg->emit_javascript2( $level, 'scalar' ); + push @out, $arg->emit_javascript2( $level + 1, 'scalar' ); } } } elsif ($c eq '\\') { if (substr($sig, 0, 2) eq '\\$') { $sig = substr($sig, 1); - push @out, shift(@in)->emit_javascript2( $level, 'scalar' ) if @in || !$optional; + push @out, shift(@in)->emit_javascript2( $level + 1, 'scalar' ) if @in || !$optional; } elsif (substr($sig, 0, 2) eq '\\@' || substr($sig, 0, 2) eq '\\%' ) { $sig = substr($sig, 1); - push @out, shift(@in)->emit_javascript2( $level, 'list' ) if @in || !$optional; + push @out, shift(@in)->emit_javascript2( $level + 1, 'list' ) if @in || !$optional; } elsif (substr($sig, 0, 5) eq '\\[@%]') { $sig = substr($sig, 4); - push @out, shift(@in)->emit_javascript2( $level, 'list' ) if @in || !$optional; + push @out, shift(@in)->emit_javascript2( $level + 1, 'list' ) if @in || !$optional; } elsif (substr($sig, 0, 6) eq '\\[$@%]') { $sig = substr($sig, 5); - push @out, shift(@in)->emit_javascript2( $level, 'list' ) if @in || !$optional; + push @out, shift(@in)->emit_javascript2( $level + 1, 'list' ) if @in || !$optional; } } $sig = substr($sig, 1); diff --git a/src5/lib/Perlito5X/Exporter.pm b/src5/lib/Perlito5X/Exporter.pm index 6544f742b..7d6d32f57 100644 --- a/src5/lib/Perlito5X/Exporter.pm +++ b/src5/lib/Perlito5X/Exporter.pm @@ -14,7 +14,7 @@ sub import { my $pkg = shift; my $callpkg = caller($ExportLevel); - say "import: from $pkg to $callpkg [@_]"; + # say "import: from $pkg to $callpkg [@_]"; if ( $pkg eq "Exporter" and @_ and $_[0] eq "import" ) { *{ $callpkg . "::import" } = \&import;