On Sun, Oct 24, 2010 at 4:22 PM, Father Chrysostomos via RT <perlbug-followup@perl.org> wrote: > On Sun Sep 19 12:07:29 2010, sprout wrote: >> >> On Sep 12, 2010, at 12:28 PM, Father Chrysostomos wrote: >> >> > Now the real problem here seems to be that *{} is returning glob >> copies. We could make this operator return GvEGV(sv) in the >> presence of the SVf_FAKE flag, and make all operators that need to >> distinguish between globs and scalars check the SVf_FAKE flag. >> >> I tried just making it return a new glob if what it would return is >> flagged FAKE (unless it’s in the symtab, in which case it is >> reified), to see what would break. > > And I’ve just applied it as 2acc3314e31a9. > > If this proves unacceptable for 5.14 and is reverted, it might also be a > good idea to revert the fixes for 36051 (lvalue globs), 71686 (globs can > be un-globbed) and 1804 (anon. glob breaks when assigned through), as > they all introduce regressions that this commit allows me to fix. This broke Data::Dump::Streamer (https://rt.cpan.org/Ticket/Display.html?id=65272&results=7df022c760a8288f87e03aa553e241ec). I'm unsure if this is now a bug in how B works. I have some un-even success with the method call ->object_2svref "fixing" the data and preventing the assert() failures. JoshThread Previous | Thread Next