develooper Front page | perl.perl5.porters | Postings from January 2011

Re: [perl #77810] Scalars vs globs (*{} should not return FAKE globs)

Thread Previous | Thread Next
Joshua ben Jore
January 30, 2011 21:03
Re: [perl #77810] Scalars vs globs (*{} should not return FAKE globs)
Message ID:
On Sun, Oct 24, 2010 at 4:22 PM, Father Chrysostomos via RT
<> 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
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.


Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About