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
Deprecating unescaped literal { in regex breaks CPAN #13947
Comments
From @andkgit bisect The first bad commit could be any of: diagnostics http://www.cpantesters.org/cpan/report/7f2c5b9a-f790-11e3-a27f-315a0a370852 perl -V Summary of my perl5 (revision 5 version 21 subversion 1) configuration: Characteristics of this binary (from libperl): |
From @khwilliamsonOn 06/20/2014 01:33 PM, (Andreas J. Koenig) (via RT) wrote:
The code that is failing comes down to this: perl -le 'my $escaped_filename= quotemeta In earlier Perls, escaping the () with backslashes left them as if there Now that that warning has been out for two releases, Perl has changed so I'd send a patch to the distribution's bug queue, but this whole regular and this is what it compiles to in 5.21 The differences are the literal () and that what \d can match is now I'm inclined to just submit a bug to the distribution and reject this one. |
The RT System itself - Status changed from 'new' to 'open' |
From @jkeenanOn Fri Jun 20 14:54:58 2014, public@khwilliamson.com wrote:
I have reproduced the failure and agree with your recommendation as to how to proceed. |
From @andkAlso affected: DMAKI/Data-Localize-0.00025.tar.gz (but only when BerkeleyDB or YAML::XS -- |
From @khwilliamsonOn 06/20/2014 10:25 PM, Andreas Koenig wrote:
Is there some way I can look at the report for this? I was unable to |
From @andk
They are not hidden. They sometimes take a while before they are in http://www.cpantesters.org/cpan/report/9fb99cfc-f85c-11e3-b74a-1c9f0a370852 2014-06-20 09:24 Imho best tool to find them is usually the matrix: -- |
From @khwilliamsonOn 06/20/2014 10:25 PM, Andreas Koenig wrote:
We're going to get some of these where suddenly there is a new In 5.17 we tried to do this deprecation as well, and many CPAN It shouldn't be nearly as many as 5.17, but there will be some. I It didn't occur to me back then that there was available another simple |
From @khwilliamsonI changed the title of this ticket to "Deprecating unescaped literal { in regex breaks CPAN" We've concluded that the first one found was a bug in the test. So, the maintainer should be notified. I'm not sure of the best procedure to do so. I'm guessing an email from me with a summary of what we've found? The second one should be patched, and I will submit a pull request on its github to accomplish this |
From @ikegamiOn Sun Jun 22 20:26:21 2014, public@khwilliamson.com wrote:
$ perl -e'qr{[{]}' # 5.20.0 Delimiters must be balanced since the end of the pattern must be found before the pattern can be parsed. |
From @khwilliamsonOn Fri Jun 27 15:08:32 2014, ikegami@adaelis.com wrote:
Sorry that I forgot to mention that detail |
From @khwilliamsonData::Localize has been issued a pull request: |
From @khwilliamsonAnd I have submitted a bug report for Devel::hdb |
From @khwilliamsonOn Mon Jun 30 20:46:06 2014, khw wrote:
The maintainer has uploaded a new version 0.13 to CPAN. It turns out that the [] were supposed to match literally, as were the (). 5.20 is the first release where the () did match literally, so we changed Perl to be what he was expecting in this regard. The warnings in 5.16 and 5.18 that it didn't do what was likely expected went unnoticed |
From @khwilliamsonOn Mon Jun 30 20:11:45 2014, khw wrote:
That has now been merged, and I presume will be in a CPAN release at some point |
From @jkeenanOn Tue Jul 01 14:31:18 2014, khw wrote:
Karl, have we sufficiently addressed the CPAN breakage such that we can close this ticket? Thank you very much. |
From @khwilliamsonOn Thu Oct 16 17:58:20 2014, jkeenan wrote:
Well, I think so. I haven't seen any new CPAN failures from this. I emailed Andreas about this, some time ago, but it bounced (this isn't the first time email to him has bounced), and I got distracted and didn't follow up. Thanks for keeping track for me. |
From @jkeenanMarking ticket Resolved as per discussion with khw. -- |
@jkeenan - Status changed from 'open' to 'resolved' |
From @andk
> Marking ticket Resolved as per discussion with khw. New CPAN upload affected by this: RRWO/Pod-Readme-v1.1.1.tar.gz -- |
From @khwilliamsonOn Sat Dec 06 01:58:01 2014, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
I didn't figure out why this was breaking without a warning message being visible, but in fact I found some unescaped left braces, and when I escaped them, the failing tests started working again. I have submitted a pull request to the maintainer Just for clarity, the regex is like qr/{{foo/. If the very first character in a pattern is a left brace, it doesn't have to be escaped, so qr/{\{foo/ would have worked too. But it's safer to escape all of them should the pattern change in the future, and this detail be missed; and that's one less exception to have to worry about |
Migrated from rt.perl.org#122146 (status was 'resolved')
Searchable as RT122146$
The text was updated successfully, but these errors were encountered: