projects
/
platform
/
upstream
/
perl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
9d14cc1
)
don't longjmp() in pp_goto() (regressive bug from old single-stack
author
Gurusamy Sarathy
<gsar@cpan.org>
Tue, 13 Oct 1998 01:49:16 +0000
(
01:49
+0000)
committer
Gurusamy Sarathy
<gsar@cpan.org>
Tue, 13 Oct 1998 01:49:16 +0000
(
01:49
+0000)
implementation)
p4raw-id: //depot/perl@1941
pp_ctl.c
patch
|
blob
|
history
t/op/runlevel.t
patch
|
blob
|
history
diff --git
a/pp_ctl.c
b/pp_ctl.c
index
8d43291
..
b566738
100644
(file)
--- a/
pp_ctl.c
+++ b/
pp_ctl.c
@@
-2204,11
+2204,6
@@
PP(pp_goto)
PL_do_undump = FALSE;
}
- if (PL_top_env->je_prev) {
- PL_restartop = retop;
- JMPENV_JUMP(3);
- }
-
RETURNOP(retop);
}
diff --git
a/t/op/runlevel.t
b/t/op/runlevel.t
index
307e2a0
..
bff3c36
100755
(executable)
--- a/
t/op/runlevel.t
+++ b/
t/op/runlevel.t
@@
-315,3
+315,23
@@
main|-|9|main::__ANON__
In DIE
main|-|10|(eval)
main|-|10|main::foo
+########
+package TEST;
+
+sub TIEARRAY {
+ return bless [qw(foo fee fie foe)], $_[0];
+}
+sub FETCH {
+ my ($s,$i) = @_;
+ if ($i) {
+ goto bbb;
+ }
+bbb:
+ return $s->[$i];
+}
+
+package main;
+tie my @bar, 'TEST';
+print join('|', @bar[0..3]), "\n";
+EXPECT
+foo|fee|fie|foe