diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1998-10-14 05:37:10 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1998-10-14 05:37:10 +0000 |
commit | ebf99b04cc4af488057bd9d08bb6a2768960923c (patch) | |
tree | 96236f57f5d72d768709942cdfdf0dd85a94a79a /pp_ctl.c | |
parent | 6fbe551ff3e4f956fc6d85824c9ea2520e57cefe (diff) | |
download | perl-ebf99b04cc4af488057bd9d08bb6a2768960923c.tar.gz |
let docatch() pass the buck when restartop turns out to be null,
making exceptions in BEGIN{} propagate as expected
p4raw-id: //depot/perl@1947
Diffstat (limited to 'pp_ctl.c')
-rw-r--r-- | pp_ctl.c | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -2308,15 +2308,14 @@ docatch(OP *o) JMPENV_PUSH(ret); switch (ret) { default: /* topmost level handles it */ +pass_the_buck: JMPENV_POP; PL_op = oldop; JMPENV_JUMP(ret); /* NOTREACHED */ case 3: - if (!PL_restartop) { - PerlIO_printf(PerlIO_stderr(), "panic: restartop\n"); - break; - } + if (!PL_restartop) + goto pass_the_buck; PL_op = PL_restartop; PL_restartop = 0; /* FALL THROUGH */ |