On Mon, 21 Mar 2011, ND wrote:

> PCRE version 8.11 2010-12-10
> /\A(?!(?:a(*THEN)b))/
> ac
> No match

There was special code for the final alternative of a non-capturing 
parenthesized subpattern. It reduced stack usage by not recursing when 
the result of the call would just be passed back from the current level. 
However, now that (*THEN) exists, this optimization no longer works, 
because the result of the recursive call has to be inspected to see if 
(*THEN) was encountered. 

I have committed a patch that fixes this bug by removing the 
optimization. There was the same bug with the branches of a conditional 
subpattern. This has also been fixed.

Philip

-- 
Philip Hazel

-- 
## List details at https://lists.exim.org/mailman/listinfo/pcre-dev 

Reply via email to