From bbdd8bad57f8d77a4e6c3725a49d4d3589efedd7 Mon Sep 17 00:00:00 2001 From: Karl Williamson Date: Tue, 1 Nov 2011 17:57:15 -0600 Subject: PATCH: [perl #101710] Regression with /i, latin1 chars. The root cause of this bug is that it was assuming that a string was in utf8 when it wasn't, and so was thinking that a byte was a starter byte that wasn't, so was skipping ahead based on that starter byte. --- t/re/pat.t | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 't') diff --git a/t/re/pat.t b/t/re/pat.t index ed87f07701..54d44ac046 100644 --- a/t/re/pat.t +++ b/t/re/pat.t @@ -21,7 +21,7 @@ BEGIN { require './test.pl'; } -plan tests => 463; # Update this when adding/deleting tests. +plan tests => 464; # Update this when adding/deleting tests. run_tests() unless caller; @@ -1208,6 +1208,13 @@ EOP sprintf("'U+%04X not legal IDFirst'", ord($char))); } } + + { # [perl #101710] + my $pat = "b"; + utf8::upgrade($pat); + like("\xffb", qr/$pat/i, "/i: utf8 pattern, non-utf8 string, latin1-char preceding matching char in string"); + } + } # End of sub run_tests 1; -- cgit v1.2.1