summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/B/t/showlex.t2
-rw-r--r--ext/Devel-Peek/Peek.xs1
-rw-r--r--ext/IPC-Open3/lib/IPC/Open3.pm4
3 files changed, 6 insertions, 1 deletions
diff --git a/ext/B/t/showlex.t b/ext/B/t/showlex.t
index 6a531821f9..2871622a5d 100644
--- a/ext/B/t/showlex.t
+++ b/ext/B/t/showlex.t
@@ -31,7 +31,7 @@ if ($is_thread) {
ok "# use5005threads: test skipped\n";
} else {
$a = `$^X $path "-MO=Showlex" -e "my \@one" 2>&1`;
- like ($a, qr/sv_undef.*PVNV.*\@one.*sv_undef.*AV/s,
+ like ($a, qr/sv_undef.*PVNV.*\@one.*Nullsv.*AV/s,
"canonical usage works");
}
diff --git a/ext/Devel-Peek/Peek.xs b/ext/Devel-Peek/Peek.xs
index 1ea7f8fed9..73094b8efc 100644
--- a/ext/Devel-Peek/Peek.xs
+++ b/ext/Devel-Peek/Peek.xs
@@ -81,6 +81,7 @@ DeadCode(pTHX)
}
}
for (j = 1; j < AvFILL((AV*)svp[1]); j++) { /* Vars. */
+ if (!pad[j]) continue;
if (SvROK(pad[j])) {
levelref++;
do_sv_dump(0, Perl_debug_log, pad[j], 0, 4, 0, 0);
diff --git a/ext/IPC-Open3/lib/IPC/Open3.pm b/ext/IPC-Open3/lib/IPC/Open3.pm
index af1d1e0690..90bd9fb087 100644
--- a/ext/IPC-Open3/lib/IPC/Open3.pm
+++ b/ext/IPC-Open3/lib/IPC/Open3.pm
@@ -185,6 +185,10 @@ sub _open3 {
# it's too ugly to use @_ throughout to make perl do it for us
# tchrist 5-Mar-00
+ # Historically, open3(undef...) has silently worked, so keep
+ # it working.
+ splice @_, 0, 1, undef if \$_[0] == \undef;
+ splice @_, 1, 1, undef if \$_[1] == \undef;
unless (eval {
$_[0] = gensym unless defined $_[0] && length $_[0];
$_[1] = gensym unless defined $_[1] && length $_[1];