CVS difference for ai05s/ai05-0185-1.txt

Differences between 1.4 and version 1.5
Log of other versions for file ai05s/ai05-0185-1.txt

--- ai05s/ai05-0185-1.txt	2010/10/22 04:52:26	1.4
+++ ai05s/ai05-0185-1.txt	2010/11/25 02:46:32	1.5
@@ -1,7 +1,11 @@
-!standard A.3.5 (0)                                10-10-15  AI05-0185-1/03
+!standard A.3.5 (0)                                10-11-23  AI05-0185-1/04
 !standard A.3.6 (0)
+!standard A.3.1(7/2)
+!standard A.3.2(4)
+!standard A.3.2(32)
 !class amendment 09-11-02
 !status Amendment 2012 10-08-11
+!status ARG Approved  5-0-3  10-10-31
 !status work item 10-10-18
 !status ARG Approved  8-0-0  10-06-20
 !status work item 09-11-02
@@ -41,6 +45,43 @@
 
 !wording
 
+Modify A.3.1(7/2):
+
+If an implementation chooses to provide implementation-defined operations on
+Wide_Character or Wide_String (such as [case mapping, classification, ]collating
+and sorting, etc.) it should do so by providing child units of Wide_Characters.
+Similarly if it chooses to provide implementation-defined operations on
+Wide_Wide_Character or Wide_Wide_String it should do so by providing child units
+of Wide_Wide_Characters. 
+
+Add to the end of A.3.2(4):
+
+   function Is_Line_Terminator (Item : in Character) return Boolean;
+   function Is_Mark (Item : in Character) return Boolean;
+   function Is_Other_Format (Item : in Character) return Boolean;
+   function Is_Punctuation_Connector (Item : in Character) return Boolean;
+   function Is_Space (Item : in Character) return Boolean;
+
+Add following A.3.2(32)
+
+Is_Line_Terminator
+True if Item is a character with position 10 .. 13.
+
+Is_Mark
+Never True (no value of type Character has categories Mark, Non-Spacing
+or Mark, Spacing Combining).
+
+Is_Other_Format
+True if Item is a character with position 173 (Soft_Hyphen).
+
+Is_Punctuation_Connector
+True if Item is a character with position 95 ('_', known as Low_Line
+or Underscore).
+
+Is_Space
+True if Item is a character with position 32 (' ') or 160 (No_Break_Space).
+
+
 A.3.5 The Package Wide_Characters.Handling
 
 The package Wide_Characters.Handling provides operations for classifying
@@ -76,9 +117,9 @@
 
    function Is_Mark (Item : Wide_Character) return Boolean;
 
-   function Is_Other (Item : Wide_Character) return Boolean;
+   function Is_Other_Format (Item : Wide_Character) return Boolean;
 
-   function Is_Punctuation (Item : Wide_Character) return Boolean;
+   function Is_Punctuation_Connector (Item : Wide_Character) return Boolean;
 
    function Is_Space (Item : Wide_Character) return Boolean;
 
@@ -150,12 +191,12 @@
       Returns True if the Wide_Character designated by Item is categorized as
       mark_non_spacing or mark_spacing_combining, otherwise returns False.
 
-   function Is_Other (Item : Wide_Character) return Boolean;
+   function Is_Other_Format (Item : Wide_Character) return Boolean;
 
       Returns True if the Wide_Character designated by Item is categorized as
       other_format, otherwise returns False.
 
-   function Is_Punctuation (Item : Wide_Character) return Boolean;
+   function Is_Punctuation_Connector (Item : Wide_Character) return Boolean;
 
       Returns True if the Wide_Character designated by Item is categorized as
       punctuation_connector, otherwise returns False.
@@ -172,7 +213,8 @@
 
    function To_Lower (Item : Wide_Character) return Wide_Character;
 
-      Returns the Simple Lowercase Mapping of the Wide_Character designated by
+      Returns the Simple Lowercase Mapping as defined by documents referenced in
+      the note in section 1 of ISO/IEC 10646:2003 of the Wide_Character designated by
       Item. If the Simple Lowercase Mapping does not exist for the
       Wide_Character designated by Item, then the value of Item is returned.
 
@@ -181,11 +223,12 @@
       Returns the result of applying the To_Lower Wide_Character to
       Wide_Character conversion to each element of the Wide_String designated by
       Item. The result is the null Wide_String if the value of the formal
-      parameter is the null Wide_String.
+      parameter is the null Wide_String. The lower bound of the result Wide_String is 1.
 
    function To_Upper (Item : Wide_Character) return Wide_Character;
 
-      Returns the Simple Uppercase Mapping of the Wide_Character designated by
+      Returns the Simple Uppercase Mapping as defined by documents referenced in
+      the note in section 1 of ISO/IEC 10646:2003 of the Wide_Character designated by
       Item. If the Simple Uppercase Mapping does not exist for the
       Wide_Character designated by Item, then the value of Item is returned.
 
@@ -194,7 +237,7 @@
       Returns the result of applying the To_Upper Wide_Character to
       Wide_Character conversion to each element of the Wide_String designated by
       Item. The result is the null Wide_String if the value of the formal
-      parameter is the null Wide_String.
+      parameter is the null Wide_String. The lower bound of the result Wide_String is 1.
 
 
 A.3.6 The Package Wide_Wide_Characters.Handling
@@ -248,6 +291,83 @@
 
 (See discussion.)
 
+
+!corrigendum A.3.1(7/2)
+
+@drepl
+If an implementation chooses to provide implementation-defined operations on
+Wide_Character or Wide_String (such as case mapping, classification, collating
+and sorting, etc.) it should do so by providing child units of Wide_Characters.
+Similarly if it chooses to provide implementation-defined operations on
+Wide_Wide_Character or Wide_Wide_String it should do so by providing child units
+of Wide_Wide_Characters. 
+@dby
+If an implementation chooses to provide implementation-defined operations on
+Wide_Character or Wide_String (such as collating
+and sorting, etc.) it should do so by providing child units of Wide_Characters.
+Similarly if it chooses to provide implementation-defined operations on
+Wide_Wide_Character or Wide_Wide_String it should do so by providing child units
+of Wide_Wide_Characters. 
+
+!corrigendum A.3.2(4)
+
+@drepl
+@xcode<  @b<function> Is_Control           (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Graphic           (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Letter            (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Lower             (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Upper             (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Basic             (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Digit             (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Decimal_Digit     (Item : @b<in> Character) @b<return> Boolean;
+                     @b<renames> Is_Digit;
+  @b<function> Is_Hexadecimal_Digit (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Alphanumeric      (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Special           (Item : @b<in> Character) @b<return> Boolean;>
+@dby
+@xcode<  @b<function> Is_Control           (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Graphic           (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Letter            (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Lower             (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Upper             (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Basic             (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Digit             (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Decimal_Digit     (Item : @b<in> Character) @b<return> Boolean;
+                     @b<renames> Is_Digit;
+  @b<function> Is_Hexadecimal_Digit (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Alphanumeric      (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Special           (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Line_Terminator   (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Mark              (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Other_Format      (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Punctuation_Connector (Item : @b<in> Character) @b<return> Boolean;
+  @b<function> Is_Space             (Item : @b<in> Character) @b<return> Boolean;>
+
+!corrigendum A.3.2(32)
+
+@dinsa
+@xhang<@xterm<Is_Special>
+True if Item is a special graphic character. A @i<special graphic character> is a graphic
+character that is not alphanumeric.>
+@dinss
+@xhang<@xterm<Is_Line_Terminator>
+Is_Line_Terminator
+True if Item is a character with position 10 .. 13.>
+
+@xhang<@xterm<Is_Mark>
+Never True (no value of type Character has categories Mark, Non-Spacing
+or Mark, Spacing Combining).>
+
+@xhang<@xterm<Is_Other_Format>
+True if Item is a character with position 173 (Soft_Hyphen).>
+
+@xhang<@xterm<Is_Punctuation_Connector>
+True if Item is a character with position 95 ('_', known as Low_Line
+or Underscore).>
+
+@xhang<@xterm<Is_Space>
+True if Item is a character with position 32 (' ') or 160 (No_Break_Space).>
+
 !corrigendum A.3.5(0)
 
 @dinsc
@@ -284,9 +404,9 @@
 
    @b<function> Is_Mark (Item : Wide_Character) @b<return> Boolean;
 
-   @b<function> Is_Other (Item : Wide_Character) @b<return> Boolean;
+   @b<function> Is_Other_Format (Item : Wide_Character) @b<return> Boolean;
 
-   @b<function> Is_Punctuation (Item : Wide_Character) @b<return> Boolean;
+   @b<function> Is_Punctuation_Connector (Item : Wide_Character) @b<return> Boolean;
 
    @b<function> Is_Space (Item : Wide_Character) @b<return> Boolean;
 
@@ -361,12 +481,12 @@
 @xindent<Returns True if the Wide_Character designated by Item is categorized as
 @fa<mark_non_spacing> or @fa<mark_spacing_combining>, otherwise returns False.>
 
-@xcode<@b<function> Is_Other (Item : Wide_Character) @b<return> Boolean;>
+@xcode<@b<function> Is_Other_Format (Item : Wide_Character) @b<return> Boolean;>
 
 @xindent<Returns True if the Wide_Character designated by Item is categorized as
 @fa<other_format>, otherwise returns False.>
 
-@xcode<@b<function> Is_Punctuation (Item : Wide_Character) @b<return> Boolean;>
+@xcode<@b<function> Is_Punctuation_Connector (Item : Wide_Character) @b<return> Boolean;>
 
 @xindent<Returns True if the Wide_Character designated by Item is categorized as
 @fa<punctuation_connector>, otherwise returns False.>
@@ -383,7 +503,8 @@
 
 @xcode<@b<function> To_Lower (Item : Wide_Character) @b<return> Wide_Character;>
 
-@xindent<Returns the Simple Lowercase Mapping of the Wide_Character designated
+@xindent<Returns the Simple Lowercase Mapping as defined by documents referenced
+in the note in section 1 of ISO/IEC 10646:2003 of the Wide_Character designated
 by Item. If the Simple Lowercase Mapping does not exist for the Wide_Character
 designated by Item, then the value of Item is returned.>
 
@@ -392,11 +513,12 @@
 @xindent<Returns the result of applying the To_Lower Wide_Character to
 Wide_Character conversion to each element of the Wide_String designated by Item.
 The result is the null Wide_String if the value of the formal parameter is the
-null Wide_String.>
+null Wide_String. The lower bound of the result Wide_String is 1.> 
 
 @xcode<@b<function> To_Upper (Item : Wide_Character) @b<return> Wide_Character;>
 
-@xindent<Returns the Simple Uppercase Mapping of the Wide_Character designated
+@xindent<Returns the Simple Uppercase Mapping as defined by documents referenced
+in the note in section 1 of ISO/IEC 10646:2003 of the Wide_Character designated
 by Item. If the Simple Uppercase Mapping does not exist for the Wide_Character
 designated by Item, then the value of Item is returned.>
 
@@ -405,7 +527,7 @@
 @xindent<Returns the result of applying the To_Upper Wide_Character to
 Wide_Character conversion to each element of the Wide_String designated by Item.
 The result is the null Wide_String if the value of the formal parameter is the
-null Wide_String.>
+null Wide_String. The lower bound of the result Wide_String is 1.>
 
 
 !corrigendum A.3.6(0)

Questions? Ask the ACAA Technical Agent