CVf_METHOD CVf_LVALUE
PMf_KEEP PMf_GLOBAL PMf_CONTINUE PMf_EVAL PMf_ONCE
PMf_MULTILINE PMf_SINGLELINE PMf_FOLD PMf_EXTENDED),
- ($] < 5.009 ? 'PMf_SKIPWHITE' : 'RXf_SKIPWHITE');
-$VERSION = 0.88;
+ ($] < 5.009 ? 'PMf_SKIPWHITE' : 'RXf_SKIPWHITE'),
+ ($] < 5.011 ? 'CVf_LOCKED' : ());
+$VERSION = 0.89;
use strict;
use vars qw/$AUTOLOAD/;
use warnings ();
+BEGIN {
+ # Easiest way to keep this code portable between 5.12.x and 5.10.x looks to
+ # be to fake up a dummy CVf_LOCKED that will never actually be true.
+ *CVf_LOCKED = sub () {0} unless defined &CVf_LOCKED;
+}
+
# Changes between 0.50 and 0.51:
# - fixed nulled leave with live enter in sort { }
# - fixed reference constants (\"str")
if ($cv->FLAGS & SVf_POK) {
$proto = "(". $cv->PV . ") ";
}
- if ($cv->CvFLAGS & (CVf_METHOD|CVf_LVALUE)) {
+ if ($cv->CvFLAGS & (CVf_METHOD|CVf_LOCKED|CVf_LVALUE)) {
$proto .= ": ";
$proto .= "lvalue " if $cv->CvFLAGS & CVf_LVALUE;
+ $proto .= "locked " if $cv->CvFLAGS & CVf_LOCKED;
$proto .= "method " if $cv->CvFLAGS & CVf_METHOD;
}
doconst(AVf_REAL);
}
+if ($] < 5.011) {
+ # Constant not present after 5.10.x
+ doconst(CVf_LOCKED);
+}
+
foreach my $tuple (['op.h'],['cop.h'],['regexp.h','RXf_'])
{
my $file = $tuple->[0];
PMf_MULTILINE PMf_ONCE PMf_SINGLELINE
POSTFIX SVf_FAKE SVf_IOK SVf_NOK SVf_POK SVf_ROK
SVpad_OUR SVs_RMG SVs_SMG SWAP_CHILDREN OPpPAD_STATE
- /, $] > 5.009 ? ('RXf_SKIPWHITE') : ('PMf_SKIPWHITE')],
+ /, $] > 5.009 ? ('RXf_SKIPWHITE') : ('PMf_SKIPWHITE'),
+ 'CVf_LOCKED', # This ends up as a constant, pre or post 5.10
+ ],
},
POSIX => { dflt => 'constant', # all but 252/589