charnames: Abbreviations wrong on certain C1 controls
authorKarl Williamson <public@khwilliamson.com>
Mon, 13 Jun 2011 17:48:40 +0000 (11:48 -0600)
committerKarl Williamson <public@khwilliamson.com>
Mon, 13 Jun 2011 18:26:17 +0000 (12:26 -0600)
The abbreviations for 4 of the C1 controls have a trailing blank.
Unfortunately so did the tests for them.

lib/charnames.pm
lib/charnames.t
pod/perldelta.pod

index 42668e3..23c53b7 100644 (file)
@@ -71,7 +71,7 @@ my %system_aliases = (
     'VTS'           => pack("U", 0x8A), # LINE TABULATION SET
     'PLD'           => pack("U", 0x8B), # PARTIAL LINE FORWARD
     'PLU'           => pack("U", 0x8C), # PARTIAL LINE BACKWARD
-    'RI '           => pack("U", 0x8D), # REVERSE LINE FEED
+    'RI           => pack("U", 0x8D), # REVERSE LINE FEED
     'SS2'           => pack("U", 0x8E), # SINGLE SHIFT TWO
     'SS3'           => pack("U", 0x8F), # SINGLE SHIFT THREE
     'DCS'           => pack("U", 0x90), # DEVICE CONTROL STRING
@@ -79,15 +79,15 @@ my %system_aliases = (
     'PU2'           => pack("U", 0x92), # PRIVATE USE TWO
     'STS'           => pack("U", 0x93), # SET TRANSMIT STATE
     'CCH'           => pack("U", 0x94), # CANCEL CHARACTER
-    'MW '           => pack("U", 0x95), # MESSAGE WAITING
+    'MW           => pack("U", 0x95), # MESSAGE WAITING
     'SPA'           => pack("U", 0x96), # START OF GUARDED AREA
     'EPA'           => pack("U", 0x97), # END OF GUARDED AREA
     'SOS'           => pack("U", 0x98), # START OF STRING
     'SCI'           => pack("U", 0x9A), # SINGLE CHARACTER INTRODUCER
     'CSI'           => pack("U", 0x9B), # CONTROL SEQUENCE INTRODUCER
-    'ST '           => pack("U", 0x9C), # STRING TERMINATOR
+    'ST           => pack("U", 0x9C), # STRING TERMINATOR
     'OSC'           => pack("U", 0x9D), # OPERATING SYSTEM COMMAND
-    'PM '           => pack("U", 0x9E), # PRIVACY MESSAGE
+    'PM           => pack("U", 0x9E), # PRIVACY MESSAGE
     'APC'           => pack("U", 0x9F), # APPLICATION PROGRAM COMMAND
 
     # There are no names for these in the Unicode standard; perhaps should be
index c5d2a8d..443738a 100644 (file)
@@ -335,7 +335,7 @@ is(charnames::viacode("U+00000000000FEED"), "ARABIC LETTER WAW ISOLATED FORM");
     is("\N{VTS}", "\N{LINE TABULATION SET}");
     is("\N{PLD}", "\N{PARTIAL LINE FORWARD}");
     is("\N{PLU}", "\N{PARTIAL LINE BACKWARD}");
-    is("\N{RI }", "\N{REVERSE LINE FEED}");
+    is("\N{RI}", "\N{REVERSE LINE FEED}");
     is("\N{SS2}", "\N{SINGLE SHIFT TWO}");
     is("\N{SS3}", "\N{SINGLE SHIFT THREE}");
     is("\N{DCS}", "\N{DEVICE CONTROL STRING}");
@@ -343,15 +343,15 @@ is(charnames::viacode("U+00000000000FEED"), "ARABIC LETTER WAW ISOLATED FORM");
     is("\N{PU2}", "\N{PRIVATE USE TWO}");
     is("\N{STS}", "\N{SET TRANSMIT STATE}");
     is("\N{CCH}", "\N{CANCEL CHARACTER}");
-    is("\N{MW }", "\N{MESSAGE WAITING}");
+    is("\N{MW}", "\N{MESSAGE WAITING}");
     is("\N{SPA}", "\N{START OF GUARDED AREA}");
     is("\N{EPA}", "\N{END OF GUARDED AREA}");
     is("\N{SOS}", "\N{START OF STRING}");
     is("\N{SCI}", "\N{SINGLE CHARACTER INTRODUCER}");
     is("\N{CSI}", "\N{CONTROL SEQUENCE INTRODUCER}");
-    is("\N{ST }", "\N{STRING TERMINATOR}");
+    is("\N{ST}", "\N{STRING TERMINATOR}");
     is("\N{OSC}", "\N{OPERATING SYSTEM COMMAND}");
-    is("\N{PM }", "\N{PRIVACY MESSAGE}");
+    is("\N{PM}", "\N{PRIVACY MESSAGE}");
     is("\N{APC}", "\N{APPLICATION PROGRAM COMMAND}");
     is("\N{PADDING CHARACTER}", "\N{PAD}");
     is("\N{HIGH OCTET PRESET}","\N{HOP}");
index 75e8230..9f718c3 100644 (file)
@@ -1060,6 +1060,17 @@ An ASCII single quote (') in a symbol name is meant to be equivalent to a
 double colon (::) except at the end of the name.  It was not equivalent if
 followed by a null character, but now it is [RT #88138].
 
+=item *
+
+The abbreviations for four C1 control characters
+C<MW>
+C<PM>,
+C<RI>,
+and
+C<ST>
+were previously unrecognized by C<\N{}>,
+vianame(), and string_vianame().
+
 =back
 
 =head2 Additional fixes by ticket number