summaryrefslogtreecommitdiff
path: root/pod/perlinterp.pod
diff options
context:
space:
mode:
authorYves Orton <demerphq@gmail.com>2022-08-29 13:57:00 +0200
committerKarl Williamson <khw@cpan.org>2022-08-30 09:28:57 -0600
commit1b6cb4fd1fd2aa3611fc3707b763076950831863 (patch)
tree330576bf3783a0246546704af7820b3304f3872e /pod/perlinterp.pod
parent80f9dd66d1498f4eb40bcec77888c00955ed7527 (diff)
downloadperl-1b6cb4fd1fd2aa3611fc3707b763076950831863.tar.gz
perlinterp.pod - minor enhancements of the docs about JMPENV_ macros
Added a bit more on the levels and return codes. 1 is actually used in the outmost call, or at least there is code to support it. Also added "level" info, since that is used in -Dl.
Diffstat (limited to 'pod/perlinterp.pod')
-rw-r--r--pod/perlinterp.pod13
1 files changed, 9 insertions, 4 deletions
diff --git a/pod/perlinterp.pod b/pod/perlinterp.pod
index 812d95ca9d..66dd22704e 100644
--- a/pod/perlinterp.pod
+++ b/pod/perlinterp.pod
@@ -194,11 +194,11 @@ achieved via a C<JMPENV_JUMP()>. In particular:
=over
-=item * perl-level exit() and internals my_exit()
+=item * level 2: perl-level exit() and internals my_exit()
These unwind all stacks, then perform a JMPENV_JUMP(2).
-=item * perl-level die() and internals croak()
+=item * level 3: perl-level die() and internals croak()
If currently within an eval, these pop the context stack back to the
nearest C<CXt_EVAL> frame, set C<$@> as appropriate, set C<PL_restartop>
@@ -208,8 +208,13 @@ a JMPENV_JUMP(3).
Otherwise, the error message is printed to C<STDERR>, then it is treated
as an exit: unwind all stacks and perform a JMPENV_JUMP(2).
-(JMPENV_JUMP(1) is currently unused, and the zero value is for a normal
-return from JMPENV_PUSH().)
+=item * level 1: unused
+
+JMPENV_JUMP(1) is currently unused except in perl_run().
+
+=item * level 0: normal return.
+
+The zero value is for a normal return from JMPENV_PUSH()
=back