Merge branch 'const_posix_invlists' into blead
authorKarl Williamson <public@khwilliamson.com>
Thu, 4 Jul 2013 01:51:45 +0000 (19:51 -0600)
committerKarl Williamson <public@khwilliamson.com>
Thu, 4 Jul 2013 01:51:45 +0000 (19:51 -0600)
What characters certain POSIX classes match, like [[:xdigit:]] are
compiled into a C header file, thus avoiding the necessity of reading
them in from disk at run-time.  This merge makes those fully const, so
that they can get loaded as part of a read-only text segment.  The sv's
that contain these are set so that SvLEN is 0; this means (from my
looking at the code without any experience in this area) that copies are
not made when they are dup'd, such as when threads are created.

A new svtype is created for inversion lists, using the single
available slot, renumbering them.

The first few commits instead use an existing svtype, repurposing
some of its fields for use by inversion lists.  This was done so that
this could be done in a maintenance release, if necessary.  (Their not
being fully const can interfere with -DPERL_GLOBAL_STRUCT_PRIVATE.)
And also, should it become necessary to create an svtype for some other
purpose, we can revert to that point in the branch.


Trivial merge