This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Abandon plans to change viacode's return of unassigned
authorKarl Williamson <khw@khw-desktop.(none)>
Wed, 30 Jun 2010 20:55:16 +0000 (14:55 -0600)
committerJesse Vincent <jesse@bestpractical.com>
Sun, 4 Jul 2010 20:43:42 +0000 (21:43 +0100)
The BUGS section of the charnames pod said that it was a bug to return
undef for unassigned characters, whereas the real Unicode name is the
empty string.  demerphq noted that undef stringifies to the empty
string, so we are in fact in compliance with the standard.  This
clarifies the pod wording, removing the text from the BUGS section.

lib/charnames.pm

index 2e8176e..3ef3711 100644 (file)
@@ -1016,15 +1016,14 @@ See L</CUSTOM ALIASES> above for restrictions on C<CHARNAME>.
 If you ask by name for a character that does not exist, a warning is given and
 the Unicode I<replacement character> "\x{FFFD}" is returned.
 
-If you ask by code for a character that is unassigned, no warning is
-given and C<undef> is returned.  (Though if you ask for a code point
-past U+10FFFF you do get a warning.)  See L</BUGS> below.
+If you ask by code (C<charnames::viacode()>) for a character that is
+unassigned, no warning is given and C<undef> is returned.  In Unicode
+the proper name of these is the empty string, which C<undef> stringifies
+to.  (If you ask for a code point past the legal Unicode maximum of
+U+10FFFF you do get C<undef> and a warning.)
 
 =head1 BUGS
 
-viacode should return an empty string for unassigned in-range Unicode code
-points, as that is their correct current name.
-
 vianame returns a chr if the input name is of the form C<U+...>, and an ord
 otherwise.  It is proposed to change this to always return an ord.  Send email
 to C<perl5-porters@perl.org> to comment on this proposal.