develooper Front page | perl.perl5.porters | Postings from June 2013

[perl #113050] Bleadperl v5.16.0-87-g50853fa breaks GFUJI/Mouse-0.97.tar.gz

Thread Previous | Thread Next
From:
James E Keenan via RT
Date:
June 30, 2013 01:30
Subject:
[perl #113050] Bleadperl v5.16.0-87-g50853fa breaks GFUJI/Mouse-0.97.tar.gz
Message ID:
rt-3.6.HEAD-2552-1372555837-862.113050-15-0@perl.org
On Wed May 23 13:41:26 2012, sprout wrote:
> On Wed May 23 06:26:40 2012, rgs@consttype.org wrote:
> > On 23 May 2012 15:03, Father Chrysostomos via RT
> > <perlbug-followup@perl.org> wrote:
> > >> Well, it turns out that most* of CPAN, not just Mouse, is breaking
> > >> overload.pm’s encapsulation, so I’ll have to work around it.
> > >
> > > I’ve just fixed it in commit 3866ea3, but I don’t particularly
like it.
> > >  The result of having parts of overload.pm and ParseXS.pm copied and
> > > pasted all over the place is that perl can’t be as fast as it would be
> > > otherwise.  I’m wondering whether we should provide a C function for
> > > registering overloading and force CPAN to switch (by reverting
3866ea3).
> 
> Just to put this in perspective, these are affected:
> 
> PP:
> Class-C3-0.23
> Class::C3 as included by:
>  - Catalyst-Controller-Resources-0.08
>  - Lingua-EO-Orthography-0.03
>  - DBICx-Modeler-Generator-0.02
>  - MooseX-Types-Locale-Country-0.04
> EntityModel::Support::Perl in EntityModel-0.014
> AnyEvent-6.11
> Lvalue-0.21
> POEx::Role::SessionInstantiation::Meta::Session::Magic in
> POEx-Role-SessionInstantiation-1.102610
> Tak::STDIONode in Tak-0.001001
> Pixie::Proxy in Pixie-2.06
> 
> XS:
> version-0.95, but that is kept well in synch with core
> ExtUtils::ParseXS as included by:
>  - Memcached-libmemcached (test suite)
> Linux-CDROM-0.02
> Mouse-0.97
> Text-Xslate-1.5007
> libapreq2-2.13
> 
> > 
> > 2 functions probably: for registering, and for checking if there's
> > overloading in place (if I'm following you), like the Overloaded and
> > Method functions.
> 
> I was only thinking in terms of what CPAN modules already do.  All the
> XS ones just register overloading.  Most of the pure-Perl ones do the
> same; some inspect the stash instead of calling overload'Overloaded;
> some inspect the stash to find out the fallback value, for which we
> currently have no interface.  (I’ve just realised that I made
> overload'Method("fallback") return the fallback value in 50853fa, and
> then stopped that from working in 3866ea3.)
> 
> In any case, the registration interface could be:
> 
> hv_amagic_register(HV *stash, const char *op, SV *value)
> 
> with a NULL op for registering and a NULL value for the ‘no overload’
> equivalent.
> 
> I’m suggesting amagic rather than overload in the name, because there
> are already two API functions containing it.  But maybe overload would
> be better.
> 
> For enquiry, which is best?
> 
> hv_amagic(HV *stash, const char *op)
> hv_amagic_get(...)
> hv_amagic_method(...)
> 
> Maybe we should use get and set, for parallelism.
> 

Can we get an update on the status of this ticket?

Thank you very much.
Jim Keenan



---
via perlbug:  queue: perl5 status: open
https://rt.perl.org:443/rt3/Ticket/Display.html?id=113050

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