summaryrefslogtreecommitdiff
path: root/t/run
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2002-07-07 17:04:27 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2002-07-07 17:04:27 +0000
commit650375fe384cb56dbced4fc42b30d62c1977e193 (patch)
tree5a27fdb42e8271099b018513e9f3beb567d5b613 /t/run
parentf9a08e12cdb44672657c74b71978f8d93dc05195 (diff)
downloadperl-650375fe384cb56dbced4fc42b30d62c1977e193.tar.gz
Integrate maint patches #13474, #13478, #13584, and #16539;
introduce the test case of [ID 20020623.009]. Once upon a time #13474 introduced evil coredumps, but now things seem to be better (tried both with and without ithreads). p4raw-id: //depot/perl@17407 p4raw-edited: from //depot/maint-5.6/perl@17406 'ignore' op.c (@14778..)
Diffstat (limited to 't/run')
-rw-r--r--t/run/fresh_perl.t13
1 files changed, 13 insertions, 0 deletions
diff --git a/t/run/fresh_perl.t b/t/run/fresh_perl.t
index 3c0a9259ad..9c2b42fc03 100644
--- a/t/run/fresh_perl.t
+++ b/t/run/fresh_perl.t
@@ -831,3 +831,16 @@ $人++; # a child is born
print $人, "\n";
EXPECT
3
+########
+# test that closures generated by eval"" hold on to the CV of the eval""
+# for their entire lifetime
+$code = eval q[
+ sub { eval '$x = "ok 1\n"'; }
+];
+&{$code}();
+print $x;
+EXPECT
+ok 1
+######## [ID 20020623.009] nested eval/sub segfaults
+$eval = eval 'sub { eval "sub { %S }" }';
+$eval->({});