summaryrefslogtreecommitdiff
path: root/op.c
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2011-11-24 17:43:38 -0800
committerFather Chrysostomos <sprout@cpan.org>2011-11-24 21:11:05 -0800
commit547ae1291622100dc17f3ab6cb5aac35f22c5e43 (patch)
tree9539180644309ba1511140ab6638c9c2c1255967 /op.c
parent4328d7879628026a00edbb6b85370b9f707ccd42 (diff)
downloadperl-547ae1291622100dc17f3ab6cb5aac35f22c5e43.tar.gz
evalbytes should ignore outer utf8 declaration
A slight mistake in the evalbytes.t test script caused a lot of tests not be testing what they were supposed to be testing for. I used 'qq(\x...)' instead of qq('\x...'). (I.e., I was trying to embed lit- eral Unicode characters in the string, rather than pass escapes to evalbytes.) I had wondered at the time why it worked without my doing anything, so I probably should have looked deeper.
Diffstat (limited to 'op.c')
-rw-r--r--op.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/op.c b/op.c
index 2fbf4bd604..93a96783c6 100644
--- a/op.c
+++ b/op.c
@@ -7512,6 +7512,7 @@ Perl_ck_eval(pTHX_ OP *o)
op_getmad(oldo,o,'O');
}
o->op_targ = (PADOFFSET)PL_hints;
+ if (o->op_private & OPpEVAL_BYTES) o->op_targ &= ~HINT_UTF8;
if ((PL_hints & HINT_LOCALIZE_HH) != 0
&& !(o->op_private & OPpEVAL_COPHH) && GvHV(PL_hintgv)) {
/* Store a copy of %^H that pp_entereval can pick up. */