- updated to 0.08

- Remove a double layer of string eval that was introduced in 0.07 as an
      intermediate step in figuring out the unique package thing - it's not
      necessary with the final implementation, and just makes things slower
      and hides errors.
    - the given source is now evaled in a unique package for every
      eval_closure call (it used to always be evaled in the Eval::Closure
      package, which was especially buggy). this is to avoid issues where one
      eval_closure modifies the global environment (by, say, importing a
      function), which could mess up a later call. unfortunately, this means
      that the memoization stuff no longer works, since it will result in
      memoized results using the original package, which defeats the purpose.
      i'm open to suggestions on how to safely reenable it though.
    - clean up a few stray lexicals we were still closing over in the eval

OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Eval-Closure?expand=0&rev=10
This commit is contained in:
Stephan Kulow 2012-05-29 14:44:05 +00:00 committed by Git OBS Bridge
parent fd6fdfe91e
commit a178440e77
4 changed files with 27 additions and 13 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2c425b6189c30dd0782c22f86e16c578b508ab78c3398edc8fbc8f7cda8b4e62
size 15676

3
Eval-Closure-0.08.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:738ce424d68ce1ac93c0b1539d6740ac8fff81fdd06ef7e4c8b022296922a407
size 16746

View File

@ -1,3 +1,21 @@
-------------------------------------------------------------------
Tue May 29 14:39:41 UTC 2012 - coolo@suse.com
- updated to 0.08
- Remove a double layer of string eval that was introduced in 0.07 as an
intermediate step in figuring out the unique package thing - it's not
necessary with the final implementation, and just makes things slower
and hides errors.
- the given source is now evaled in a unique package for every
eval_closure call (it used to always be evaled in the Eval::Closure
package, which was especially buggy). this is to avoid issues where one
eval_closure modifies the global environment (by, say, importing a
function), which could mess up a later call. unfortunately, this means
that the memoization stuff no longer works, since it will result in
memoized results using the original package, which defeats the purpose.
i'm open to suggestions on how to safely reenable it though.
- clean up a few stray lexicals we were still closing over in the eval
-------------------------------------------------------------------
Fri Nov 18 14:54:38 UTC 2011 - coolo@suse.com

View File

@ -1,7 +1,7 @@
#
# spec file for package perl-Eval-Closure
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2012 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
@ -16,15 +16,14 @@
#
Name: perl-Eval-Closure
Version: 0.06
Release: 3
License: GPL-1.0+ or Artistic-1.0
Version: 0.08
Release: 0
%define cpan_name Eval-Closure
Summary: Safely and cleanly create closures via string eval
Url: http://search.cpan.org/dist/Eval-Closure/
License: GPL-1.0+ or Artistic-1.0
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Eval-Closure/
Source: http://www.cpan.org/authors/id/D/DO/DOY/%{cpan_name}-%{version}.tar.gz
Patch1: perl-Eval-Closure-old_Test-More.patch
BuildArch: noarch
@ -60,7 +59,7 @@ non-existent) if caching is to work properly).
%prep
%setup -q -n %{cpan_name}-%{version}
%if 0%{?suse_version} >= 1110
%if 0%{?suse_version} < 1210
%patch1 -p1
%endif
@ -76,9 +75,6 @@ non-existent) if caching is to work properly).
%perl_process_packlist
%perl_gen_filelist
%clean
%{__rm} -rf %{buildroot}
%files -f %{name}.files
%defattr(-,root,root,755)
%doc Changes LICENSE README weaver.ini