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..)