Hello community,
here is the log from the commit of package perl-Devel-LexAlias for
openSUSE:Factory checked in at 2013-06-09 16:56:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Devel-LexAlias (Old)
and /work/SRC/openSUSE:Factory/.perl-Devel-LexAlias.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Devel-LexAlias"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Devel-LexAlias/perl-Devel-LexAlias.changes
2012-06-12 07:09:47.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Devel-LexAlias.new/perl-Devel-LexAlias.changes
2013-06-09 16:56:54.000000000 +0200
@@ -1,0 +2,7 @@
+Tue Jun 4 08:22:27 UTC 2013 - [email protected]
+
+- updated to 0.05
+ Apply fix for DEBUGGING perls from Reini Urban RT#74862
+ Apply rewrite for 5.17 pad reorganiztion from ? RT#79267
+
+-------------------------------------------------------------------
Old:
----
Devel-LexAlias-0.04.tar.gz
New:
----
Devel-LexAlias-0.05.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Devel-LexAlias.spec ++++++
--- /var/tmp/diff_new_pack.p8c2hS/_old 2013-06-09 16:56:55.000000000 +0200
+++ /var/tmp/diff_new_pack.p8c2hS/_new 2013-06-09 16:56:55.000000000 +0200
@@ -1,8 +1,7 @@
-# vim: set sw=3 ts=3 noet:
#
# spec file for package perl-Devel-LexAlias
#
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,49 +17,57 @@
Name: perl-Devel-LexAlias
-Version: 0.04
+Version: 0.05
Release: 0
-Summary: Alias Lexical Variables
+%define cpan_name Devel-LexAlias
+Summary: alias lexical variables
License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
-Source:
http://www.cpan.org/modules/by-module/Devel/Devel-LexAlias-%{version}.tar.gz
Url: http://search.cpan.org/dist/Devel-LexAlias/
+Source:
http://www.cpan.org/authors/id/R/RC/RCLAMP/%{cpan_name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Requires: perl(Devel::Caller) >= 0.03
-BuildRequires: make
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Devel::Caller) >= 0.03
+#BuildRequires: perl(Devel::LexAlias)
+Requires: perl(Devel::Caller) >= 0.03
%{perl_requires}
%description
Devel::LexAlias provides the ability to alias a lexical variable in a
subroutines scope to one of your choosing.
+If you don't know why you'd want to do this, I'd suggest that you skip this
+module. If you think you have a use for it, I'd insist on it.
+
+Still here?
+
+* lexalias( $where, $name, $variable )
+
+ '$where' refers to the subroutine in which to alias the lexical, it can
+ be a coderef or a call level such that you'd give to 'caller'
+
+ '$name' is the name of the lexical within that subroutine
+
+ '$variable' is a reference to the variable to install at that location
+
%prep
-%setup -q -n "Devel-LexAlias-%{version}"
-%__sed -i '/^auto_install/d' Makefile.PL
+%setup -q -n %{cpan_name}-%{version}
%build
-%__perl Makefile.PL PREFIX="%{_prefix}"
-%__make %{?jobs:-j%{jobs}}
+%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
+%{__make} %{?_smp_mflags}
+
+%check
+%{__make} test
%install
%perl_make_install
%perl_process_packlist
+%perl_gen_filelist
-%files
-%defattr(-,root,root)
-%doc README
-%dir %{perl_vendorarch}/Devel
-%{perl_vendorarch}/Devel/LexAlias.pm
-%dir %{perl_vendorarch}/auto/Devel
-%{perl_vendorarch}/auto/Devel/LexAlias
-%doc %{perl_man3dir}/Devel::LexAlias.%{perl_man3ext}%{ext_man}
-
-# Local Variables:
-# mode: rpm-spec
-# tab-width: 3
-# End:
+%files -f %{name}.files
+%defattr(-,root,root,755)
+%doc Changes
%changelog
++++++ Devel-LexAlias-0.04.tar.gz -> Devel-LexAlias-0.05.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-LexAlias-0.04/Changes
new/Devel-LexAlias-0.05/Changes
--- old/Devel-LexAlias-0.04/Changes 1970-01-01 01:00:00.000000000 +0100
+++ new/Devel-LexAlias-0.05/Changes 2013-01-16 12:50:37.000000000 +0100
@@ -0,0 +1,6 @@
+0.05 Wednesday 16th January, 2013
+ Apply fix for DEBUGGING perls from Reini Urban RT#74862
+ Apply rewrite for 5.17 pad reorganiztion from ? RT#79267
+
+0.04 25th July, 2002
+ Initial release
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-LexAlias-0.04/LexAlias.pm
new/Devel-LexAlias-0.05/LexAlias.pm
--- old/Devel-LexAlias-0.04/LexAlias.pm 2002-07-25 16:25:55.000000000 +0200
+++ new/Devel-LexAlias-0.05/LexAlias.pm 2013-01-16 12:50:37.000000000 +0100
@@ -7,7 +7,7 @@
@ISA = qw(Exporter DynaLoader);
@EXPORT_OK = qw(lexalias);
-$VERSION = '0.04';
+$VERSION = '0.05';
bootstrap Devel::LexAlias $VERSION;
@@ -93,7 +93,7 @@
=head1 COPYRIGHT
-Copyright (c) 2002, Richard Clamp. All Rights Reserved. This module
+Copyright (c) 2002, 2013, Richard Clamp. All Rights Reserved. This module
is free software. It may be used, redistributed and/or modified under
the same terms as Perl itself.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-LexAlias-0.04/LexAlias.xs
new/Devel-LexAlias-0.05/LexAlias.xs
--- old/Devel-LexAlias-0.04/LexAlias.xs 2002-07-25 16:25:22.000000000 +0200
+++ new/Devel-LexAlias-0.05/LexAlias.xs 2013-01-16 12:50:37.000000000 +0100
@@ -1,9 +1,23 @@
-/* $Id: LexAlias.xs,v 1.7 2002/07/25 14:25:22 richardc Exp $ */
-
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
+#ifndef PadARRAY
+typedef AV PADNAMELIST;
+typedef SV PADNAME;
+# if PERL_VERSION < 8 || (PERL_VERSION == 8 && !PERL_SUBVERSION)
+typedef AV PAD;
+# endif
+# define PadlistARRAY(pl) ((PAD **)AvARRAY(pl))
+# define PadlistNAMES(pl) (*PadlistARRAY(pl))
+# define PadnamelistARRAY(pnl) ((PADNAME **)AvARRAY(pnl))
+# define PadnamelistMAX(pnl) AvFILLp(pnl)
+# define PadARRAY AvARRAY
+# define PadnamePV(pn) (SvPOKp(pn) ? SvPVX(pn) : NULL)
+#endif
+
+
+
/* cargo-culted from PadWalker */
MODULE = Devel::LexAlias PACKAGE = Devel::LexAlias
@@ -12,28 +26,24 @@
_lexalias(SV* cv_ref, char *name, SV* new_rv)
CODE:
{
- CV *cv = SvROK(cv_ref) ? (CV*) SvRV(cv_ref) : NULL;
- AV* padn = cv ? (AV*) AvARRAY(CvPADLIST(cv))[0] : PL_comppad_name;
- AV* padv = cv ? (AV*) AvARRAY(CvPADLIST(cv))[1] : PL_comppad;
- SV* new_sv;
- I32 i;
+ CV* cv = SvROK(cv_ref) ? (CV*) SvRV(cv_ref) : NULL;
+ PADNAMELIST* padn = cv ? PadlistNAMES(CvPADLIST(cv)) : PL_comppad_name;
+ PAD* padv = cv ? PadlistARRAY(CvPADLIST(cv))[1] : PL_comppad;
+ SV* new_sv;
+ I32 i;
if (!SvROK(new_rv)) croak("ref is not a reference");
new_sv = SvRV(new_rv);
- for (i = 0; i <= av_len(padn); ++i) {
- SV** name_ptr = av_fetch(padn, i, 0);
- if (name_ptr) {
- SV* name_sv = *name_ptr;
-
- if (SvPOKp(name_sv)) {
- char *name_str = SvPVX(name_sv);
-
- if (!strcmp(name, name_str)) {
- SV* old_sv = (SV*) av_fetch(padv, i, 0);
- av_store(padv, i, new_sv);
- SvREFCNT_inc(new_sv);
- }
+ for (i = 0; i <= PadnamelistMAX(padn); ++i) {
+ PADNAME* namesv = PadnamelistARRAY(padn)[i];
+ char* name_str;
+ if (namesv && (name_str = PadnamePV(namesv))) {
+ if (!strcmp(name, name_str)) {
+ SvREFCNT_dec(PadARRAY(padv)[i]);
+ PadARRAY(padv)[i] = new_sv;
+ SvREFCNT_inc(new_sv);
+ SvPADMY_on(new_sv);
}
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-LexAlias-0.04/MANIFEST
new/Devel-LexAlias-0.05/MANIFEST
--- old/Devel-LexAlias-0.04/MANIFEST 2002-07-25 16:26:42.000000000 +0200
+++ new/Devel-LexAlias-0.05/MANIFEST 2013-01-16 12:50:37.000000000 +0100
@@ -1,5 +1,7 @@
-README
+Changes
MANIFEST
+META.yml
+META.json
Makefile.PL
LexAlias.pm
LexAlias.xs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-LexAlias-0.04/META.yml
new/Devel-LexAlias-0.05/META.yml
--- old/Devel-LexAlias-0.04/META.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/Devel-LexAlias-0.05/META.yml 2013-01-16 12:51:40.000000000 +0100
@@ -0,0 +1,23 @@
+--- #YAML:1.0
+name: Devel-LexAlias
+version: 0.05
+abstract: alias lexical variables
+author:
+ - Richard Clamp <[email protected]>
+license: perl
+distribution_type: module
+configure_requires:
+ ExtUtils::MakeMaker: 0
+build_requires:
+ ExtUtils::MakeMaker: 0
+requires:
+ Devel::Caller: 0.03
+ Test::More: 0
+no_index:
+ directory:
+ - t
+ - inc
+generated_by: ExtUtils::MakeMaker version 6.57_05
+meta-spec:
+ url: http://module-build.sourceforge.net/META-spec-v1.4.html
+ version: 1.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-LexAlias-0.04/Makefile.PL
new/Devel-LexAlias-0.05/Makefile.PL
--- old/Devel-LexAlias-0.04/Makefile.PL 2002-04-02 17:54:14.000000000 +0200
+++ new/Devel-LexAlias-0.05/Makefile.PL 2013-01-16 12:50:37.000000000 +0100
@@ -1,15 +1,14 @@
+use strict;
use ExtUtils::MakeMaker;
my $module = 'LexAlias.pm';
WriteMakefile(
- 'NAME' => 'Devel::LexAlias',
- 'VERSION_FROM' => $module,
- 'PREREQ_PM' => { 'Test::More' => 0,
- 'Devel::Caller' => 0.03 },
- );
-
-sub MY::postamble {
- return <<EOF
-README: $module
-\tpod2text $module > README
-EOF
-}
+ 'NAME' => 'Devel::LexAlias',
+ 'VERSION_FROM' => $module,
+ 'ABSTRACT_FROM' => $module,
+ 'AUTHOR' => 'Richard Clamp <[email protected]>',
+ 'LICENSE' => 'perl',
+ 'PREREQ_PM' => {
+ 'Test::More' => 0,
+ 'Devel::Caller' => 0.03,
+ },
+);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Devel-LexAlias-0.04/README
new/Devel-LexAlias-0.05/README
--- old/Devel-LexAlias-0.04/README 2002-04-02 18:22:23.000000000 +0200
+++ new/Devel-LexAlias-0.05/README 1970-01-01 01:00:00.000000000 +0100
@@ -1,62 +0,0 @@
-NAME
- Devel::LexAlias - alias lexical variables
-
-SYNOPSIS
- use Devel::LexAlias qw(lexalias);
-
- sub steal_my_x {
- my $foo = 1;
- lexalias(1, '$x', \$foo);
- }
-
- sub foo {
- my $x = 22;
- print $x; # prints 22
-
- steal_my_x;
- print $x; # prints 1
- }
-
-DESCRIPTION
- Devel::LexAlias provides the ability to alias a lexical variable in a
- subroutines scope to one of your choosing.
-
- If you don't know why you'd want to do this, I'd suggest that you skip
- this module. If you think you have a use for it, I'd insist on it.
-
- Still here?
-
- lexalias( $where, $name, $variable )
- $where refers to the subroutine in which to alias the lexical, it
- can be a coderef or a call level such that you'd give to "caller"
-
- $name is the name of the lexical within that subroutine
-
- $variable is a reference to the variable to install at that location
-
-BUGS
- lexalias delves into the internals of the interpreter to perform its
- actions and is so very sensitive to bad data, which will likely result
- in flaming death, or a core dump. Consider this a warning.
-
- There is no checking that you are attaching a suitable variable back
- into the pad as implied by the name of the variable, so it is possible
- to do the following:
-
- lexalias( $sub, '$foo', [qw(an array)] );
-
- The behaviour of this is untested, I imagine badness is very close on
- the horizon though.
-
-SEE ALSO
- peek_sub from PadWalker, Devel::Peek
-
-AUTHOR
- Richard Clamp <[email protected]> with close reference to PadWalker
- by Robin Houston
-
-COPYRIGHT
- Copyright (c) 2002, Richard Clamp. All Rights Reserved. This module is
- free software. It may be used, redistributed and/or modified under the
- same terms as Perl itself.
-
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]