This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldiag: Add cat for PERL_SIGNALS illegal
[perl5.git] / cv.h
diff --git a/cv.h b/cv.h
index baf7692..072ff1e 100644 (file)
--- a/cv.h
+++ b/cv.h
@@ -8,7 +8,7 @@
  *
  */
 
-/* This structure must the beginning of XPVFM in sv.h  */
+/* This structure must match the beginning of XPVFM in sv.h  */
 
 struct xpvcv {
     _XPV_HEAD;
@@ -107,6 +107,7 @@ See L<perlguts/Autoloading with XSUBs>.
 #define CVf_CVGV_RC    0x0400  /* CvGV is reference counted */
 #define CVf_DYNFILE    0x1000  /* The filename isn't static  */
 #define CVf_AUTOLOAD   0x2000  /* SvPVX contains AUTOLOADed sub name  */
+#define CVf_HASEVAL    0x4000  /* contains string eval  */
 
 /* This symbol for optimised communication between toke.c and op.c: */
 #define CVf_BUILTIN_ATTRS      (CVf_METHOD|CVf_LVALUE)
@@ -123,6 +124,7 @@ See L<perlguts/Autoloading with XSUBs>.
 #define CvANON_on(cv)          (CvFLAGS(cv) |= CVf_ANON)
 #define CvANON_off(cv)         (CvFLAGS(cv) &= ~CVf_ANON)
 
+/* CvEVAL or CvSPECIAL */
 #define CvUNIQUE(cv)           (CvFLAGS(cv) & CVf_UNIQUE)
 #define CvUNIQUE_on(cv)                (CvFLAGS(cv) |= CVf_UNIQUE)
 #define CvUNIQUE_off(cv)       (CvFLAGS(cv) &= ~CVf_UNIQUE)
@@ -139,6 +141,7 @@ See L<perlguts/Autoloading with XSUBs>.
 #define CvLVALUE_on(cv)                (CvFLAGS(cv) |= CVf_LVALUE)
 #define CvLVALUE_off(cv)       (CvFLAGS(cv) &= ~CVf_LVALUE)
 
+/* eval or PL_main_cv */
 #define CvEVAL(cv)             (CvUNIQUE(cv) && !SvFAKE(cv))
 #define CvEVAL_on(cv)          (CvUNIQUE_on(cv),SvFAKE_off(cv))
 #define CvEVAL_off(cv)         CvUNIQUE_off(cv)
@@ -172,6 +175,10 @@ See L<perlguts/Autoloading with XSUBs>.
 #define CvAUTOLOAD_on(cv)      (CvFLAGS(cv) |= CVf_AUTOLOAD)
 #define CvAUTOLOAD_off(cv)     (CvFLAGS(cv) &= ~CVf_AUTOLOAD)
 
+#define CvHASEVAL(cv)          (CvFLAGS(cv) & CVf_HASEVAL)
+#define CvHASEVAL_on(cv)       (CvFLAGS(cv) |= CVf_HASEVAL)
+#define CvHASEVAL_off(cv)      (CvFLAGS(cv) &= ~CVf_HASEVAL)
+
 /* Flags for newXS_flags  */
 #define XS_DYNAMIC_FILENAME    0x01    /* The filename isn't static  */
 
@@ -236,8 +243,8 @@ typedef OP *(*Perl_call_checker)(pTHX_ OP *, GV *, SV *);
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */