Update Encode to CPAN version 2.41
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Thu, 23 Dec 2010 15:29:31 +0000 (15:29 +0000)
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Thu, 23 Dec 2010 15:29:31 +0000 (15:29 +0000)
  [DELTA]

  $Revision: 2.41 $ $Date: 2010/12/23 11:05:58 $
  lib/Encode/MIME/Header.pm
    Applied: RT#63387 encode of MIME-Header inserts too much whitespace
    http://rt.cpan.org/Ticket/Display.html?id=63387
  t/Aliases.t lib/Encode/Alias.pm
    Applied: RT#63286: Various Encode::Alias improvements
    http://rt.cpan.org/Ticket/Display.html?id=63286

13 files changed:
Porting/Maintainers.pl
cpan/Encode/Changes
cpan/Encode/Encode.pm
cpan/Encode/Encode.xs
cpan/Encode/META.yml
cpan/Encode/lib/Encode/Alias.pm
cpan/Encode/lib/Encode/MIME/Header.pm
cpan/Encode/lib/Encode/Unicode/UTF7.pm
cpan/Encode/t/Aliases.t
cpan/Encode/t/mime-header.t
cpan/Encode/t/utf8ref.t
cpan/Encode/ucm/nextstep.ucm
pod/perldelta.pod

index 5328739..7a03be9 100755 (executable)
@@ -516,7 +516,7 @@ use File::Glob qw(:case);
     'Encode' =>
        {
        'MAINTAINER'    => 'dankogai',
-       'DISTRIBUTION'  => 'DANKOGAI/Encode-2.40.tar.gz',
+       'DISTRIBUTION'  => 'DANKOGAI/Encode-2.41.tar.gz',
        'FILES'         => q[cpan/Encode],
        'UPSTREAM'      => 'cpan',
        },
index 9eba2ed..6434a3a 100644 (file)
@@ -1,8 +1,16 @@
 # Revision history for Perl extension Encode.
 #
-# $Id: Changes,v 2.40 2010/09/18 18:39:51 dankogai Exp dankogai $
+# $Id: Changes,v 2.41 2010/12/23 11:05:58 dankogai Exp dankogai $
 #
-$Revision: 2.40 $ $Date: 2010/09/18 18:39:51 $
+$Revision: 2.41 $ $Date: 2010/12/23 11:05:58 $
+lib/Encode/MIME/Header.pm
+  Applied: RT#63387 encode of MIME-Header inserts too much whitespace
+  http://rt.cpan.org/Ticket/Display.html?id=63387
+t/Aliases.t lib/Encode/Alias.pm
+  Applied: RT#63286: Various Encode::Alias improvements
+  http://rt.cpan.org/Ticket/Display.html?id=63286
+
+2.40 2010/09/18 18:39:51
 ! Encode.pm Encode.xs
 + t/utf8ref.t
   Addressed: RT#59981: find_encoding("UTF-8")->encode crashes
index 4e8cd3c..b5850f8 100644 (file)
@@ -1,10 +1,10 @@
 #
-# $Id: Encode.pm,v 2.40 2010/09/18 18:39:51 dankogai Exp dankogai $
+# $Id: Encode.pm,v 2.41 2010/12/23 11:05:00 dankogai Exp $
 #
 package Encode;
 use strict;
 use warnings;
-our $VERSION = sprintf "%d.%02d", q$Revision: 2.40 $ =~ /(\d+)/g;
+our $VERSION = sprintf "%d.%02d", q$Revision: 2.41 $ =~ /(\d+)/g;
 sub DEBUG () { 0 }
 use XSLoader ();
 XSLoader::load( __PACKAGE__, $VERSION );
index d014d31..1a672d6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- $Id: Encode.xs,v 2.19 2010/09/18 18:39:51 dankogai Exp dankogai $
+ $Id: Encode.xs,v 2.19 2010/09/18 18:39:51 dankogai Exp $
  */
 
 #define PERL_NO_GET_CONTEXT
index b1757ab..a1b25e1 100644 (file)
@@ -1,6 +1,6 @@
 --- #YAML:1.0
 name:               Encode
-version:            2.40
+version:            2.41
 abstract:           ~
 author:  []
 license:            unknown
index f142403..f517a5a 100644 (file)
@@ -2,7 +2,7 @@ package Encode::Alias;
 use strict;
 use warnings;
 no warnings 'redefine';
-our $VERSION = do { my @r = ( q$Revision: 2.12 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.13 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 sub DEBUG () { 0 }
 
 use base qw(Exporter);
@@ -90,9 +90,9 @@ sub define_alias {
                     DEBUG and warn "delete \$Alias\{$k\}";
                     delete $Alias{$k};
                 }
-                elsif ( ref($alias) eq 'CODE' ) {
+                elsif ( ref($alias) eq 'CODE' && $alias->($k) ) {
                     DEBUG and warn "delete \$Alias\{$k\}";
-                    delete $Alias{ $alias->($name) };
+                    delete $Alias{$k};
                 }
             }
         }
@@ -286,7 +286,9 @@ Encode::Alias - alias definitions to encodings
 
   use Encode;
   use Encode::Alias;
-  define_alias( newName => ENCODING);
+  define_alias( "newName" => ENCODING);
+  define_alias( qr/.../ => ENCODING);
+  define_alias( sub { return ENCODING if ...; } );
 
 =head1 DESCRIPTION
 
@@ -294,7 +296,8 @@ Allows newName to be used as an alias for ENCODING. ENCODING may be
 either the name of an encoding or an encoding object (as described 
 in L<Encode>).
 
-Currently I<newName> can be specified in the following ways:
+Currently the first argument to define_alias() can be specified in the
+following ways:
 
 =over 4
 
@@ -321,7 +324,7 @@ experienced.  Use this feature with caution.
 
 The same effect as the example above in a different way.  The coderef
 takes the alias name as an argument and returns a canonical name on
-success or undef if not.  Note the second argument is not required.
+success or undef if not.  Note the second argument is ignored if provided.
 Use this with even more caution than the regex version.
 
 =back
@@ -369,6 +372,10 @@ to do so.  And
 
 gets the factory settings back.
 
+Note that define_alias() will not be able to override the canonical name
+of encodings. Encodings are first looked up by canonical name before
+potential aliases are tried.
+
 =head1 SEE ALSO
 
 L<Encode>, L<Encode::Supported>
index 5f209b2..c41797c 100644 (file)
@@ -3,7 +3,7 @@ use strict;
 use warnings;
 no warnings 'redefine';
 
-our $VERSION = do { my @r = ( q$Revision: 2.12 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.13 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 use Encode qw(find_encoding encode_utf8 decode_utf8);
 use MIME::Base64;
 use Carp;
@@ -95,7 +95,7 @@ sub decode_q {
 
 my $especials =
   join( '|' => map { quotemeta( chr($_) ) }
-      unpack( "C*", qq{()<>@,;:"'/[]?.=} ) );
+      unpack( "C*", qq{()<>,;:"'/[]?=} ) );
 
 my $re_encoded_word = qr{
     =\?                # begin encoded word
index 151917c..1d63962 100644 (file)
@@ -1,5 +1,5 @@
 #
-# $Id: UTF7.pm,v 2.5 2010/09/18 18:39:51 dankogai Exp dankogai $
+# $Id: UTF7.pm,v 2.5 2010/09/18 18:39:51 dankogai Exp $
 #
 package Encode::Unicode::UTF7;
 use strict;
index fd088d5..d7a72d2 100644 (file)
@@ -16,6 +16,7 @@ use strict;
 use Encode;
 use Encode::Alias;
 my %a2c;
+my @override_tests;
 my $ON_EBCDIC;
 
 sub init_a2c{
@@ -108,6 +109,14 @@ BEGIN{
     @ARGV and $ON_EBCDIC = $ARGV[0] eq 'EBCDIC';
     $Encode::ON_EBCDIC = $ON_EBCDIC;
     init_a2c();
+    @override_tests = qw(
+        myascii:cp1252
+        mygreek:cp1253
+        myhebrew:iso-8859-2
+        myarabic:cp1256
+        ueightsomething:utf-8-strict
+        unknown:
+    );
 }
 
 if ($ON_EBCDIC){
@@ -120,7 +129,7 @@ if ($ON_EBCDIC){
     };
 }
 
-use Test::More tests => (scalar keys %a2c) * 4;
+use Test::More tests => (scalar keys %a2c) * 3 + @override_tests;
 
 print "# alias test;  \$ON_EBCDIC == $ON_EBCDIC\n";
 
@@ -134,20 +143,29 @@ foreach my $a (keys %a2c){
 # now we override some of the aliases and see if it works fine
 
 define_alias(
-         qr/ascii/i    => 'WinLatin1',
-         qr/cyrillic/i => 'WinCyrillic',
-         qr/arabic/i   => 'WinArabic',
-         qr/greek/i    => 'WinGreek',
-         qr/hebrew/i   => 'WinHebrew'
+         qr/ascii/i    => '"WinLatin1"',
+         qr/cyrillic/i => '"WinCyrillic"',
+         qr/arabic/i   => '"WinArabic"',
+         qr/greek/i    => '"WinGreek"',
+         qr/hebrew/i   => '"WinHebrew"'
         );
 
+Encode::find_encoding("myhebrew");  # polute alias cache
+
+define_alias( sub {
+    my $enc = shift;
+    return "iso-8859-2"     if $enc =~ /hebrew/i;
+    return "does-not-exist" if $enc =~ /arabic/i;  # should then use other override alias
+    return "utf-8"          if $enc =~ /eight/i;
+    return;
+});
+
 print "# alias test with alias overrides\n";
 
-foreach my $a (keys %a2c){     
-    print "# $a => $a2c{$a}\n";
+for my $test (@override_tests) {
+    my($a, $c) = split /:/, $test;
     my $e = Encode::find_encoding($a);
-    is((defined($e) and $e->name), $a2c{$a}, "Override $a")
-    or warn "alias was $a";
+    is((defined($e) and $e->name), $c, $a);
 }
 
 print "# alias undef test\n";
index 246eb46..a444d43 100644 (file)
@@ -1,5 +1,5 @@
 #
-# $Id: mime-header.t,v 2.5 2010/09/18 18:39:51 dankogai Exp dankogai $
+# $Id: mime-header.t,v 2.5 2010/09/18 18:39:51 dankogai Exp $
 # This script is written in utf8
 #
 BEGIN {
index 57cfcbc..3253e08 100644 (file)
@@ -1,5 +1,5 @@
 #
-# $Id: utf8ref.t,v 1.1 2010/09/18 18:39:51 dankogai Exp dankogai $
+# $Id: utf8ref.t,v 1.1 2010/09/18 18:39:51 dankogai Exp $
 #
 
 use strict;
index 2ec37ad..edf1782 100644 (file)
@@ -1,5 +1,5 @@
 #
-# $Id: nextstep.ucm,v 2.1 2010/09/18 18:39:51 dankogai Exp dankogai $
+# $Id: nextstep.ucm,v 2.1 2010/09/18 18:39:51 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/NEXT/NEXTSTEP.TXT
index 34e4b03..f6deb81 100644 (file)
@@ -96,6 +96,10 @@ XXX
 
 =item *
 
+C<Encode> has been upgraded from version 2.40 to 2.41
+
+=item *
+
 XXX
 
 =back