summaryrefslogtreecommitdiff
path: root/pod
diff options
context:
space:
mode:
authorTomasz Konojacki <me@xenu.pl>2021-06-04 22:05:04 +0200
committerxenu <me@xenu.pl>2021-06-09 19:32:14 +0200
commit6e512bc2beef5b8b17502db7edf50b5984776318 (patch)
treeedaaaa9d096a12cf43b5620afa8712a8951c1472 /pod
parent44e4059baf939468ae61cb63c0c2871c40147dc3 (diff)
downloadperl-6e512bc2beef5b8b17502db7edf50b5984776318.tar.gz
replace all instances of PERL_IMPLICIT_CONTEXT with MULTIPLICITY
Since the removal of PERL_OBJECT (acfe0abcedaf592fb4b9cb69ce3468308ae99d91) PERL_IMPLICIT_CONTEXT and MULTIPLICITY have been synonymous and they're being used interchangeably. To simplify the code, this commit replaces all instances of PERL_IMPLICIT_CONTEXT with MULTIPLICITY. PERL_IMPLICIT_CONTEXT will stay defined for compatibility with XS modules.
Diffstat (limited to 'pod')
-rw-r--r--pod/perldelta.pod13
-rw-r--r--pod/perlembed.pod2
-rw-r--r--pod/perlguts.pod26
-rw-r--r--pod/perlinterp.pod2
4 files changed, 21 insertions, 22 deletions
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 4780ab4776..35aae102d0 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -358,17 +358,16 @@ XXX
=head1 Internal Changes
-XXX Changes which affect the interface available to C<XS> code go here. Other
-significant internal changes for future core maintainers should be noted as
-well.
-
-[ List each change as an =item entry ]
-
=over 4
=item *
-XXX
+Since the removal of PERL_OBJECT in Perl 5.8, PERL_IMPLICIT_CONTEXT and
+MULTIPLICITY have been synonymous and they were being used interchangeably.
+To simplify the code, all instances of PERL_IMPLICIT_CONTEXT have been
+replaced with MULTIPLICITY.
+
+PERL_IMPLICIT_CONTEXT will remain defined for compatibility with XS modules.
=back
diff --git a/pod/perlembed.pod b/pod/perlembed.pod
index 88cb810cc7..8a17b57b7f 100644
--- a/pod/perlembed.pod
+++ b/pod/perlembed.pod
@@ -1125,7 +1125,7 @@ you will have to write the explicit full form
Perl_warn(aTHX_ "%d bottles of beer on the wall", bottlecount);
-(See L<perlguts/"Background and PERL_IMPLICIT_CONTEXT"> for the explanation
+(See L<perlguts/"Background and MULTIPLICITY"> for the explanation
of the C<aTHX_>. ) Hiding the short forms is very useful for avoiding
all sorts of nasty (C preprocessor or otherwise) conflicts with other
software packages (Perl defines about 2400 APIs with these short names,
diff --git a/pod/perlguts.pod b/pod/perlguts.pod
index fc848bce6c..b05d82486e 100644
--- a/pod/perlguts.pod
+++ b/pod/perlguts.pod
@@ -2540,7 +2540,7 @@ the op tree of the main root.
=head1 How multiple interpreters and concurrency are supported
-=head2 Background and PERL_IMPLICIT_CONTEXT
+=head2 Background and MULTIPLICITY
The Perl interpreter can be regarded as a closed box: it has an API
for feeding it code or otherwise making it do things, but it also has
@@ -2552,11 +2552,11 @@ the context, the state of that interpreter.
The macro that controls the major Perl build flavor is MULTIPLICITY. The
MULTIPLICITY build has a C structure that packages all the interpreter
-state. With multiplicity-enabled perls, PERL_IMPLICIT_CONTEXT is also
-normally defined, and enables the support for passing in a "hidden" first
-argument that represents all three data structures. MULTIPLICITY makes
-multi-threaded perls possible (with the ithreads threading model, related
-to the macro USE_ITHREADS.)
+state, which is being passed to various perl functions as a "hidden"
+first argument. MULTIPLICITY makes multi-threaded perls possible (with the
+ithreads threading model, related to the macro USE_ITHREADS.)
+
+PERL_IMPLICIT_CONTEXT is a legacy synonym for MULTIPLICITY.
To see whether you have non-const data you can use a BSD (or GNU)
compatible C<nm>:
@@ -2624,11 +2624,11 @@ their variants.
=for apidoc Amnh||pTHX
=for apidoc Amnh||pTHX_
-When Perl is built without options that set PERL_IMPLICIT_CONTEXT, there is no
+When Perl is built without options that set MULTIPLICITY, there is no
first argument containing the interpreter's context. The trailing underscore
in the pTHX_ macro indicates that the macro expansion needs a comma
after the context argument because other arguments follow it. If
-PERL_IMPLICIT_CONTEXT is not defined, pTHX_ will be ignored, and the
+MULTIPLICITY is not defined, pTHX_ will be ignored, and the
subroutine is not prototyped to take the extra argument. The form of the
macro without the trailing underscore is used when there are no additional
explicit arguments.
@@ -2637,7 +2637,7 @@ When a core function calls another, it must pass the context. This
is normally hidden via macros. Consider C<sv_setiv>. It expands into
something like this:
- #ifdef PERL_IMPLICIT_CONTEXT
+ #ifdef MULTIPLICITY
#define sv_setiv(a,b) Perl_sv_setiv(aTHX_ a, b)
/* can't do this for vararg functions, see below */
#else
@@ -2680,11 +2680,11 @@ to be a no-op.
=head2 How do I use all this in extensions?
-When Perl is built with PERL_IMPLICIT_CONTEXT, extensions that call
+When Perl is built with MULTIPLICITY, extensions that call
any functions in the Perl API will need to pass the initial context
argument somehow. The kicker is that you will need to write it in
such a way that the extension still compiles when Perl hasn't been
-built with PERL_IMPLICIT_CONTEXT enabled.
+built with MULTIPLICITY enabled.
There are three ways to do this. First, the easy but inefficient way,
which is also the default, in order to maintain source compatibility
@@ -2694,7 +2694,7 @@ Thus, something like:
sv_setiv(sv, num);
-in your extension will translate to this when PERL_IMPLICIT_CONTEXT is
+in your extension will translate to this when MULTIPLICITY is
in effect:
Perl_sv_setiv(Perl_get_context(), sv, num);
@@ -2807,7 +2807,7 @@ thread as the first thing you do:
=head2 Future Plans and PERL_IMPLICIT_SYS
-Just as PERL_IMPLICIT_CONTEXT provides a way to bundle up everything
+Just as MULTIPLICITY provides a way to bundle up everything
that the interpreter knows about itself and pass it around, so too are
there plans to allow the interpreter to bundle up everything it knows
about the environment it's running on. This is enabled with the
diff --git a/pod/perlinterp.pod b/pod/perlinterp.pod
index 3f32c108d1..072ab223dd 100644
--- a/pod/perlinterp.pod
+++ b/pod/perlinterp.pod
@@ -824,7 +824,7 @@ next operator to run back to the main run loop.
Most of these macros are explained in L<perlapi>, and some of the more
important ones are explained in L<perlxs> as well. Pay special
-attention to L<perlguts/Background and PERL_IMPLICIT_CONTEXT> for
+attention to L<perlguts/Background and MULTIPLICITY> for
information on the C<[pad]THX_?> macros.
=head1 FURTHER READING