This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate:
authorNicholas Clark <nick@ccl4.org>
Sat, 13 Jan 2007 16:30:48 +0000 (16:30 +0000)
committerNicholas Clark <nick@ccl4.org>
Sat, 13 Jan 2007 16:30:48 +0000 (16:30 +0000)
commita92f283d0ea760b67f00c273726609655af93238
tree0ab8a04e9f19816301b8d17e6ca40189265caea6
parent0211776e1d2cbfcdd932e87ff7ce1128ec37426c
Integrate:
[ 26409]
Make gv_init recognise a reference-to-something in a symbol table as
meaning a constant subroutine with that thing as it value

[ 26417]
Verify that the code for initialising typeglobs from other types works.

[ 26422]
Croak if gv_init doesn't know how to create a typeglob from that type
of referant. Test that ARRAY, HASH, PVIO, CODE and FORMAT croak.
Globs are actually first class assignable objects, so test that you
can create a constant subroutine that returns one.

[ 26425]
Add a GV_NOADD_NOINIT flag to gv_fetch{pv,pvn,sv} that disables
addition of new typeglobs, and also disables initialisation of any
typeglob placeholders. Needed to make the new constant subroutine
proxy references work efficiently.

[ 26427]
Take care in toke.c not to convert constant subroutine reference
proxies into full blown PVGVs with PVCVs, and recognise them and inline
their values. Adds a new function gv_const_sv(gv) to return the value
of the constant subroutine from a GV, and adds a cv parameter to
S_intuit_method.
p4raw-link: @26427 on //depot/perl: 62d55b227f6b1e95d65e7faf12ed22fd467e4c0e
p4raw-link: @26425 on //depot/perl: add2581e58e8d35079b402632186684a5cef9cd2
p4raw-link: @26422 on //depot/perl: 5c1f4d79697c25c445705da5672c3103505b0d08
p4raw-link: @26417 on //depot/perl: 63fa9adcade8ebea86e41864381690cdfea27db9
p4raw-link: @26409 on //depot/perl: 756cb4773036ba2209d91fd1e0325202c13604e4

p4raw-id: //depot/maint-5.8/perl@29783
p4raw-edited: from //depot/perl@26427 'edit in' toke.c (@26423..)
p4raw-integrated: from //depot/perl@26427 'edit in' proto.h (@26402..)
'merge in' embed.fnc embed.h (@26402..)
p4raw-integrated: from //depot/perl@26425 'merge in' gv.h (@26395..)
p4raw-integrated: from //depot/perl@26422 'merge in' pod/perldiag.pod
(@26407..)
p4raw-integrated: from //depot/perl@26417 'edit in' t/op/gv.t
(@24973..)
p4raw-integrated: from //depot/perl@26409 'edit in' gv.c (@26381..)
embed.fnc
embed.h
gv.c
gv.h
pod/perldiag.pod
proto.h
t/op/gv.t
toke.c