Perl 5.8.3 patches from the BS2000 port - part 2
[p5sagit/p5-mst-13.2.git] / sv.h
diff --git a/sv.h b/sv.h
index d2113ae..b31cb14 100644 (file)
--- a/sv.h
+++ b/sv.h
@@ -129,10 +129,10 @@ perform the upgrade if necessary.  See C<svtype>.
 #if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
 #  define SvREFCNT_inc(sv)             \
     ({                                 \
-       SV *nsv = (SV*)(sv);            \
-       if (nsv)                        \
-            (SvREFCNT(nsv))++;         \
-       nsv;                            \
+       SV *_sv = (SV*)(sv);            \
+       if (_sv)                        \
+            (SvREFCNT(_sv))++;         \
+       _sv;                            \
     })
 #else
 #  define SvREFCNT_inc(sv)     \
@@ -142,13 +142,13 @@ perform the upgrade if necessary.  See C<svtype>.
 #if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
 #  define SvREFCNT_dec(sv)             \
     ({                                 \
-       SV *nsv = (SV*)(sv);            \
-       if (nsv) {                      \
-           if (SvREFCNT(nsv)) {        \
-               if (--(SvREFCNT(nsv)) == 0) \
-                   Perl_sv_free2(aTHX_ nsv);   \
+       SV *_sv = (SV*)(sv);            \
+       if (_sv) {                      \
+           if (SvREFCNT(_sv)) {        \
+               if (--(SvREFCNT(_sv)) == 0) \
+                   Perl_sv_free2(aTHX_ _sv);   \
            } else {                    \
-               sv_free(nsv);           \
+               sv_free(_sv);           \
            }                           \
        }                               \
     })
@@ -213,6 +213,7 @@ perform the upgrade if necessary.  See C<svtype>.
 
 #define SVrepl_EVAL    0x40000000      /* Replacement part of s///e */
 
+#define SVphv_REHASH   0x10000000      /* HV is recalculating hash values */
 #define SVphv_SHAREKEYS 0x20000000     /* keys live on shared string table */
 #define SVphv_LAZYDEL  0x40000000      /* entry in xhv_eiter must be deleted */
 #define SVphv_HASKFLAGS        0x80000000      /* keys have flag byte after hash */
@@ -464,7 +465,7 @@ Unsets the PV status of an SV.
 
 =for apidoc Am|void|SvPOK_only|SV* sv
 Tells an SV that it is a string and disables all other OK bits.
-Will also turn off the UTF8 status.
+Will also turn off the UTF-8 status.
 
 =for apidoc Am|bool|SvVOK|SV* sv
 Returns a boolean indicating whether the SV contains a v-string.
@@ -529,7 +530,7 @@ Set the length of the string which is in the SV.  See C<SvCUR>.
                                                  SVp_IOK|SVp_NOK|SVf_IVisUV))
 
 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-#define assert_not_ROK(sv)     ({assert(!SvROK(sv) || !SvRV(sv))}),
+#define assert_not_ROK(sv)     ({assert(!SvROK(sv) || !SvRV(sv));}),
 #else
 #define assert_not_ROK(sv)     
 #endif
@@ -584,15 +585,15 @@ Set the length of the string which is in the SV.  See C<SvCUR>.
 Returns a boolean indicating whether the SV contains UTF-8 encoded data.
 
 =for apidoc Am|void|SvUTF8_on|SV *sv
-Turn on the UTF8 status of an SV (the data is not changed, just the flag).
+Turn on the UTF-8 status of an SV (the data is not changed, just the flag).
 Do not use frivolously.
 
 =for apidoc Am|void|SvUTF8_off|SV *sv
-Unsets the UTF8 status of an SV.
+Unsets the UTF-8 status of an SV.
 
 =for apidoc Am|void|SvPOK_only_UTF8|SV* sv
 Tells an SV that it is a string and disables all other OK bits,
-and leaves the UTF8 status as it was.
+and leaves the UTF-8 status as it was.
 
 =cut
  */
@@ -1005,12 +1006,12 @@ scalar.
 
 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
 
-#  define SvIVx(sv) ({SV *nsv = (SV*)(sv); SvIV(nsv); })
-#  define SvUVx(sv) ({SV *nsv = (SV*)(sv); SvUV(nsv); })
-#  define SvNVx(sv) ({SV *nsv = (SV*)(sv); SvNV(nsv); })
-#  define SvPVx(sv, lp) ({SV *nsv = (sv); SvPV(nsv, lp); })
-#  define SvPVutf8x(sv, lp) ({SV *nsv = (sv); SvPVutf8(nsv, lp); })
-#  define SvPVbytex(sv, lp) ({SV *nsv = (sv); SvPVbyte(nsv, lp); })
+#  define SvIVx(sv) ({SV *_sv = (SV*)(sv); SvIV(_sv); })
+#  define SvUVx(sv) ({SV *_sv = (SV*)(sv); SvUV(_sv); })
+#  define SvNVx(sv) ({SV *_sv = (SV*)(sv); SvNV(_sv); })
+#  define SvPVx(sv, lp) ({SV *_sv = (sv); SvPV(_sv, lp); })
+#  define SvPVutf8x(sv, lp) ({SV *_sv = (sv); SvPVutf8(_sv, lp); })
+#  define SvPVbytex(sv, lp) ({SV *_sv = (sv); SvPVbyte(_sv, lp); })
 #  define SvTRUE(sv) (                                         \
     !sv                                                                \
     ? 0                                                                \
@@ -1027,7 +1028,7 @@ scalar.
            :   SvNOK(sv)                                       \
                ? SvNVX(sv) != 0.0                              \
                : sv_2bool(sv) )
-#  define SvTRUEx(sv) ({SV *nsv = (sv); SvTRUE(nsv); })
+#  define SvTRUEx(sv) ({SV *_sv = (sv); SvTRUE(_sv); })
 
 #else /* __GNUC__ */