remove an 'if $a if 0' from AutoSplit.t
[p5sagit/p5-mst-13.2.git] / sv.h
diff --git a/sv.h b/sv.h
index c694dab..ff7c9db 100644 (file)
--- a/sv.h
+++ b/sv.h
@@ -53,11 +53,11 @@ typedef enum {
        SVt_PVNV,       /* 6 */
        SVt_PVMG,       /* 7 */
        SVt_PVBM,       /* 8 */
-       SVt_PVLV,       /* 9 */
-       SVt_PVAV,       /* 10 */
-       SVt_PVHV,       /* 11 */
-       SVt_PVCV,       /* 12 */
-       SVt_PVGV,       /* 13 */
+       SVt_PVGV,       /* 9 */
+       SVt_PVLV,       /* 10 */
+       SVt_PVAV,       /* 11 */
+       SVt_PVHV,       /* 12 */
+       SVt_PVCV,       /* 13 */
        SVt_PVFM,       /* 14 */
        SVt_PVIO        /* 15 */
 } svtype;
@@ -272,6 +272,13 @@ struct xpvlv {
     MAGIC*     xmg_magic;      /* linked list of magicalness */
     HV*                xmg_stash;      /* class package */
 
+    /* a full glob fits into this */
+    GP*                xgv_gp;
+    char*      xgv_name;
+    STRLEN     xgv_namelen;
+    HV*                xgv_stash;
+    U8         xgv_flags;
+
     STRLEN     xlv_targoff;
     STRLEN     xlv_targlen;
     SV*                xlv_targ;
@@ -742,22 +749,22 @@ and leaves the UTF-8 status as it was.
                (void) SvIV(sv); } STMT_END
 #define SvIV_set(sv, val) \
        STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \
-               (((XPVIV*)  SvANY(sv))->xiv_iv = val); } STMT_END
+               (SvIVX(sv) = (val)); } STMT_END
 #define SvNV_set(sv, val) \
        STMT_START { assert(SvTYPE(sv) == SVt_NV || SvTYPE(sv) >= SVt_PVNV); \
-               (((XPVNV*)  SvANY(sv))->xnv_nv = val); } STMT_END
+               (SvNVX(sv) = (val)); } STMT_END
 #define SvPV_set(sv, val) \
        STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
-               (((XPV*)  SvANY(sv))->xpv_pv = val); } STMT_END
+               (SvPVX(sv) = (val)); } STMT_END
 #define SvCUR_set(sv, val) \
        STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
-               (((XPV*)  SvANY(sv))->xpv_cur = val); } STMT_END
+               (SvCUR(sv) = (val)); } STMT_END
 #define SvLEN_set(sv, val) \
        STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
-               (((XPV*)  SvANY(sv))->xpv_len = val); } STMT_END
+               (SvLEN(sv) = (val)); } STMT_END
 #define SvEND_set(sv, val) \
        STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
-               (((XPV*)  SvANY(sv))->xpv_cur = val - SvPVX(sv)); } STMT_END
+               (SvCUR(sv) = (val) - SvPVX(sv)); } STMT_END
 
 #define BmRARE(sv)     ((XPVBM*)  SvANY(sv))->xbm_rare
 #define BmUSEFUL(sv)   ((XPVBM*)  SvANY(sv))->xbm_useful