This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
PUSH_MULTICALL_WITHDEPTH becomes ..._FLAGS
authorDavid Mitchell <davem@iabyn.com>
Wed, 24 Apr 2013 10:14:39 +0000 (11:14 +0100)
committerDavid Mitchell <davem@iabyn.com>
Wed, 24 Apr 2013 15:39:47 +0000 (16:39 +0100)
commitb00652470bcd63ec9dee77ad3149214aebcee0df
tree8a8229c86f95d3e11abc13d6c7ab1e6154682a71
parentfc941f37b0048ca24b67f61973e6b9f50f9f908f
PUSH_MULTICALL_WITHDEPTH becomes ..._FLAGS

Two non-API macros were added with 5.17.1 to support the more
complex calling conventions required by /({})/ code blocks:

    PUSH_MULTICALL_WITHDEPTH(the_cv, depth)
    CHANGE_MULTICALL_WITHDEPTH(the_cv, depth)

which allowed us to do the same as the API versions, but to optionally
not increment the caller depth, and to change the current CV.

Replace these with two new macros:

    PUSH_MULTICALL_FLAGS(the_cv, flags)
    CHANGE_MULTICALL_FLAGS(the_cv, flags)

which instead allow us to set extra flags in cx->cx_type.
The depth increment skip is handled by the new CXp_SUB_RE_FAKE flag,
and all (?{}) calls set the new CXp_SUB_RE flag.

These two new flags will shortly allow us to change how caller() and
__SUB__ handle code blocks.
cop.h
regexec.c