summaryrefslogtreecommitdiff
path: root/perl.c
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>1999-08-16 19:49:09 +0000
committerJarkko Hietaniemi <jhi@iki.fi>1999-08-16 19:49:09 +0000
commit5779bbb1f597d1ebb4c7e5a72ad2a31cf4b91093 (patch)
tree2f4e2e4cbb1198159afa59bfc8d6529c21a44f1e /perl.c
parentca24dfc6e670a1e3ff3c351be5646eb755ffa455 (diff)
parenta7c6d24429ab2b6db54575a3bdc62c7ed9f881cf (diff)
downloadperl-5779bbb1f597d1ebb4c7e5a72ad2a31cf4b91093.tar.gz
Integrate with Nick.
p4raw-id: //depot/cfgperl@3999
Diffstat (limited to 'perl.c')
-rw-r--r--perl.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/perl.c b/perl.c
index 9de87551d9..3c12ee718d 100644
--- a/perl.c
+++ b/perl.c
@@ -1225,10 +1225,16 @@ Perl_call_sv(pTHX_ SV *sv, I32 flags)
PL_op->op_private |= OPpENTERSUB_DB;
if (!(flags & G_EVAL)) {
- CATCH_SET(TRUE);
+ /* G_NOCATCH is a hack for perl_vdie using this path to call
+ a __DIE__ handler */
+ if (!(flags & G_NOCATCH)) {
+ CATCH_SET(TRUE);
+ }
call_xbody((OP*)&myop, FALSE);
retval = PL_stack_sp - (PL_stack_base + oldmark);
- CATCH_SET(FALSE);
+ if (!(flags & G_NOCATCH)) {
+ CATCH_SET(FALSE);
+ }
}
else {
cLOGOP->op_other = PL_op;