Add OPpCOREARGS_SCALARMOD flag
authorFather Chrysostomos <sprout@cpan.org>
Sat, 27 Aug 2011 05:05:40 +0000 (22:05 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Sat, 27 Aug 2011 05:05:40 +0000 (22:05 -0700)
pp_coreargs will use this to distinguish between the \$ and \[$@%*]
prototypes.

ext/B/B/Concise.pm
op.h

index 2b806b7..45e7ba9 100644 (file)
@@ -661,7 +661,7 @@ if ($] >= 5.009) {
     for ("mapwhile", "mapstart", "grepwhile", "grepstart");
 }
 $priv{$_}{128} = '+1' for qw "caller wantarray";
     for ("mapwhile", "mapstart", "grepwhile", "grepstart");
 }
 $priv{$_}{128} = '+1' for qw "caller wantarray";
-@{$priv{coreargs}}{1,2,128} = ('DREF1','DREF2','MARK');
+@{$priv{coreargs}}{1,2,64,128} = ('DREF1','DREF2','$MOD','MARK');
 
 our %hints; # used to display each COP's op_hints values
 
 
 our %hints; # used to display each COP's op_hints values
 
diff --git a/op.h b/op.h
index 0d970ca..f23ff2d 100644 (file)
--- a/op.h
+++ b/op.h
@@ -301,6 +301,7 @@ Deprecated.  Use C<GIMME_V> instead.
 /* These must not conflict with OPpDONT_INIT_GV.  See pp.c:S_rv2gv. */
 #define OPpCOREARGS_DEREF1     1       /* Arg 1 is a handle constructor */
 #define OPpCOREARGS_DEREF2     2       /* Arg 2 is a handle constructor */
 /* These must not conflict with OPpDONT_INIT_GV.  See pp.c:S_rv2gv. */
 #define OPpCOREARGS_DEREF1     1       /* Arg 1 is a handle constructor */
 #define OPpCOREARGS_DEREF2     2       /* Arg 2 is a handle constructor */
+#define OPpCOREARGS_SCALARMOD  64      /* \$ rather than \[$@%*] */
 #define OPpCOREARGS_PUSHMARK   128     /* Call pp_pushmark */
 
 struct op {
 #define OPpCOREARGS_PUSHMARK   128     /* Call pp_pushmark */
 
 struct op {