develooper Front page | perl.perl5.porters | Postings from November 2016

Re: [perl #130010] v5.25.5-184-ga5540cf breaks texinfo

Thread Previous | Thread Next
From:
demerphq
Date:
November 9, 2016 18:41
Subject:
Re: [perl #130010] v5.25.5-184-ga5540cf breaks texinfo
Message ID:
CANgJU+XaP11NFeH2fdxsR-8bmnumXDTfCn-ik2rV244UanqD0Q@mail.gmail.com
On 9 November 2016 at 10:12, Karl Williamson <khw@cpan.org> wrote:
> User-defined \p properties, which InFullWidth is, that aren't available at
> compile time are expanded at run time.

I dont get it. If InFullWidth is not loaded, how can people use it?

I would just make that a fatal exception.

> It used to be that all \p were done
> at run time.  The problem here likely is that the changes in the blamed
> commit are trying to modify a swash byproduct that has been set read-only.
> I have looked at the code, and don't see how that is happening, which is why
> a stack trace is needed.  So, getting that back trace is the best way
> forward.

I don't think the regex engine should call things like this twice. It
should do it once at compile time, and then never call it again. Like,
what happens if InFullWidth returned a different table every time?

Anyway, this is just my opinion, but IMO there is little difference
between \p{} and \N{} in this regard, and we take great care to ensure
\N{} callbacks happen once, and never happen again, even if the
pattern is embedded.

Feel free to point out the flaw in my reasoning.

cheers,
Yves




-- 
perl -Mre=debug -e "/just|another|perl|hacker/"

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