This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
propagate 'use re eval' into return from (??{})
authorDavid Mitchell <davem@iabyn.com>
Thu, 31 May 2012 10:46:23 +0000 (11:46 +0100)
committerDavid Mitchell <davem@iabyn.com>
Wed, 13 Jun 2012 12:32:54 +0000 (13:32 +0100)
commit732caac7f4933bbaa60046b5567f5823c06d15b5
treee8e4f0647afcf8c66ff4f23ec93a8f5fccd910c2
parent74088413856f71406615c6b1ae959e57f51d192a
propagate 'use re eval' into  return from (??{})

(??{}) returns a string which needs to be put through the regex compiler,
and which may also contain (?{...}) - so any 'use re eval' in scope needs
to be propagated into the inner environment. Achieve this by adding a new
private flag - PREGf_USE_RE_EVAL - to the regex to indicate the use is in
scope, and modify how the call to compile the inner pattern is done,
to allow the use state to be passed in.
op.c
regcomp.c
regcomp.h
regexec.c
t/re/pat_re_eval.t