diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1999-10-17 20:33:42 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1999-10-17 20:33:42 +0000 |
commit | a7ec2b44b6a6713a67d2b7d1975eb72a28c1caf5 (patch) | |
tree | 3157dd5947c6803d2e8047aa7eee5b1305c422cf | |
parent | 475d79b5e99617ecaabd8d9765f5247b6d49652c (diff) | |
download | perl-a7ec2b44b6a6713a67d2b7d1975eb72a28c1caf5.tar.gz |
serious bug introduced by G_VOID changes in 5.003_96: scalar
eval"" did not pop stack correctly; C<$a = eval "(1,2)x1">
is one symptom of the problem
p4raw-id: //depot/perl@4401
-rw-r--r-- | pp_ctl.c | 1 | ||||
-rwxr-xr-x | t/op/eval.t | 8 |
2 files changed, 8 insertions, 1 deletions
@@ -3124,6 +3124,7 @@ PP(pp_leaveeval) MEXTEND(mark,0); *MARK = &PL_sv_undef; } + SP = MARK; } else { /* in case LEAVE wipes old return values */ diff --git a/t/op/eval.t b/t/op/eval.t index abcb3794b7..ea6caf43bd 100755 --- a/t/op/eval.t +++ b/t/op/eval.t @@ -1,6 +1,6 @@ #!./perl -print "1..37\n"; +print "1..38\n"; eval 'print "ok 1\n";'; @@ -176,3 +176,9 @@ $SIG{__DIE__} = sub { eval {1}; die shift }; eval { die "ok ".$x++,"\n" }; print $@; +# does scalar eval"" pop stack correctly? +{ + my $c = eval "(1,2)x10"; + print $c eq '2222222222' ? "ok $x\n" : "# $c\nnot ok $x\n"; + $x++; +} |