X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=mad%2FNomad.pm;h=eaac474b783f37f8b39f7dadc1a09ac3cb0fd701;hb=35fe4187b13e55333f87abc0091ce2732e9382fb;hp=4fdd3a89ee324881ce7e553929fa8418ed0bb1e9;hpb=dde833314f5826ee54c52d1baaca343300ee23fd;p=p5sagit%2Fp5-mst-13.2.git diff --git a/mad/Nomad.pm b/mad/Nomad.pm old mode 100755 new mode 100644 index 4fdd3a8..eaac474 --- a/mad/Nomad.pm +++ b/mad/Nomad.pm @@ -674,7 +674,7 @@ sub ast { return P5AST::listop->new(Kids => [@before,@retval]); } - push @retval, $self->madness('o ( [ {'); + push @retval, $self->madness('o d ( [ {'); my @newkids; for my $kid (@{$$self{Kids}}) { @@ -1683,7 +1683,10 @@ sub ast { if ($rfirst[-1]->uni ne $llast[-1]->uni) { push @newkids, @rfirst; } - + # remove the fake '\n' if /e and '#' in replacement. + if (@mods and $mods[0] =~ m/e/ and ($self->madness('R'))[0]->uni =~ m/#/) { + unshift @rlast, bless {}, 'chomp'; # hack to remove '\n' + } push @newkids, $bits->{repl}, @rlast, @mods; my $retval = $self->newtype->new(Kids => [@newkids]); @@ -2835,6 +2838,7 @@ package PLXML::op_enterwrite; package PLXML::op_leavewrite; package PLXML::op_prtf; package PLXML::op_print; +package PLXML::op_say; package PLXML::op_sysopen; package PLXML::op_sysseek; package PLXML::op_sysread;