Deprecate current user-defined case mapping
authorKarl Williamson <public@khwilliamson.com>
Thu, 17 Feb 2011 22:02:56 +0000 (15:02 -0700)
committerKarl Williamson <public@khwilliamson.com>
Thu, 17 Feb 2011 22:41:53 +0000 (15:41 -0700)
This has many issues.  I'm working on a CPAN module to take over
its functionality that should be ready in time for the 5.14 release.

lib/utf8_heavy.pl
pod/perldelta.pod
pod/perldiag.pod

index 4825b0f..41cace8 100644 (file)
@@ -389,6 +389,7 @@ sub croak { require Carp; Carp::croak(@_) }
                         no strict 'refs';
                         
                         $list = &{$map};
+                        warnings::warnif('deprecated', "User-defined case-mapping '$type' is deprecated");
                         last GETFILE;
                     }
                 }
index d94a300..e8f4715 100644 (file)
@@ -135,6 +135,14 @@ XXX Any deprecated features, syntax, modules etc. should be listed here.
 In particular, deprecated modules should be listed here even if they are
 listed as an updated module in the L</Modules and Pragmata> section.
 
+=head2 User-defined case-mapping
+
+This feature is being deprecated due to its many issues, as documented in
+L<perlunicode/User-Defined Case Mappings (for serious hackers only)>.
+It is planned to remove this feature in Perl 5.16.  A CPAN module
+providing improved functionality is being prepared for release by the
+time 5.14 is.
+
 [ List each deprecation as a =head2 entry ]
 
 =head1 Performance Enhancements
index 0187cbc..ee1b694 100644 (file)
@@ -5262,6 +5262,15 @@ currently reserved for future use, as the exact behaviour has not
 been decided. (Simply returning the boolean opposite of the
 modified string is usually not particularly useful.)
 
+=item User-defined case-mapping '%s' is deprecated
+
+(W deprecated) You defined a function, such as C<ToLower> that overrides
+the standard case mapping, such as C<lc()> gives.  This feature is being
+deprecated due to its many issues, as documented in
+L<perlunicode/User-Defined Case Mappings (for serious hackers only)>.
+It is planned to remove this feature in Perl 5.16.  A CPAN module
+providing improved functionality is being prepared.
+
 =item UTF-16 surrogate U+%X
 
 (W utf8) You had a UTF-16 surrogate in a context where they are