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