constant.pm: Make elements of list consts read-only
authorFather Chrysostomos <sprout@cpan.org>
Wed, 13 Nov 2013 04:40:11 +0000 (20:40 -0800)
committerFather Chrysostomos <sprout@cpan.org>
Sat, 30 Nov 2013 13:53:16 +0000 (05:53 -0800)
commitd0916088db95dc07ca4cf83f9bf49d23c721281f
treef244ea69fd5f24e4f41b1fc0f08b7fc026d7620d
parentb587c0e858d09fe7a80e8730cc603d208712a341
constant.pm: Make elements of list consts read-only

Now that Internals::SvREADONLY turns on the PADTMP flag for all the
elements, the read-only flag on the elements themselves will not
actually make the returned elements read-only, because PADTMPs get
copied in all cases where readonliness matters.  What this does is
prevent the original SV from being modified, allowing for more opti-
misations in perl’s internals (e.g., string buffers being stolen from
PADTMPs not marked read-only).

The order of the statements needs to be rearranged, otherwise we end
up setting the flag on a temporary copy of each element due to ‘for’.
dist/constant/lib/constant.pm