develooper Front page | perl.perl5.porters | Postings from April 2017

Re: [perl #130497] Revert "Unescaped left brace in regex" fatality

Thread Previous | Thread Next
From:
Graham Knop
Date:
April 17, 2017 18:58
Subject:
Re: [perl #130497] Revert "Unescaped left brace in regex" fatality
Message ID:
CAM=m89GMi5O2=558Lcfg3RcToOd=J8ZE7ivrKyg56wTQnEEf5w@mail.gmail.com
On Mon, Apr 17, 2017 at 4:18 PM, Leon Timmermans <fawaka@gmail.com> wrote:
> On Sun, Apr 9, 2017 at 4:51 AM, Karl Williamson <public@khwilliamson.com> wrote:
>> I think people should be aware of the full consequences of this.
>>
>> It is not just a simple matter of reverting this patch.  Code has marched
>> on.  In particular, you may recall that I missed some cases where the
>> deprecation should have been output, and code to output these was added
>> after this patch, and so presumes that these cases are fatal.
>>
>> If I change the patch to just silently continue, the other code fails to
>> output a warning on some of the cases covered by this.  If I instead change
>> it to output a warning, some cases will have 2 warnings output. And
>> cleverness is required to fix that.  We could say that at this stage in
>> development, that we can live with 2 warnings. But the other warning
>> explicitly says it will be made fatal in 5.30.  Part of the reason to make
>> these cases fatal now, was so that in 5.28, we could implement some of the
>> extensions made feasible by this.  Having 2 warnings closes the door on that
>> possibility.
>>
>> The solution that requires the least cleverness is my original kludge, to
>> simply make
>>
>>  /\${[^\}]*}/
>>
>> non-fatal.  It's trivial to do this, and keep it to a single warning
>
> I do think this provides a lesson for the future. It's generally a
> better idea to leave breaking changes like this in a revertible state
> until the dust has settled down.
>
> Quite frankly, if we can miss a target the size of autoconf, one
> starts to wonder what else did we miss. Not knowing that answer makes
> a workaround that only solves autoconf a rather uncertain solution.

Another thing we missed is the go compiler:
https://github.com/golang/go/issues/20007

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About