Branch: refs/heads/yves/fix_accept_in_curlyx_whilem
  Home:   https://github.com/Perl/perl5
  Commit: 60ac05159437c818d7a1f17140e8d3e3178d557e
      
https://github.com/Perl/perl5/commit/60ac05159437c818d7a1f17140e8d3e3178d557e
  Author: Yves Orton <[email protected]>
  Date:   2023-01-14 (Sat, 14 Jan 2023)

  Changed paths:
    M MANIFEST
    M regexec.c
    M t/re/pat_re_eval.t
    M t/re/re_tests
    M t/re/regexp.t
    A t/re/regexp_normal.t

  Log Message:
  -----------
  regexec.c - fix accept in CURLYX/WHILEM construct.

The ACCEPT logic didnt know how to handle WHILEM, which for
some reason does not have a next_off defined. I am not sure why.

This was revealed by forcing CURLYX optimisations off. This includes
a patch to test what happens if we embed an eval group in the tests
run by regexp.t when run via regexp_normal.t, which disabled CURLYX ->
CURLYN and CURLYM optimisations and revealed this issue.

This adds t/re/regexp_normal.t which test "normalized" forms of
the patterns in t/re/re_tests by munging them in various ways
to see if they still behave as expected. For instance injecting
a (?{}) can disable optimisations.


Reply via email to