Integrate:
Vincent Pit [Thu, 23 Oct 2008 00:40:36 +0000 (02:40 +0200)]
[ 34580]
Subject: Re: [perl #60034] (?>) causes wrongness on long string
Message-ID: <48FFABE4.2030507@profvince.com>

[just the changes, as TODOs]
p4raw-link: @34580 on //depot/maint-5.8/perl: 7e8969c0412490151f26944243e2767cf32aca95

p4raw-id: //depot/perl@34581
p4raw-integrated: from //depot/maint-5.8/perl@34579 'edit in'
t/op/pat.t (@34396..)

t/op/pat.t

index 0c57c84..a2d49ac 100755 (executable)
@@ -4643,6 +4643,20 @@ SKIP: {
        'IsPunct agrees with [:punct:] with explicit Latin1');
 } 
 
+# [perl #60034]
+{
+    my $a = "xyzt" x 8192;
+    local $TODO = "#60034";
+    ok($a =~ /\A(?>[a-z])*\z/, '(?>) does not cause wrongness on long string');
+    my $b = $a . chr 256;
+    chop $b;
+    undef $TODO;
+    iseq($a, $b);
+    $TODO = "#60034";
+    ok($b =~ /\A(?>[a-z])*\z/,
+       '(?>) does not cause wrongness on long string with UTF-8');
+}
+
 
 # Test counter is at bottom of file. Put new tests above here.
 #-------------------------------------------------------------------
@@ -4705,7 +4719,7 @@ iseq(0+$::test,$::TestCount,"Got the right number of tests!");
 
 # Don't forget to update this!
 BEGIN {
-    $::TestCount = 4035;
+    $::TestCount = 4038;
     print "1..$::TestCount\n";
 }