summaryrefslogtreecommitdiff
path: root/XSUB.h
diff options
context:
space:
mode:
authorSteffen Mueller <smueller@cpan.org>2011-08-28 17:45:37 +0200
committerSteffen Mueller <smueller@cpan.org>2011-08-28 17:45:37 +0200
commit0cb93b3a42a2d489a092d17005fb2b4dcbf74d95 (patch)
tree500fa7bc95eb5be8e8502237179b11709a73e19a /XSUB.h
parent7bc95ae1a56bd0ccfe9db1092344cd2d1566beca (diff)
downloadperl-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.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/XSUB.h b/XSUB.h
index f4623e97d4..61d0ef2ba2 100644
--- a/XSUB.h
+++ b/XSUB.h
@@ -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)