Move the xpv_pv/xrv_rv member into the SV head, in a union with
[p5sagit/p5-mst-13.2.git] / cv.h
diff --git a/cv.h b/cv.h
index e1191b6..90eef1b 100644 (file)
--- a/cv.h
+++ b/cv.h
@@ -1,17 +1,17 @@
 /*    cv.h
  *
- *    Copyright (c) 1991-2002, Larry Wall
+ *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999,
+ *    2000, 2001, 2002, 2003, 2004, by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
  *
  */
 
-/* This structure much match XPVCV in B/C.pm and the beginning of XPVFM
+/* This structure must match XPVCV in B/C.pm and the beginning of XPVFM
  * in sv.h  */
 
 struct xpvcv {
-    char *     xpv_pv;         /* pointer to malloced string (for prototype) */
     STRLEN     xpv_cur;        /* length of xp_pv as a C string */
     STRLEN     xpv_len;        /* allocated size */
     IV         xof_off;        /* integer value */
@@ -74,7 +74,10 @@ Returns the stash of the CV.
 #define CVf_CLONED     0x0002  /* a clone of one of those */
 #define CVf_ANON       0x0004  /* CvGV() can't be trusted */
 #define CVf_OLDSTYLE   0x0008
-#define CVf_UNIQUE     0x0010  /* can't be cloned */
+#define CVf_UNIQUE     0x0010  /* sub is only called once (eg PL_main_cv,
+                                * require, eval). Not to be confused
+                                * with the GVf_UNIQUE flag associated
+                                * with the :unique attribute */
 #define CVf_NODEBUG    0x0020  /* no DB::sub indirection for this CV
                                   (esp. useful for special XSUBs) */
 #define CVf_METHOD     0x0040  /* CV is explicitly marked as a method */