CVS difference for ais/ai-00285.txt

Differences between 1.19 and version 1.20
Log of other versions for file ais/ai-00285.txt

--- ais/ai-00285.txt	2004/10/05 22:49:09	1.19
+++ ais/ai-00285.txt	2004/11/14 06:37:06	1.20
@@ -1,4 +1,4 @@
-!standard 2.1(1)                                      04-09-27  AI95-00285/10
+!standard 2.1(1)                                      04-11-10  AI95-00285/11
 !standard 2.1(2)
 !standard 2.1(3)
 !standard 2.1(4)
@@ -252,7 +252,7 @@
 nonstandard mode where the set of graphic characters is not a proper subset of
 that defined in ISO/IEC 10646:2003, for instance to deal with private use
 characters. We don't want to prevent implementations from doing anything
-useful. This paragraph has no force anyway, since in a non-standard mode an
+useful. This paragraph has no force anyway, since in a nonstandard mode an
 implementation may do pretty much what it likes.
 
 In order to represent 32-bit characters at run-time, we add new declarations to
@@ -291,11 +291,12 @@
 
 SC22/WG14 is planning to include support for Unicode 16- and 32-bit characters
 in C. Their proposal is presented in ISO/IEC TR 19769:2004
-(http://std.dkuug.dk/JTC1/SC22/WG14/www/docs/n1040.pdf). In order to provide
-compatibility with the upcoming C standard, new types are added to Interfaces.C
-that correspond to C char16_t and char32_t. It is recognized that adding new
-declarations to predefined units can cause incompatibilities, but it is thought
-that the new identifiers are unlikely to conflict with existing code.
+(http://www.open-std.org/jtc1/sc22//WG14/www/docs/n1040.pdf). In order to
+provide compatibility with the upcoming C standard, new types are added to
+Interfaces.C that correspond to C char16_t and char32_t. It is recognized that
+adding new declarations to predefined units can cause incompatibilities, but it
+is thought that the new identifiers are unlikely to conflict with existing
+code.
 
 There has been considerable discussion in the ARG regarding the best reference
 material to use for this AI. ISO/IEC 10646:2003, ISO/IEC TR 10176 (4th edition)
@@ -353,13 +354,14 @@
 within ISO/IEC 10646:2003).
 
 The semantics of an Ada program whose text is not in Normalization Form KC (as
-defined by section 24 of ISO/IEC 10646:2003) are implementation-defined.
+defined by section 24 of ISO/IEC 10646:2003) are implementation defined.
 
 The description of the language definition in this International Standard uses
-the character properties General Category and Decimal Digit Value of the
-documents referenced by the note in section 1 of ISO/IEC 10646:2003. The actual
-set of graphic symbols used by an implementation for the visual representation
-of the text of an Ada program is not specified.
+the character properties General Category, Simple Uppercase Mapping,
+Uppercase Mapping, and Special Case Condition of the documents referenced by
+the note in section 1 of ISO/IEC 10646:2003. The actual set of graphic symbols
+used by an implementation for the visual representation of the text of an Ada
+program is not specified.
 
 The categories of characters are defined as follows:
 
@@ -418,7 +420,7 @@
 The characters whose code position is 16#09# (CHARACTER TABULATION), 16#0A#
 (LINE FEED(LF)), 16#0B# (LINE TABULATION), 16#0C# (FORM FEED(FF)), 16#0D#
 (CARRIAGE RETURN(CR)), 16#85# (NEXT LINE(NEL)), and the characters in categories
-separator_line and separator_paragraph.  The names mentioned in parenthese in
+separator_line and separator_paragraph.  The names mentioned in parentheses in
 this list are not defined by ISO/IEC 10646:2003; they are only used for
 convenience in this International Standard.
 
@@ -495,7 +497,7 @@
 Replace the AARM Note:
 
 This table serves to show the correspondence between ISO 10646
-names and the graphic symbols (glphys) used in this International Standard.
+names and the graphic symbols (glyphs) used in this International Standard.
 These are the characters that play a special role in the syntax of Ada.
 
 
@@ -538,13 +540,13 @@
 
 Replace 2.3(5) by:
 
-Two identifiers are considered the same if they consist of same sequence of
+Two identifiers are considered the same if they consist of the same sequence of
 characters after applying the following transformations (in this order):
 
 o   The characters in category other_format are eliminated.
-o   Full case folding, as defined by documents referenced in the note in
-    section 1 of ISO/IEC 10646:2003, is applied to obtain the uppercase version
-    of each character.
+o   Locale-independent full case folding, as defined by documents referenced
+    in the note in section 1 of ISO/IEC 10646:2003, is applied to obtain the
+    uppercase version of each character.
 
 
 Add after 2.6(6):
@@ -711,13 +713,13 @@
     type Wide_Wide_String is array (Positive range <>) of Wide_Wide_Character;
 
 
-Fix the list in A(2) [Author's note: I hope it's auto-generated...]
+Fix the list in A(2/1).
 
 
 Add in the middle of A.1(36)
 
     -- The declaration of type Wide_Wide_Character is based on the full
-    -- ISO/IEC 10646:2003 character set. The first 2 ** 16 positions have the
+    -- ISO/IEC 10646:2003 character set. The first 65536 positions have the
     -- same contents as type Wide_Character. See 3.5.2.
     type Wide_Wide_Character is (nul, soh, ..., FFFE, FFFF, ...);
 
@@ -732,7 +734,7 @@
 
 Replace the beginning of A.1(49) by:
 
-In each of the type Character [and Wide_Character]{, Wide_Character, and
+In each of the types Character [and Wide_Character]{, Wide_Character, and
 Wide_Wide_Character} ...
 
 
@@ -834,8 +836,8 @@
                     Substitute : in Character := ' ') return String;
 function To_String (Item :       in Wide_Wide_String;
                     Substitute : in Character := ' ') return String;
-Returns the String whose range is 1..Item'Length and each of whose elements is
-given by To_Character of the corresponding element in Item.
+Returns the String whose range is 1..Item'Length and each of whose elements
+is given by To_Character of the corresponding element in Item.
 
 function To_Wide_String (Item : in String) return Wide_String;
 Returns the Wide_String whose range is 1..Item'Length and each of whose
@@ -872,12 +874,12 @@
 
 A.4.8 Wide_Wide_String Handling
 
-Facilities for handling strings of Wide_Wide_Character elements are found in
+Facilities for handling strings of Wide_Wide_Character components are found in
 the packages Strings.Wide_Wide_Maps, Strings.Wide_Wide_Fixed,
 Strings.Wide_Wide_Bounded, Strings.Wide_Wide_Unbounded, and
 Strings.Wide_Wide_Maps.Wide_Wide_Constants. They provide the same
 string-handling operations as the corresponding packages for strings of
-Character elements.
+Character components.
 
 Static Semantics
 
@@ -978,7 +980,7 @@
 Strings.Wide_Wide_Maps.Wide_Wide_Constants:
 
    Character_Set : constant Wide_Wide_Maps.Wide_Wide_Character_Set;
-   -- Contains each Wide_Wide_Character value WC such that Characters.Handling.Is_Character(WC) is True
+   -- Contains each Wide_Wide_Character value WWC such that Characters.Handling.Is_Character(WWC) is True
    Wide_Character_Set : constant Wide_Wide_Maps.Wide_Wide_Character_Set;
    -- Contains each Wide_Wide_Character value WWC such that
    -- Characters.Handling.Is_Wide_Character (WWC) is True
@@ -1158,7 +1160,7 @@
    function To_C (Item : in Wide_Character) return char16_t;
    function To_Ada (Item : in char16_t ) return Wide_Character;
 
-   To_C and To_Ada provide the mappings between the Ada and C 16-bit character
+   To_C and To_Ada provide mappings between the Ada and C 16-bit character
    types.
 
    function To_C (Item       : in Wide_String;
@@ -1253,7 +1255,7 @@
 
 In F.3(20) change:
 
-... [both for]{all of} Text_IO.Editing [and Wide_Text_IO.Editing]{,
+... [both] for {all of} Text_IO.Editing [and Wide_Text_IO.Editing]{,
 Wide_Text_IO.Editing, and Wide_Wide_Text_IO.Editing} ...
 
 
@@ -1398,7 +1400,7 @@
 within ISO/IEC 10646:2003).
 
 The semantics of an Ada program whose text is not in Normalization Form KC (as
-defined by section 24 of ISO/IEC 10646:2003) are implementation-defined.
+defined by section 24 of ISO/IEC 10646:2003) are implementation defined.
 
 !corrigendum 2.1(5)
 
@@ -1412,10 +1414,11 @@
 program is not specified.
 @dby
 The description of the language definition in this International Standard uses
-the character properties General Category and Decimal Digit Value of the
-documents referenced by the note in section 1 of ISO/IEC 10646:2003. The actual
-set of graphic symbols used by an implementation for the visual representation
-of the text of an Ada program is not specified.
+the character properties General Category, Simple Uppercase Mapping, Uppercase
+Mapping, and Special Case Condition of the documents referenced by the note in
+section 1 of ISO/IEC 10646:2003. The actual set of graphic symbols used by an
+implementation for the visual representation of the text of an Ada program is
+not specified.
 
 !corrigendum 2.1(7)
 
@@ -1629,8 +1632,9 @@
 character. @fa<Identifier>s differing only in the use of corresponding upper
 and lower case letters are considered the same.
 @dby
-Two @fa<identifier>s are considered the same if they consist of same sequence of
-characters after applying the following transformations (in this order):
+Two @fa<identifier>s are considered the same if they consist of the same
+sequence of characters after applying the following transformations (in
+this order):
 
 @xbullet<The characters in category @fa<other_format> are eliminated.>
 
@@ -1886,8 +1890,8 @@
 @fa<character_literal> or language-defined name as defined for Character. The last 2
 values of Wide_Character correspond to the nongraphic positions FFFE and FFFF
 of the BMP, and are assigned the language-defined names @i<FFFE> and @i<FFFF>. As with
-the other language-defined names for nongraphic characters, the names FFFE and
-FFFF are usable only with the attributes (Wide_)Image and (Wide_)Value; they
+the other language-defined names for nongraphic characters, the names @i<FFFE> and
+@i<FFFF> are usable only with the attributes (Wide_)Image and (Wide_)Value; they
 are not usable as enumeration literals. All other values of Wide_Character are
 considered graphic characters, and have a corresponding @fa<character_literal>.
 @dby
@@ -1906,8 +1910,8 @@
 Wide_Character.
 
 In types Wide_Character and Wide_Wide_Character, the characters whose code
-positions are 16#FFFE# and 16#FFFF# are assigned the language-defined names FFFE
-and FFFF. The other characters whose code position is larger than 16#FF# and
+positions are 16#FFFE# and 16#FFFF# are assigned the language-defined names @i<FFFE>
+and @i<FFFF>. The other characters whose code position is larger than 16#FF# and
 which are not @fa<graphic_character>s have language-defined names which are formed by
 appending to the string "Character_" the representation of their code position
 in hexadecimal as eight extended digits. As with other language-defined names,
@@ -1980,7 +1984,7 @@
    @b<type> Wide_Character @b<is> (@i<nul>, @i<soh> ... @i<FFFE>, @i<FFFF>);
 
    -- @ft<@i<The declaration of type Wide_Wide_Character is based on the full>>
-   -- @ft<@i<ISO/IEC 10646:2003 character set. The first 2 ** 16 positions have the>>
+   -- @ft<@i<ISO/IEC 10646:2003 character set. The first 65536 positions have the>>
    -- @ft<@i<same contents as type Wide_Character. See 3.5.2.>>
 
    @b<type> Wide_Wide_Character @b<is> (@i<nul>, @i<soh> ... @i<FFFE>, @i<FFFF>, ...);
@@ -2159,7 +2163,7 @@
 @xindent<Returns the Wide_Character corresponding to Item if Is_Wide_Character(Item),
 and returns the Substitute Wide_Character otherwise.>
 
-@xcode<@b<function> To_Wide_Wide_Character (Item : @b<in> Character) return
+@xcode<@b<function> To_Wide_Wide_Character (Item : @b<in> Character) @b<return>
     Wide_Wide_Character;>
 @xindent<Returns the Wide_Wide_Character X such that Character'Pos(Item) =
 Wide_Wide_Character'Pos (X).>
@@ -2184,13 +2188,13 @@
 
 @xcode<@b<function> To_Wide_String (Item : @b<in> String) @b<return> Wide_String;>
 @xindent<Returns the Wide_String whose range is 1..Item'Length and each of whose
-elements is given by To_Wide_Character of the corresponding element @b<in> Item.>
+elements is given by To_Wide_Character of the corresponding element in Item.>
 
 @xcode<@b<function> To_Wide_String (Item :       @b<in> Wide_Wide_String;
                          Substitute : @b<in> Wide_Character := ' ')
                          @b<return> Wide_String;>
 @xindent<Returns the Wide_String whose range is 1..Item'Length and each of whose
-elements is given by To_Wide_Character of the corresponding element @b<in> Item
+elements is given by To_Wide_Character of the corresponding element in Item
 with the given Substitute Wide_Character.>
 
 @xcode<@b<function> To_Wide_Wide_String (Item : @b<in> String) @b<return> Wide_Wide_String;
@@ -2200,7 +2204,6 @@
 Item.>
 
 
-
 !corrigendum A.3.2(47)
 
 @ddel
@@ -2328,7 +2331,7 @@
 
    @b<function> "<=" (Left : @b<in> Wide_Wide_Character_Set;
                   Right : @b<in> Wide_Wide_Character_Set)
-         @b<return> Boolean renames Is_Subset;
+         @b<return> Boolean @b<renames> Is_Subset;
 
    -- @ft<@i<Alternative representation for a set of Wide_Wide_Character values:>>
    sub@b<type> Wide_Wide_Character_Sequence @b<is> Wide_Wide_String;
@@ -2394,12 +2397,12 @@
 @xbullet<Wide_Wide_String_Access replaces String_Access>
 @xbullet<To_Unbounded_Wide_Wide_String replaces To_Unbounded_String>
 
-The following additional declarations is present in
+The following additional declarations are present in
 Strings.Wide_Wide_Maps.Wide_Wide_Constants:
 
 @xcode<   Character_Set : @b<constant> Wide_Wide_Maps.Wide_Wide_Character_Set;
-   -- @ft<@i<Contains each Wide_Wide_Character value WC such that>>
-   -- @ft<@i<Characters.Handling.Is_Character(WC) is True>>
+   -- @ft<@i<Contains each Wide_Wide_Character value WWC such that>>
+   -- @ft<@i<Characters.Handling.Is_Character(WWC) is True>>
    Wide_Character_Set : @b<constant> Wide_Wide_Maps.Wide_Wide_Character_Set;
    -- @ft<@i<Contains each Wide_Wide_Character value WWC such that>>
    --@ft<@i< Characters.Handling.Is_Wide_Character(WWC) is True>>>
@@ -2673,7 +2676,7 @@
 @xcode<@b<function> To_C (Item : @b<in> Wide_Character) @b<return> char16_t;
 @b<function> To_Ada (Item : @b<in> char16_t ) @b<return> Wide_Character;>
 
-@xindent<To_C and To_Ada provide the mappings between the Ada and C 16-bit
+@xindent<To_C and To_Ada provide mappings between the Ada and C 16-bit
 character types.>
 
 @xcode<@b<function> To_C (Item       : @b<in> Wide_String;
@@ -2764,7 +2767,7 @@
 support formatted and localized output of decimal data, based on ''picture
 String'' values.>
 @dby
-@xbullet<the child packages Text_IO.Editing, Wide_Text_IO.Editing,, and
+@xbullet<the child packages Text_IO.Editing, Wide_Text_IO.Editing, and
 Wide_Wide_Text_IO.Editing which support formatted and localized output of
 decimal data, based on ''picture String'' values.>
 
@@ -3035,7 +3038,7 @@
 > issue.
 
 If you use Latin 9 for Standard.Character, this is certainly a
-non-standard version, and Ada.Characters.Handling has to be modified
+nonstandard version, and Ada.Characters.Handling has to be modified
 to remain useful.
 
 *************************************************************
@@ -5109,7 +5112,7 @@
 We are in the standards business.  I think that this is an area where a
 small extention to the standard will be very helpful in providing
 portability.  But we can't really worry about the cost of conformity for
-non-standardized compilers. ;-)
+nonstandardized compilers. ;-)
 
 That is why I think that a definition which names the various character
 sets should be standardized:

Questions? Ask the ACAA Technical Agent