Don't promulgate Perl attributes
Jerry D. Hedden [Wed, 23 Aug 2006 10:07:05 +0000 (03:07 -0700)]
From: "Jerry D. Hedden" <jdhedden@cpan.org>
Message-ID: <20060823100705.fb30e530d17747c2b054d625b8945d88.87c0ee9326.wbe@email.secureserver.net>

p4raw-id: //depot/perl@28753

lib/attributes.pm
xsutils.c

index 714cb26..544e2f5 100644 (file)
@@ -1,6 +1,6 @@
 package attributes;
 
-our $VERSION = 0.06;
+our $VERSION = 0.07;
 
 @EXPORT_OK = qw(get reftype);
 @EXPORT = ();
@@ -43,7 +43,7 @@ sub import {
     my @badattrs;
     if ($pkgmeth) {
        my @pkgattrs = _modify_attrs($svref, @attrs);
-       @badattrs = $pkgmeth->($home_stash, $svref, @attrs);
+       @badattrs = $pkgmeth->($home_stash, $svref, @pkgattrs);
        if (!@badattrs && @pkgattrs) {
            return unless _warn_reserved;
            @pkgattrs = grep { m/\A[[:lower:]]+(?:\z|\()/ } @pkgattrs;
index 86fb0aa..82df4f8 100644 (file)
--- a/xsutils.c
+++ b/xsutils.c
@@ -85,8 +85,8 @@ modify_SV_attributes(pTHX_ SV *sv, SV **retlist, SV **attrlist, int numattrs)
 #endif
            case 6:
                switch (name[3]) {
-               case 'l':
 #ifdef CVf_LVALUE
+               case 'l':
                    if (memEQ(name, "lvalue", 6)) {
                        if (negated)
                            CvFLAGS((CV*)sv) &= ~CVf_LVALUE;
@@ -95,8 +95,8 @@ modify_SV_attributes(pTHX_ SV *sv, SV **retlist, SV **attrlist, int numattrs)
                        continue;
                    }
                    break;
+#endif
                case 'k':
-#endif /* defined CVf_LVALUE */
                    if (memEQ(name, "locked", 6)) {
                        if (negated)
                            CvFLAGS((CV*)sv) &= ~CVf_LOCKED;