From: Jarkko Hietaniemi Date: Tue, 25 Jun 2002 15:18:15 +0000 (+0000) Subject: Unicode s/// buglet found by Gregor Chrupala in perl-unicode. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=aefe6dfccddf8cd17a61950ab2c2f527a046180c;p=p5sagit%2Fp5-mst-13.2.git Unicode s/// buglet found by Gregor Chrupala in perl-unicode. p4raw-id: //depot/perl@17353 --- diff --git a/pp_hot.c b/pp_hot.c index de2dec4..22c54fc 100644 --- a/pp_hot.c +++ b/pp_hot.c @@ -2089,6 +2089,8 @@ PP(pp_subst) SPAGAIN; } SvTAINT(TARG); + if (doutf8) + SvUTF8_on(TARG); LEAVE_SCOPE(oldsave); RETURN; } diff --git a/t/op/subst.t b/t/op/subst.t index 8b0a8b0..e80ab23 100755 --- a/t/op/subst.t +++ b/t/op/subst.t @@ -7,7 +7,7 @@ BEGIN { } require './test.pl'; -plan( tests => 89 ); +plan( tests => 92 ); $x = 'foo'; $_ = "x"; @@ -372,10 +372,32 @@ ok( $_ eq "C B" && $snum == 12 ); my $l = my $r = $s; $l =~ s/[^\w]//g; $r =~ s/[^\w\.]//g; - is($l, $r, "use utf8"); + is($l, $r, "use utf8 \\w"); } my $pv1 = my $pv2 = "Andreas J. K\303\266nig"; $pv1 =~ s/A/\x{100}/; substr($pv2,0,1) = "\x{100}"; is($pv1, $pv2); + +{ + use utf8; + $a = 'España'; + $a =~ s/ñ/ñ/; + like($a, qr/ñ/, "use utf8 RHS"); +} + +{ + use utf8; + $a = 'España España'; + $a =~ s/ñ/ñ/; + like($a, qr/ñ/, "use utf8 LHS"); +} + +{ + use utf8; + $a = 'España'; + $a =~ s/ñ/ñ/; + like($a, qr/ñ/, "use utf8 LHS and RHS"); +} +