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