develooper Front page | perl.perl5.porters | Postings from October 2014

[perl #122870] Bleadperl v5.21.3-586-g56cd2ef breaks YVES/Data-Dump-Streamer-2.38.tar.gz

Thread Previous | Thread Next
From:
Father Chrysostomos via RT
Date:
October 1, 2014 00:13
Subject:
[perl #122870] Bleadperl v5.21.3-586-g56cd2ef breaks YVES/Data-Dump-Streamer-2.38.tar.gz
Message ID:
rt-4.0.18-12864-1412122419-181.122870-15-0@perl.org
DDS is subclassing B::Deparse and overriding methods.  (Almost all its methods are undocumented.)

B::Deparse::padname returns a string containing a variable name.  B::Deparse::padname_sv (which padname calls) returns the B::SV object that the variable name is derived from.

Data::Dumper::Streamer::Deparser overrides padname, in order to change the name of the lexical variable.

Commit 56cd2ef8a changes some code that deparses lexicals (pp_pasv) and makes it call padname_sv directly, instead of padname (since it needs the padname_sv now).  It (or rather maybe_my) then calls ->PVX on the pad name SV, which was previously padname’s job.

Should I adjust B::Deparse to make it call ->padname to get the pad name (which would result in some oddly-arranged code), or should Data::Dump::Streamer account for the new set-up?

I’m leaning toward the latter.  DDS could override padname_sv to return a subclass of B::SV that swaps out a different name in a PVX override, just as the padname override currently swaps out the name.

-- 

Father Chrysostomos


---
via perlbug:  queue: perl5 status: new
https://rt.perl.org/Ticket/Display.html?id=122870

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About