I committed the 5.14 compatibility patch today.  We have enough
changes for a 1.32 release...


---------- Forwarded message ----------
From:  <ph...@apache.org>
Date: Wed, Jul 27, 2011 at 12:15 PM
Subject: svn commit: r1151596 - in /perl/modperl/branches/1.x: Changes
Symbol/Symbol.xs src/modules/perl/Constants.xs src/modules/perl/Log.xs
src/modules/perl/mod_perl.c src/modules/perl/mod_perl.h
src/modules/perl/perl_config.c
To: modperl-...@perl.apache.org


Author: phred
Date: Wed Jul 27 19:15:01 2011
New Revision: 1151596

URL: http://svn.apache.org/viewvc?rev=1151596&view=rev
Log:
RT 64999
perl 5.14 compatibility, GvCV and GvGP lvalue changes in perl core

Reported by: Dave Mitchell
Fixed by: sendw...@hotmail.com
Tested by: Perrin Harkins, Fred Moyer

Modified:
   perl/modperl/branches/1.x/Changes
   perl/modperl/branches/1.x/Symbol/Symbol.xs
   perl/modperl/branches/1.x/src/modules/perl/Constants.xs
   perl/modperl/branches/1.x/src/modules/perl/Log.xs
   perl/modperl/branches/1.x/src/modules/perl/mod_perl.c
   perl/modperl/branches/1.x/src/modules/perl/mod_perl.h
   perl/modperl/branches/1.x/src/modules/perl/perl_config.c

Modified: perl/modperl/branches/1.x/Changes
URL: 
http://svn.apache.org/viewvc/perl/modperl/branches/1.x/Changes?rev=1151596&r1=1151595&r2=1151596&view=diff
==============================================================================
--- perl/modperl/branches/1.x/Changes (original)
+++ perl/modperl/branches/1.x/Changes Wed Jul 27 19:15:01 2011
@@ -10,8 +10,11 @@ all changes without author attribution a

 =item 1.32-dev

+RT 64999, perl 5.14 compatibility, GvCV and GvGP lvalue changes in perl core
+[<sendw...@hotmail.com>]
+
 RT 40918, fix issue with sigils in perl binary path
-[Slave Rezic <sre...@cpan.org>]
+[Slaven Rezic <sre...@cpan.org>]

 Work around a gcc optimization specific bug which
 cuased seg faults on FreeBSD 7.x during mod_perl startup.

Modified: perl/modperl/branches/1.x/Symbol/Symbol.xs
URL: 
http://svn.apache.org/viewvc/perl/modperl/branches/1.x/Symbol/Symbol.xs?rev=1151596&r1=1151595&r2=1151596&view=diff
==============================================================================
--- perl/modperl/branches/1.x/Symbol/Symbol.xs (original)
+++ perl/modperl/branches/1.x/Symbol/Symbol.xs Wed Jul 27 19:15:01 2011
@@ -30,7 +30,7 @@ static void undef(SV *ref)
           has_proto = TRUE;

       cv_undef(cv);
-       CvGV(cv) = gv;   /* let user-undef'd sub keep its identity */
+        CvGV_set(cv, gv); /* let user-undef'd sub keep its identity */
        if(has_proto)
            SvPOK_on(cv); /* otherwise we get `Prototype mismatch:' */


Modified: perl/modperl/branches/1.x/src/modules/perl/Constants.xs
URL: 
http://svn.apache.org/viewvc/perl/modperl/branches/1.x/src/modules/perl/Constants.xs?rev=1151596&r1=1151595&r2=1151596&view=diff
==============================================================================
--- perl/modperl/branches/1.x/src/modules/perl/Constants.xs (original)
+++ perl/modperl/branches/1.x/src/modules/perl/Constants.xs Wed Jul 27
19:15:01 2011
@@ -20,7 +20,7 @@ static void export_cv(SV *pclass, SV *ca
           SvPVX(caller), sub, SvPVX(pclass), sub);
 #endif
    gv = gv_fetchpv(form("%_::%s", caller, sub), TRUE, SVt_PVCV);
-    GvCV(gv) = perl_get_cv(form("%_::%s", pclass, sub), TRUE);
+    GvCV_set(gv, perl_get_cv(form("%_::%s", pclass, sub), TRUE));
    GvIMPORTED_CV_on(gv);
 }


Modified: perl/modperl/branches/1.x/src/modules/perl/Log.xs
URL: 
http://svn.apache.org/viewvc/perl/modperl/branches/1.x/src/modules/perl/Log.xs?rev=1151596&r1=1151595&r2=1151596&view=diff
==============================================================================
--- perl/modperl/branches/1.x/src/modules/perl/Log.xs (original)
+++ perl/modperl/branches/1.x/src/modules/perl/Log.xs Wed Jul 27 19:15:01 2011
@@ -10,7 +10,7 @@
 static void perl_cv_alias(char *to, char *from)
 {
    GV *gp = gv_fetchpv(to, TRUE, SVt_PVCV);
-    GvCV(gp) = perl_get_cv(from, TRUE);
+    GvCV_set(gp, perl_get_cv(from, TRUE));
 }

 static void ApacheLog(int level, SV *sv, SV *msg)

Modified: perl/modperl/branches/1.x/src/modules/perl/mod_perl.c
URL: 
http://svn.apache.org/viewvc/perl/modperl/branches/1.x/src/modules/perl/mod_perl.c?rev=1151596&r1=1151595&r2=1151596&view=diff
==============================================================================
--- perl/modperl/branches/1.x/src/modules/perl/mod_perl.c (original)
+++ perl/modperl/branches/1.x/src/modules/perl/mod_perl.c Wed Jul 27
19:15:01 2011
@@ -791,8 +791,8 @@ void perl_startup (server_rec *s, pool *
    /* *CORE::GLOBAL::exit = \&Apache::exit */
    if(gv_stashpv("CORE::GLOBAL", FALSE)) {
       GV *exitgp = gv_fetchpv("CORE::GLOBAL::exit", TRUE, SVt_PVCV);
-       GvCV(exitgp) = perl_get_cv("Apache::exit", TRUE);
-       GvIMPORTED_CV_on(exitgp);
+       GvCV_set(exitgp, perl_get_cv("Apache::exit", TRUE));
+       GvIMPORTED_CV_on(exitgp);
    }

    ENTER_SAFE(s,p);

Modified: perl/modperl/branches/1.x/src/modules/perl/mod_perl.h
URL: 
http://svn.apache.org/viewvc/perl/modperl/branches/1.x/src/modules/perl/mod_perl.h?rev=1151596&r1=1151595&r2=1151596&view=diff
==============================================================================
--- perl/modperl/branches/1.x/src/modules/perl/mod_perl.h (original)
+++ perl/modperl/branches/1.x/src/modules/perl/mod_perl.h Wed Jul 27
19:15:01 2011
@@ -1026,6 +1026,14 @@ else { \
 #define PERL_HEADER_PARSER_CREATE(s)
 #endif

+#ifndef GvCV_set
+#define GvCV_set(gv, cv) (GvCV(gv) = (cv))
+#endif
+
+#ifndef GvCV_set
+#define CvGV_set(gv, cv) (CvVG(gv) = (cv))
+#endif
+
 typedef struct {
    array_header *PerlPassEnv;
    array_header *PerlRequire;

Modified: perl/modperl/branches/1.x/src/modules/perl/perl_config.c
URL: 
http://svn.apache.org/viewvc/perl/modperl/branches/1.x/src/modules/perl/perl_config.c?rev=1151596&r1=1151595&r2=1151596&view=diff
==============================================================================
--- perl/modperl/branches/1.x/src/modules/perl/perl_config.c (original)
+++ perl/modperl/branches/1.x/src/modules/perl/perl_config.c Wed Jul
27 19:15:01 2011
@@ -1720,7 +1720,7 @@ void perl_clear_symtab(HV *symtab)
       if((cv = GvCV((GV*)val)) && (GvSTASH((GV*)val) == GvSTASH(CvGV(cv)))) {
            GV *gv = CvGV(cv);
            cv_undef(cv);
-            CvGV(cv) = gv;
+            CvGV_set(cv, gv);
            GvCVGEN(gv) = 1; /* invalidate method cache */
        }
    }

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@perl.apache.org
For additional commands, e-mail: dev-h...@perl.apache.org

Reply via email to