On Sat, 13 Dec 2008, [email protected] wrote:

> PCRE Callout documentation says: "You should be aware that, because of
> optimizations in the way PCRE matches patterns, callouts sometimes do
> not happen."
> 
> In some cases if user inserts callout, he surely want to deal some
> action at this point. But due to such optimizations (they are
> PCRE-inside and may be unknown for user) expected order may be
> affected. 

It is not the order that is affected. There are shortcuts to failure. 
For example, if your pattern is /anything....A/ PCRE knows that there 
must be an occurrence of the letter "A" somewhere in the subject string. 
Before it even starts matching, it does a quick check. If it does not 
find "A", the match fails before it even starts.

>And user have not any sureness about regexp behaviour. What do you
> think about adding a possibility (may be an option) to disable
> disorder optimizations, if regexp contains callout.

Without looking at the code, I am not sure how many optimizations would 
affect callouts in this way. When I next look, which will not be for a 
month or two, I will see if this is possible. I am not at all sure that 
it will be easy to cover all cases.

Philip

-- 
Philip Hazel

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

Reply via email to