!standard A.11 (00) 96-11-16 AI95-00112/03 !class confirmation 96-04-04 !status WG9 approved 96-12-07 !status ARG approved 12-0-0 96-10-07 !status ARG approved 8-0-1 (subject to editorial review) 96-06-17 !status work item 96-04-04 !status received 96-04-04 !priority Low !difficulty Medium !subject Wide_String file names !summary 96-04-04 The I/O facilities do not directly support file names that are Wide_Strings. !question 96-09-15 Although Wide_Text_IO provides support for text files containing Wide_Characters and Wide_Strings, no predefined package provides support for files whose names are Wide_Strings. !response 96-07-23 Support for Wide_String file names was considered during the design of Ada 9X. The consensus was that it is not important enough to directly support in the language. !appendix 96-04-04 !section A.11(00) !subject Wide_String file names? !reference RM95-A.11 !from Keith Thompson 95-11-02 !reference 95-5380.b Keith Thompson 95-11-2>> !discussion Although Wide_Text_IO provides support for text files containing Wide_Characters and Wide_Strings, no predefined package provides support for files whose names are Wide_Strings. I believe there are existing systems on which file names are strings of 16-bit characters; such systems are likely to become more common in the future. There is no necessary connection between files containing 16-bit characters and files whose names are strings of 16-bit characters, so I do not suggest that Wide_Text_IO should use Wide_Strings for file names. There's probably no really graceful way to add such support to the standard. I can think of a couple of ways an implementation might support this: 1. Provide functions that convert between String and Wide_String without loss of information (the To_String and To_Wide_String functions in Ada.Characters.Handling do not qualify), and a special Form parameter to tell Open and Create to convert the Name parameter to a Wide_String. 2. Provide child units of the I/O packages with Open, Create, Name, and Form subprograms that use Wide_String rather than String. (Are there problems doing this for the generic packages Direct_IO and Sequential_IO?) Perhaps this calls for a UI? ****************************************************************