Version 1.2 of ais/ai-00112.txt

Unformatted version of ais/ai-00112.txt version 1.2
Other versions for file ais/ai-00112.txt

!standard A.11 (00)          99-05-27 AI95-00112/04
!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
The I/O facilities do not directly support file names that are Wide_Strings.
!question
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
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.
!ACATS test
This AI deals with a capability not supported by Ada 95. While a test to insure that implementations do not support Wide_String file names is possible, it would be of very little value.
!appendix

!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?

****************************************************************

Questions? Ask the ACAA Technical Agent