Please sign in to comment.
Storable: Support 5.12 first-class REGEXP
importing 5.12 REGEXP into a old 5.10 perl not yet implemented and tested (REGEXP => PV + Magic) bumped Storable format bin_minor to 8. swapped SX_ERROR and SX_REGEXP because of baked SX_ERROR logic. Still has to think about the necessary support matrix 2.22 | 2.23 ERR | REG REG | -----+------ 5.10 | 5.12 PV+MG| REGEXP in almost all directions, 4*2 = 8 possibilities. Maybe it's just better to freeze a REGEXP in the old PV+Magic format, so that older perls with newer storable files just work. There are apperently two different kinds of REGEXP/pv's. 1. Standalone without a REGCOMP op pointing to the SV (without the PMf_COMPILETIME flag), so we have no op_pmflags to pass to CALLREGCOMP, and 2. the normal with OP, but we cannot support this. We have no association of the SV to the upper OP, only the other way round. Creating a standalone REGEXP does not create the necessary magic chain correctly yet, contrary to a REGCOMP op with REGEXP SV, as done in the B::C or Bytecode compiler. STATUS: make && ../../perl -I../../lib -I../../lib/auto -I. -MStorable \ -e'$a=qr/1/;$Storable::DEBUGME=1;my $b=Storable::dclone($a);"212"=~$b; retrieve got REGEXP(0x159a720) Segmentation fault (core dumped)
- Loading branch information...
Showing with 381 additions and 178 deletions.
Oops, something went wrong.