&CORE::foo() for @ and $@ prototypes, except unlink
authorFather Chrysostomos <sprout@cpan.org>
Thu, 25 Aug 2011 21:33:03 +0000 (14:33 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Thu, 25 Aug 2011 21:33:03 +0000 (14:33 -0700)
commitbf0571fdfef93e57e5d288048145a1610dd40938
tree14ef3a17b36cd36d65289dd4a85e1fd7713b823e
parent0b19d81a098d6a9b895996d374ca0adc621f1590
&CORE::foo() for @ and $@ prototypes, except unlink

This commit allows the CORE subroutines for functions with @
and $@ prototypes to be called through references and via amper-
sand syntax.

unlink is not included in this commit, as it requires special casing
due to its use of implicit $_.

Since these functions require a pushmark, and since it has to come
between two things that pp_coreargs does, it’s easiest to flag the
coreargs op (with the OPpCOREARGS_PUSHMARK flag added in the previous
commit) and call pp_pushmark directly from pp_coreargs.
gv.c
op.c
pp.c
pp_hot.c
t/op/coresubs.t