This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Restore 5.004 and 5.005 support in Storable.
authorNicholas Clark <nick@ccl4.org>
Sat, 10 Sep 2011 15:14:31 +0000 (17:14 +0200)
committerNicholas Clark <nick@ccl4.org>
Wed, 14 Sep 2011 09:49:37 +0000 (11:49 +0200)
commit70e1279abb4368eade75848c2010a9bd421908b5
tree781b565b56023a5e1cbe0327936118da6d54b2a5
parent22570a88de5a23b9f3a8a216f0a19cef783a03c1
Restore 5.004 and 5.005 support in Storable.

Add XSLoader as a prerequisite.
Use parentheses for the call to XSLoader::load().
Don't pass parameters that old ExtUtil::MakeMaker doesn't understand.

Avoid the T_BOOL typemap, as xsubpp will always mortalise the SV generated
by processing RETVAL, T_BOOL generates the SV using boolSV() which returns
PL_sv_yes or PL_sv_no, and on 5.004 Perl_sv_2mortal() will croak if passed
a readonly scalar. This is actually a small optimisation on later perls, as
the call to Perl_sv_2mortal() isn't actually needed.

Avoid repeating the PPCODE by merging last_op_in_netorder() with
is_storing() and is_retrieving(). (Which I didn't spot was easy to do
when commit 7cb18e1b020cd2e5 merged is_storing() and is_retrieving().)

Together these reduce the size of the shared object by about 200 bytes on
this platform. Small, but in the right direction.
dist/Storable/Makefile.PL
dist/Storable/Storable.pm
dist/Storable/Storable.xs