New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
/m causing false negative #13682
Comments
From zefram@fysh.orgCreated by zefram@fysh.org$ perl5.19.10 -lwe 'print "wibble" =~ /\Awibble\z/m ? "yes" : "no"' Obviously a regression. Regexp matches correctly if /m is omitted, This breaks the pod-coverage test for TheSchwartz, which builds up a bunch Perl Info
|
From @tomhukinsOn Fri, Mar 21, 2014 at 06:01:01AM -0700, Zefram wrote:
I've just bisected this to the following plausible-looking commit: d0d4464 is the first bad commit re_intuit_start(): reduce scope of /^...$/m test Tom |
The RT System itself - Status changed from 'new' to 'open' |
From @arcZefram <perlbug-followup@perl.org> wrote:
This bisects to the following commit: commit d0d4464 re_intuit_start(): reduce scope of /^...$/m test Intuit has a quick reject test for a fixed pattern that is anchored at A fix for [perl #115242] correctly made intuit skip the test in the However, the fix was too wide in scope; it caused //m patterns to skip With this commit, the following code now runs in a few milliseconds rather $s = "abcdefg" x 1_000_000; AFAICT from a fairly cursory look, re_intuit_start() seems to be This is Zefram's test case expressed in the language of t/re/re_tests: Inline Patchdiff --git i/t/re/re_tests w/t/re/re_tests
index 7ab7dc3..294032f 100644
--- i/t/re/re_tests
+++ w/t/re/re_tests
@@ -1884,5 +1884,21 @@ A+(*PRUNE)BC(?{}) AAABC y $& AAABC
[bcd].{2,3}aaaa XbXaaaaa y - -
[bcd].{2,3}aaaa Xb\x{100}aaaaa y - -
+# RT #121484 - /m causing false negative
+'\Awibble\z'm wibble y $& wibble
+'\A.ibble\z'm wibble y $& wibble
+'\Aw.bble\z'm wibble y $& wibble
+'\Awi.ble\z'm wibble y $& wibble
+'\Awib.le\z'm wibble y $& wibble
+'\Awibb.e\z'm wibble y $& wibble
+'\Awibbl.\z'm wibble y $& wibble
+'\Awibble$'m wibble y $& wibble
+'\A.ibble$'m wibble y $& wibble
+'\Aw.bble$'m wibble y $& wibble
+'\Awi.ble$'m wibble y $& wibble
+'\Awib.le$'m wibble y $& wibble
+'\Awibb.e$'m wibble y $& wibble
+'\Awibbl.$'m wibble y $& wibble
+
# Keep these lines at the end of the file
# vim: softtabstop=0 noexpandtab
-- Aaron Crane ** http://aaroncrane.co.uk/ |
From @demerphqOn 21 March 2014 14:01, Zefram <perlbug-followup@perl.org> wrote:
Why is this a regression? I call this a bug fix. It *should* have Yves |
From @demerphqOn 21 March 2014 17:03, demerphq <demerphq@gmail.com> wrote:
I cant read. Forget this. Yves -- |
From @iabynOn Fri, Mar 21, 2014 at 02:16:21PM +0000, Tom Hukins wrote:
Thanks. Now fixed with commit 7742aa6 [perl #121484] /m causing false negative -- |
@iabyn - Status changed from 'open' to 'resolved' |
Migrated from rt.perl.org#121484 (status was 'resolved')
Searchable as RT121484$
The text was updated successfully, but these errors were encountered: