This is an automated email from the git hooks/post-receive script.

js pushed a commit to tag 0.043_01
in repository libexporter-tiny-perl.

commit 0068fc58f4c7f5de6726a138afbba8a256dfda17
Author: Toby Inkster <m...@tobyinkster.co.uk>
Date:   Sat Nov 8 20:11:04 2014 +0000

    support for -as => CODE
---
 lib/Exporter/Tiny.pm | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/lib/Exporter/Tiny.pm b/lib/Exporter/Tiny.pm
index 6e77338..5e437da 100644
--- a/lib/Exporter/Tiny.pm
+++ b/lib/Exporter/Tiny.pm
@@ -116,7 +116,7 @@ sub _exporter_merge_opts
        
        $tag_opts = {} unless ref($tag_opts) eq q(HASH);
        _croak('Cannot provide an -as option for tags')
-               if exists $tag_opts->{-as};
+               if exists $tag_opts->{-as} && ref $tag_opts->{-as} ne 'CODE';
        
        my $optlist = mkopt(\@stuff);
        for my $export (@$optlist)
@@ -239,16 +239,23 @@ sub _exporter_install_sub
        my $into      = $globals->{into};
        my $installer = $globals->{installer} || $globals->{exporter};
        
-       $name = $value->{-as} || $name;
-       unless (ref($name) eq q(SCALAR))
+       $name =
+               ref    $globals->{as} ? $globals->{as}->($name) :
+               ref    $value->{-as}  ? $value->{-as}->($name) :
+               exists $value->{-as}  ? $value->{-as} :
+               $name;
+       
+       return unless defined $name;
+       
+       unless (ref($name))
        {
                my ($prefix) = grep defined, $value->{-prefix}, 
$globals->{prefix}, q();
                my ($suffix) = grep defined, $value->{-suffix}, 
$globals->{suffix}, q();
                $name = "$prefix$name$suffix";
        }
        
-       return ($$name = $sym)                       if ref($name) eq q(SCALAR);
-       return ($into->{$name} = $sym)               if ref($into) eq q(HASH);
+       return ($$name = $sym)         if ref($name) eq q(SCALAR);
+       return ($into->{$name} = $sym) if ref($into) eq q(HASH);
        
        no strict qw(refs);
        

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-perl/packages/libexporter-tiny-perl.git

_______________________________________________
Pkg-perl-cvs-commits mailing list
Pkg-perl-cvs-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits

Reply via email to