comp.lang.ada
 help / color / mirror / Atom feed
From: Florian Weimer <fw@deneb.enyo.de>
Subject: Re: Exclusive file access
Date: Sun, 30 Aug 2015 21:37:46 +0200
Date: 2015-08-30T21:37:46+02:00	[thread overview]
Message-ID: <87y4gsmut1.fsf@mid.deneb.enyo.de> (raw)
In-Reply-To: mvil865iebyb$.1of2shk5faacq$.dlg@40tude.net

* Dmitry A. Kazakov:

> On Sun, 30 Aug 2015 13:35:16 +0200, Florian Weimer wrote:
>
>> * Dmitry A. Kazakov:
>> 
>>> No, I meant Wide_Wide_String.
>>>
>>> Ada's Wide_String is legally UCS-2. Windows is UTF-16. The only full
>>> Unicode string type is Wide_Wide_String. For an Indo-European language
>>> there is no difference, of course.
>> 
>> GNAT's Wide_String should be compatible with UTF-16.
>
> In the sense that Wide_String is an array of 0..2**16-1 units of the
> endianness compatible to UTF-16, yes. However the standard is silent about
> endianness and alignment (a DSP processor might deploy 32-bit units per
> unit)
>
> Semantically no. Wide_String according to RM 3.5.2 (3/3) represents a
> narrower set of Unicode than UTF-16.

I don't have a current Windows system to try this, but I think Windows
allows you to use lone surrogates in file names.  Such names are not
valid UTF-16, but valid UCS-2.  If GNAT supports UCS-2 for
Wide_String, it would actually improve Windows compatibility.

>> Wide_Wide_String definitely is not.
>
> Definitely is. Both are to represent arrays of same sets of Unicode
> characters. The representation of Wide_Wide_String is of course irrelevant
> when used to specify an external file name, right?

You can end up with non-expressible names, depending on how the
conversion to the external representation is performed.  (I.e., the
system may have file names which cannot be encoded as
Wide_Wide_String.)


  reply	other threads:[~2015-08-30 19:37 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-27 13:52 Exclusive file access ahlan
2015-08-27 14:27 ` gautier_niouzes
2015-08-31 23:20   ` Randy Brukardt
2015-09-01 16:23     ` Pascal Obry
2015-09-01 20:48       ` Randy Brukardt
2015-08-27 14:42 ` Björn Lundin
2015-08-27 14:48 ` G.B.
2015-08-27 15:08   ` Björn Lundin
2015-08-27 18:38     ` tmoran
2015-08-27 23:16     ` Georg Bauhaus
2015-08-27 23:29       ` Pascal Obry
2015-08-28  7:25         ` Georg Bauhaus
2015-08-27 15:15   ` ahlan
2015-08-27 18:29     ` Jeffrey R. Carter
2015-08-28  5:41 ` ahlan
2015-08-28  7:10   ` Georg Bauhaus
2015-08-28 17:40 ` ahlan
2015-08-28 19:49   ` Anh Vo
2015-08-28 21:06     ` Simon Wright
2015-08-28 21:38       ` Jeffrey R. Carter
2015-08-29  7:05   ` Dmitry A. Kazakov
2015-08-29  8:31     ` Pascal Obry
2015-08-29 12:02       ` Dmitry A. Kazakov
2015-08-30 11:35         ` Florian Weimer
2015-08-30 12:44           ` Dmitry A. Kazakov
2015-08-30 19:37             ` Florian Weimer [this message]
2015-08-31  7:22               ` Dmitry A. Kazakov
2015-08-31 21:12                 ` Florian Weimer
2015-09-01  7:26                   ` Dmitry A. Kazakov
2015-09-07 18:27                     ` Florian Weimer
2015-09-07 19:06                       ` Dmitry A. Kazakov
2015-09-11 16:54                         ` Florian Weimer
2015-08-31 23:34             ` Randy Brukardt
2015-09-01  7:33               ` Dmitry A. Kazakov
2015-08-29 16:07     ` gautier_niouzes
2015-08-29 17:12       ` Dmitry A. Kazakov
2015-09-01 12:37 ` brbarkstrom
2015-09-01 14:05 ` ahlan
2015-09-01 15:13   ` Simon Wright
2015-09-01 20:36     ` Randy Brukardt
2015-09-01 15:17   ` Jacob Sparre Andersen
2015-09-01 20:37     ` Randy Brukardt
2015-09-01 16:05   ` G.B.
2015-09-01 20:02   ` brbarkstrom
2015-09-01 21:17     ` Simon Wright
2015-09-05 15:52       ` Björn Lundin
2015-09-01 20:31   ` Randy Brukardt
2015-09-01 15:31 ` ahlan
2015-09-05 15:56   ` Björn Lundin
2015-09-06 17:38     ` brbarkstrom
2015-09-06 19:52       ` Björn Lundin
2015-09-07 15:18         ` brbarkstrom
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox