summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Hay <steve.m.hay@googlemail.com>2012-08-17 18:41:02 +0100
committerSteve Hay <steve.m.hay@googlemail.com>2012-08-17 19:09:51 +0100
commit9d2d23d98141e59338d57996fe0c74d36351f6e9 (patch)
tree371ed4a691211c62da50b7163142f9e0fba3b665
parentdc4b20bdf34f180d3017bda09b1fd225ad2b19d4 (diff)
downloadperl-9d2d23d98141e59338d57996fe0c74d36351f6e9.tar.gz
Upgrade to B::Debug 1.18
-rwxr-xr-xPorting/Maintainers.pl2
-rw-r--r--cpan/B-Debug/Debug.pm19
-rw-r--r--pod/perldelta.pod5
3 files changed, 23 insertions, 3 deletions
diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index 4fd3e4a696..180f560e1a 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -287,7 +287,7 @@ use File::Glob qw(:case);
'B::Debug' => {
'MAINTAINER' => 'rurban',
- 'DISTRIBUTION' => 'RURBAN/B-Debug-1.17.tar.gz',
+ 'DISTRIBUTION' => 'RURBAN/B-Debug-1.18.tar.gz',
'FILES' => q[cpan/B-Debug],
'EXCLUDED' => ['t/pod.t'],
'UPSTREAM' => 'cpan',
diff --git a/cpan/B-Debug/Debug.pm b/cpan/B-Debug/Debug.pm
index fb8db3ff20..31b0e2834b 100644
--- a/cpan/B-Debug/Debug.pm
+++ b/cpan/B-Debug/Debug.pm
@@ -1,6 +1,6 @@
package B::Debug;
-our $VERSION = '1.17';
+our $VERSION = '1.18';
use strict;
require 5.006;
@@ -285,11 +285,16 @@ EOT
sub B::AV::debug {
my ($av) = @_;
$av->B::SV::debug;
+ _array_debug($av);
+}
+
+sub _array_debug {
+ my ($av) = @_;
# tied arrays may leave out FETCHSIZE
my (@array) = eval { $av->ARRAY; };
print "\tARRAY\t\t(", join(", ", map("0x" . $$_, @array)), ")\n";
my $fill = eval { scalar(@array) };
- if ($Config{'useithreads'}) {
+ if ($Config{'useithreads'} && class($av) ne 'PADLIST') {
printf <<'EOT', $fill, $av->MAX, $av->OFF;
FILL %d
MAX %d
@@ -353,6 +358,15 @@ sub B::SPECIAL::debug {
print exists $specialsv_name[$i] ? $specialsv_name[$i] : "", "\n";
}
+sub B::PADLIST::debug {
+ my ($padlist) = @_;
+ printf <<'EOT', class($padlist), $$padlist, $padlist->REFCNT;
+%s (0x%x)
+ REFCNT %d
+EOT
+ _array_debug($padlist);
+}
+
sub compile {
my $order = shift;
B::clearsym();
@@ -417,3 +431,4 @@ Copyright (c) 2008, 2010 Reini Urban
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
=cut
+
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index f0ae626204..7624cacf76 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -131,6 +131,11 @@ a sub and a format share the same name, it will dump both.
=item *
+L<B::Debug> has been upgraded from version 1.17 to 1.18. This adds support
+(experimentally) for the new C<B::PADLIST>.
+
+=item *
+
L<B::Deparse> has been upgraded from version 1.15 to 1.16. It now deparses
loop controls with the correct precedence, and multiple statements in a
C<format> line are also now deparsed correctly.