diff options
author | Steffen Mueller <smueller@cpan.org> | 2011-08-28 17:45:37 +0200 |
---|---|---|
committer | Steffen Mueller <smueller@cpan.org> | 2011-08-28 17:45:37 +0200 |
commit | 0cb93b3a42a2d489a092d17005fb2b4dcbf74d95 (patch) | |
tree | 500fa7bc95eb5be8e8502237179b11709a73e19a /XSUB.h | |
parent | 7bc95ae1a56bd0ccfe9db1092344cd2d1566beca (diff) | |
download | perl-0cb93b3a42a2d489a092d17005fb2b4dcbf74d95.tar.gz |
Revert back to making XS(name) expose XSUB symbols
Instead, as Zefram recommended, ExtUtils::ParseXS will be patched
to not export XSUB symbols by default that are generated through
the module itself. As Zefram said, this has the advantage of
allowing older perls to benefit from the non-exporting of symbols.
Diffstat (limited to 'XSUB.h')
-rw-r--r-- | XSUB.h | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -48,16 +48,15 @@ Used to access elements on the XSUB's stack. =for apidoc AmU||XS Macro to declare an XSUB and its C parameter list. This is handled by -C<xsubpp>. +C<xsubpp>. It is the same as using the more explicit XS_EXTERNAL macro. =for apidoc AmU||XS_INTERNAL Macro to declare an XSUB and its C parameter list without exporting the symbols. This is handled by C<xsubpp> and generally preferable over exporting the XSUB -symbols unnecessarily. This is handled by C<xsubpp>. +symbols unnecessarily. =for apidoc AmU||XS_EXTERNAL Macro to declare an XSUB and its C parameter list explicitly exporting the symbols. -This is handled by C<xsubpp>. =for apidoc Ams||dAX Sets up the C<ax> variable. @@ -152,8 +151,9 @@ is a lexical $_ in scope. # endif #endif -/* We do not export xsub symbols any more by default */ -#define XS(name) XS_INTERNAL(name) +/* We do export xsub symbols by default for the public XS macro. + * Try explicitly using XS_INTERNAL/XS_EXTERNAL instead, please. */ +#define XS(name) XS_EXTERNAL(name) #define dAX const I32 ax = (I32)(MARK - PL_stack_base + 1) |