r69987 - in /trunk/libscope-upper-perl: ./ debian/ lib/Scope/ t/ t/lib/Test/

jawnsy-guest at users.alioth.debian.org jawnsy-guest at users.alioth.debian.org
Sun Feb 27 21:30:49 UTC 2011


Author: jawnsy-guest
Date: Sun Feb 27 21:30:40 2011
New Revision: 69987

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=69987
Log:
NOTE: Only compatibility fixes for upcoming Perl 5.13,
and speedup in test suite.
* New upstream release

Added:
    trunk/libscope-upper-perl/t/lib/Test/
      - copied from r69982, branches/upstream/libscope-upper-perl/current/t/lib/Test/
Modified:
    trunk/libscope-upper-perl/Changes
    trunk/libscope-upper-perl/MANIFEST
    trunk/libscope-upper-perl/META.yml
    trunk/libscope-upper-perl/README
    trunk/libscope-upper-perl/Upper.xs
    trunk/libscope-upper-perl/debian/changelog
    trunk/libscope-upper-perl/lib/Scope/Upper.pm
    trunk/libscope-upper-perl/t/11-reap-level.t
    trunk/libscope-upper-perl/t/12-reap-block.t
    trunk/libscope-upper-perl/t/20-localize-target.t
    trunk/libscope-upper-perl/t/21-localize-level.t
    trunk/libscope-upper-perl/t/22-localize-block.t
    trunk/libscope-upper-perl/t/31-localize_elem-level.t
    trunk/libscope-upper-perl/t/32-localize_elem-block.t
    trunk/libscope-upper-perl/t/41-localize_delete-level.t
    trunk/libscope-upper-perl/t/81-stress-level.t
    trunk/libscope-upper-perl/t/85-stress-unwind.t

Modified: trunk/libscope-upper-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/Changes?rev=69987&op=diff
==============================================================================
--- trunk/libscope-upper-perl/Changes (original)
+++ trunk/libscope-upper-perl/Changes Sun Feb 27 21:30:40 2011
@@ -1,4 +1,10 @@
 Revision history for Scope-Upper
+
+0.14    2011-02-27 00:00 UTC
+        + Fix : [RT #64997] : Compatibility with perl 5.13.10.
+                Thanks Dave Mitchell for the notice.
+        + Tst : Lengthy tests have been ported to Test::Leaner, making the
+                whole test suite about 50% faster.
 
 0.13    2010-12-20 01:00 UTC
         + Fix : [RT #61904] : Stack corruption when using unwind() under

Modified: trunk/libscope-upper-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/MANIFEST?rev=69987&op=diff
==============================================================================
--- trunk/libscope-upper-perl/MANIFEST (original)
+++ trunk/libscope-upper-perl/MANIFEST Sun Feb 27 21:30:40 2011
@@ -43,3 +43,4 @@
 t/95-portability-files.t
 t/99-kwalitee.t
 t/lib/Scope/Upper/TestGenerator.pm
+t/lib/Test/Leaner.pm

Modified: trunk/libscope-upper-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/META.yml?rev=69987&op=diff
==============================================================================
--- trunk/libscope-upper-perl/META.yml (original)
+++ trunk/libscope-upper-perl/META.yml Sun Feb 27 21:30:40 2011
@@ -1,6 +1,6 @@
 --- #YAML:1.0
 name:               Scope-Upper
-version:            0.13
+version:            0.14
 abstract:           Act on upper scopes.
 author:
     - Vincent Pit <perl at profvince.com>

Modified: trunk/libscope-upper-perl/README
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/README?rev=69987&op=diff
==============================================================================
--- trunk/libscope-upper-perl/README (original)
+++ trunk/libscope-upper-perl/README Sun Feb 27 21:30:40 2011
@@ -2,7 +2,7 @@
     Scope::Upper - Act on upper scopes.
 
 VERSION
-    Version 0.13
+    Version 0.14
 
 SYNOPSIS
     "reap", "localize", "localize_elem", "localize_delete" and "WORDS" :
@@ -419,7 +419,7 @@
     Thanks to Shawn M. Moore for motivation.
 
 COPYRIGHT & LICENSE
-    Copyright 2008,2009,2010 Vincent Pit, all rights reserved.
+    Copyright 2008,2009,2010,2011 Vincent Pit, all rights reserved.
 
     This program is free software; you can redistribute it and/or modify it
     under the same terms as Perl itself.

Modified: trunk/libscope-upper-perl/Upper.xs
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/Upper.xs?rev=69987&op=diff
==============================================================================
--- trunk/libscope-upper-perl/Upper.xs (original)
+++ trunk/libscope-upper-perl/Upper.xs Sun Feb 27 21:30:40 2011
@@ -46,6 +46,10 @@
 
 #ifndef SvREFCNT_inc_simple_void
 # define SvREFCNT_inc_simple_void(sv) SvREFCNT_inc(sv)
+#endif
+
+#ifndef GvCV_set
+# define GvCV_set(G, C) (GvCV(G) = (C))
 #endif
 
 #ifndef HvNAME_get
@@ -311,6 +315,45 @@
   (void)hv_delete_ent(hv, keysv, G_DISCARD, HeHASH(he));
  }
 }
+
+/* ... Saving code slots from a glob ....................................... */
+
+#if SU_HAS_PERL(5, 13, 10)
+
+/* Since perl 5.13.10, GvCV() is only a rvalue so we no longer can store a
+ * pointer to the gvcv member of the gv. */
+
+typedef struct {
+ GV *gv;
+ CV *old_cv;
+} su_save_gvcv_ud;
+
+STATIC void su_restore_gvcv(pTHX_ void *ud_) {
+ su_save_gvcv_ud *ud = ud_;
+
+ GvCV_set(ud->gv, ud->old_cv);
+
+ Safefree(ud);
+}
+
+STATIC void su_save_gvcv(pTHX_ GV *gv) {
+#define su_save_gvcv(gv) su_save_gvcv(aTHX_ (gv))
+ su_save_gvcv_ud *ud;
+
+ Newx(ud, 1, su_save_gvcv_ud);
+ ud->gv     = gv;
+ ud->old_cv = GvCV(gv);
+
+ GvCV_set(gv, NULL);
+
+ SAVEDESTRUCTOR_X(su_restore_gvcv, ud);
+}
+
+#else
+
+#define su_save_gvcv(gv) SAVESPTR(GvCV(gv)), GvCV_set((gv), NULL)
+
+#endif
 
 /* --- Actions ------------------------------------------------------------- */
 
@@ -545,8 +588,7 @@
    save_gp(gv, 1); /* hide previous entry in symtab */
    break;
   case SVt_PVCV:
-   SAVESPTR(GvCV(gv));
-   GvCV(gv) = NULL;
+   su_save_gvcv(gv);
    break;
   default:
    gv = (GV *) save_scalar(gv);

Modified: trunk/libscope-upper-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/debian/changelog?rev=69987&op=diff
==============================================================================
--- trunk/libscope-upper-perl/debian/changelog (original)
+++ trunk/libscope-upper-perl/debian/changelog Sun Feb 27 21:30:40 2011
@@ -1,3 +1,12 @@
+libscope-upper-perl (0.14-1) UNRELEASED; urgency=low
+
+  NOTE: Only compatibility fixes for upcoming Perl 5.13,
+  and speedup in test suite.
+
+  * New upstream release
+
+ -- Jonathan Yu <jawnsy at cpan.org>  Sun, 27 Feb 2011 16:32:54 -0500
+
 libscope-upper-perl (0.13-1) unstable; urgency=low
 
   * New upstream release.

Modified: trunk/libscope-upper-perl/lib/Scope/Upper.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/lib/Scope/Upper.pm?rev=69987&op=diff
==============================================================================
--- trunk/libscope-upper-perl/lib/Scope/Upper.pm (original)
+++ trunk/libscope-upper-perl/lib/Scope/Upper.pm Sun Feb 27 21:30:40 2011
@@ -9,13 +9,13 @@
 
 =head1 VERSION
 
-Version 0.13
+Version 0.14
 
 =cut
 
 our $VERSION;
 BEGIN {
- $VERSION = '0.13';
+ $VERSION = '0.14';
 }
 
 =head1 SYNOPSIS
@@ -462,7 +462,7 @@
 
 =head1 COPYRIGHT & LICENSE
 
-Copyright 2008,2009,2010 Vincent Pit, all rights reserved.
+Copyright 2008,2009,2010,2011 Vincent Pit, all rights reserved.
 
 This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
 

Modified: trunk/libscope-upper-perl/t/11-reap-level.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/t/11-reap-level.t?rev=69987&op=diff
==============================================================================
--- trunk/libscope-upper-perl/t/11-reap-level.t (original)
+++ trunk/libscope-upper-perl/t/11-reap-level.t Sun Feb 27 21:30:40 2011
@@ -3,11 +3,11 @@
 use strict;
 use warnings;
 
-use Test::More 'no_plan'; 
+use lib 't/lib';
+use Test::Leaner 'no_plan';
 
 use Scope::Upper qw/reap UP HERE/;
 
-use lib 't/lib';
 use Scope::Upper::TestGenerator;
 
 local $Scope::Upper::TestGenerator::call = sub {
@@ -39,7 +39,7 @@
 DIAG
    undef $testcase;
   }
-  Test::More::is($a, $b, $desc);
+  Test::Leaner::is($a, $b, $desc);
  }
 }
 

Modified: trunk/libscope-upper-perl/t/12-reap-block.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/t/12-reap-block.t?rev=69987&op=diff
==============================================================================
--- trunk/libscope-upper-perl/t/12-reap-block.t (original)
+++ trunk/libscope-upper-perl/t/12-reap-block.t Sun Feb 27 21:30:40 2011
@@ -3,11 +3,11 @@
 use strict;
 use warnings;
 
-use Test::More 'no_plan'; 
+use lib 't/lib';
+use Test::Leaner 'no_plan';
 
 use Scope::Upper qw/reap UP HERE/;
 
-use lib 't/lib';
 use Scope::Upper::TestGenerator;
 
 local $Scope::Upper::TestGenerator::call = sub {
@@ -48,7 +48,7 @@
 DIAG
    undef $testcase;
   }
-  Test::More::is($a, $b, $desc);
+  Test::Leaner::is($a, $b, $desc);
  }
 }
 

Modified: trunk/libscope-upper-perl/t/20-localize-target.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/t/20-localize-target.t?rev=69987&op=diff
==============================================================================
--- trunk/libscope-upper-perl/t/20-localize-target.t (original)
+++ trunk/libscope-upper-perl/t/20-localize-target.t Sun Feb 27 21:30:40 2011
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 50 + 4;
+use Test::More tests => 61 + 4;
 
 use Scope::Upper qw/localize UP HERE/;
 
@@ -255,6 +255,45 @@
  is foo(), 8, 'localize "&foo", sub { 8 } => UP [ok]';
 }
 
+{
+ local *foo = sub { 'a' };
+ {
+  {
+   localize *foo, sub { 'b' } => UP;
+   is foo(), 'a', 'localize *foo, sub { "b" } => UP [not yet 1]';
+   {
+    no warnings 'redefine';
+    local *foo = sub { 'c' };
+    is foo(), 'c', 'localize *foo, sub { "b" } => UP [localized 1]';
+   }
+   is foo(), 'a', 'localize *foo, sub { "b" } => UP [not yet 2]';
+  }
+  is foo(), 'b', 'localize *foo, sub { "b" } => UP [ok 1]';
+  {
+   no warnings 'redefine';
+   local *foo = sub { 'd' };
+   is foo(), 'd', 'localize *foo, sub { "b" } => UP [localized 2]';
+  }
+  is foo(), 'b', 'localize *foo, sub { "b" } => UP [ok 2]';
+ }
+ is foo(), 'a', 'localize *foo, sub { "b" } => UP [end]';
+}
+
+{
+ local *foo = sub { 'x' };
+ {
+  {
+   localize *foo, sub { 'y' } => UP;
+   is foo(), 'x', 'localize *foo, sub { "y" } => UP [not yet]';
+  }
+  is foo(), 'y', 'localize *foo, sub { "y" } => UP [ok]';
+  no warnings 'redefine';
+  *foo = sub { 'z' };
+  is foo(), 'z', 'localize *foo, sub { "y" } => UP [replaced]';
+ }
+ is foo(), 'x', 'localize *foo, sub { "y" } => UP [end]';
+}
+
 # Invalid
 
 sub invalid_ref { qr/^Invalid \Q$_[0]\E reference as the localization target/ }

Modified: trunk/libscope-upper-perl/t/21-localize-level.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/t/21-localize-level.t?rev=69987&op=diff
==============================================================================
--- trunk/libscope-upper-perl/t/21-localize-level.t (original)
+++ trunk/libscope-upper-perl/t/21-localize-level.t Sun Feb 27 21:30:40 2011
@@ -3,11 +3,11 @@
 use strict;
 use warnings;
 
-use Test::More 'no_plan'; 
+use lib 't/lib';
+use Test::Leaner 'no_plan';
 
 use Scope::Upper qw/localize UP HERE/;
 
-use lib 't/lib';
 use Scope::Upper::TestGenerator;
 
 local $Scope::Upper::TestGenerator::call = sub {
@@ -37,7 +37,7 @@
 DIAG
    undef $testcase;
   }
-  Test::More::is($a, $b, $desc);
+  Test::Leaner::is($a, $b, $desc);
  }
 }
 

Modified: trunk/libscope-upper-perl/t/22-localize-block.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/t/22-localize-block.t?rev=69987&op=diff
==============================================================================
--- trunk/libscope-upper-perl/t/22-localize-block.t (original)
+++ trunk/libscope-upper-perl/t/22-localize-block.t Sun Feb 27 21:30:40 2011
@@ -3,11 +3,11 @@
 use strict;
 use warnings;
 
-use Test::More 'no_plan'; 
+use lib 't/lib';
+use Test::Leaner 'no_plan';
 
 use Scope::Upper qw/localize UP HERE/;
 
-use lib 't/lib';
 use Scope::Upper::TestGenerator;
 
 local $Scope::Upper::TestGenerator::call = sub {
@@ -41,7 +41,7 @@
 DIAG
    undef $testcase;
   }
-  Test::More::is($a, $b, $desc);
+  Test::Leaner::is($a, $b, $desc);
  }
 }
 

Modified: trunk/libscope-upper-perl/t/31-localize_elem-level.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/t/31-localize_elem-level.t?rev=69987&op=diff
==============================================================================
--- trunk/libscope-upper-perl/t/31-localize_elem-level.t (original)
+++ trunk/libscope-upper-perl/t/31-localize_elem-level.t Sun Feb 27 21:30:40 2011
@@ -3,11 +3,11 @@
 use strict;
 use warnings;
 
-use Test::More 'no_plan'; 
+use lib 't/lib';
+use Test::Leaner 'no_plan';
 
 use Scope::Upper qw/localize_elem UP HERE/;
 
-use lib 't/lib';
 use Scope::Upper::TestGenerator;
 
 our ($x, $testcase);

Modified: trunk/libscope-upper-perl/t/32-localize_elem-block.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/t/32-localize_elem-block.t?rev=69987&op=diff
==============================================================================
--- trunk/libscope-upper-perl/t/32-localize_elem-block.t (original)
+++ trunk/libscope-upper-perl/t/32-localize_elem-block.t Sun Feb 27 21:30:40 2011
@@ -3,11 +3,11 @@
 use strict;
 use warnings;
 
-use Test::More 'no_plan'; 
+use lib 't/lib';
+use Test::Leaner 'no_plan';
 
 use Scope::Upper qw/localize_elem UP HERE/;
 
-use lib 't/lib';
 use Scope::Upper::TestGenerator;
 
 local $Scope::Upper::TestGenerator::testlocal = sub { '' };

Modified: trunk/libscope-upper-perl/t/41-localize_delete-level.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/t/41-localize_delete-level.t?rev=69987&op=diff
==============================================================================
--- trunk/libscope-upper-perl/t/41-localize_delete-level.t (original)
+++ trunk/libscope-upper-perl/t/41-localize_delete-level.t Sun Feb 27 21:30:40 2011
@@ -3,11 +3,11 @@
 use strict;
 use warnings;
 
-use Test::More 'no_plan';
+use lib 't/lib';
+use Test::Leaner 'no_plan';
 
 use Scope::Upper qw/localize_delete UP HERE/;
 
-use lib 't/lib';
 use Scope::Upper::TestGenerator;
 
 our ($x, $testcase);

Modified: trunk/libscope-upper-perl/t/81-stress-level.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/t/81-stress-level.t?rev=69987&op=diff
==============================================================================
--- trunk/libscope-upper-perl/t/81-stress-level.t (original)
+++ trunk/libscope-upper-perl/t/81-stress-level.t Sun Feb 27 21:30:40 2011
@@ -3,11 +3,11 @@
 use strict;
 use warnings;
 
-use Test::More 'no_plan';
+use lib 't/lib';
+use Test::Leaner 'no_plan';
 
 use Scope::Upper qw/reap UP HERE/;
 
-use lib 't/lib';
 use Scope::Upper::TestGenerator;
 
 local $Scope::Upper::TestGenerator::call = sub {
@@ -39,7 +39,7 @@
 DIAG
    undef $testcase;
   }
-  Test::More::is($a, $b, $desc);
+  Test::Leaner::is($a, $b, $desc);
  }
 }
 

Modified: trunk/libscope-upper-perl/t/85-stress-unwind.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/t/85-stress-unwind.t?rev=69987&op=diff
==============================================================================
--- trunk/libscope-upper-perl/t/85-stress-unwind.t (original)
+++ trunk/libscope-upper-perl/t/85-stress-unwind.t Sun Feb 27 21:30:40 2011
@@ -3,7 +3,8 @@
 use strict;
 use warnings;
 
-use Test::More 'no_plan';
+use lib 't/lib';
+use Test::Leaner 'no_plan';
 
 use Scope::Upper qw/unwind UP HERE/;
 




More information about the Pkg-perl-cvs-commits mailing list