From 38e1e666e2b628a8833b4fded0e4b0453cf7f50f Mon Sep 17 00:00:00 2001 From: Stefan O'Rear Date: Sat, 23 Oct 2010 22:39:42 -0700 Subject: [PATCH] =?UTF-8?q?Allow=20$=C2=A2=20inside=20:lang(=20)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Niecza/Actions.pm | 2 +- src/RxOp.pm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Niecza/Actions.pm b/src/Niecza/Actions.pm index c84ca441..00c1c6e6 100644 --- a/src/Niecza/Actions.pm +++ b/src/Niecza/Actions.pm @@ -858,7 +858,7 @@ sub mod_internal__S_p6adv { my ($cl, $M) = @_; $v = $v->[0]{_ast}; if ($k eq 'lang') { - $M->{_ast} = RxOp::SetLang->new(expr => $v); + $M->{_ast} = RxOp::SetLang->new(expr => $cl->transparent($M, $v, sig => Sig->simple('$ยข'))); } elsif ($k eq 'dba') { UNWRAP: { $v->isa('Op::Paren') && ($v = $v->inside, redo UNWRAP); diff --git a/src/RxOp.pm b/src/RxOp.pm index 1284eef0..4bebb018 100644 --- a/src/RxOp.pm +++ b/src/RxOp.pm @@ -708,12 +708,12 @@ use CgOp; sub code { my ($self, $body) = @_; CgOp::rxsetclass(CgOp::obj_llhow(CgOp::fetch( - $self->expr->cgop($body)))); + CgOp::subcall(CgOp::fetch($self->expr->cgop($body)), CgOp::newscalar(CgOp::rxcall('MakeCursor')))))); } sub lad { my ($self) = @_; - [ 'Null' ]; + [ 'Imp' ]; } __PACKAGE__->meta->make_immutable;