From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Interpretation of extensions different from Unix/Linux?
Date: Sat, 15 Aug 2009 10:10:09 +0200
Date: 2009-08-15T10:10:07+02:00 [thread overview]
Message-ID: <cbxuxz06dr5r$.9zo0supfl50x.dlg@40tude.net> (raw)
In-Reply-To: h64ti4$i2v$1@munin.nbi.dk
On Fri, 14 Aug 2009 18:54:40 -0500, Randy Brukardt wrote:
> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message
> news:1f999bfa99erz$.9b8p6yymr8x7$.dlg@40tude.net...
>> On Thu, 13 Aug 2009 23:56:03 -0500, Randy Brukardt wrote:
>>
>>> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message
>>> news:iavqqy3ue6ne$.uxihdofxdalx.dlg@40tude.net...
>>> ...
>>>> Latin-1 is a limitation that makes impossible to write OS-independent
>>>> programs. BTW, I didn't check it but I suppose that the GNAT
>>>> implementation
>>>> is not even Latin-1, it is in fact UTF-8, at least under Linux. So it is
>>>> broken twice. Once per design, once by the implementation to fix broken
>>>> design.
>>>
>>> Actually, the use of UTF-8 in this way is the recommendation of the ARG.
>>> We
>>> have no plans of changing any of the file handling routines away from
>>> String. We may add some Implementation Advice to make it clear that
>>> implementations are advised to support UTF-8 encoded file names.
>>
>> The problem is 3.5.2 which claims that Character is Latin-1.
>>
>> (UTF-8 is a problem of its own in Ada. We need a private type with two
>> interfaces. One of Wide_Wide_String another of an array of octets. Ada
>> cannot provide this.)
>
> You mean, "Ada cannot provide this optimally". As far as the ARG is
> concerned, a UTF-8 encoded string is a String. We looked at other options
> and decided they weren't worth the effort.
But UTF-8 encoded string is a Wide_Wide_String. The elements of a Unicode
string are code points (Wide_Wide_Character). It is only the representation
which is a string of octets (not Character!). Who should care of
representations in Ada?
> Indeed, we approved the encoding package at the last ARG meeting, so it is
> in the current working draft of the Ada Standard:
> http://www.adaic.com/standards/1zrm/html/RM-A-4-11.html.
Shudder, it is C in Ada. Everything is a String... I am using this solution
for years in my strings edit library. It is inherently unsafe. UTF-8 string
must be a separate from String type.
> So clearly Ada can do this, just not the way you would like to see it done.
> Not the first time. ;-)
Oh, yes! (:-))
>> Presently I use Exists in a loop through "A".."Z" + "/". That works both
>> under Linux and Windows. Do you think that is *better*?! (:-))
>
> No, actually it is just wrong! There are many roots in Windows that don't
> have the disk name syntax. "C:\" is surely a root, but so is
> \\Gatekeeper\Weblogs\. You can't enumerate roots in Windows, the only
> program that ought to try is Windows Explorer.
Maybe, but these are not "true" roots of the file system.
> You do need to know if you have a root in hand (so you don't try to
> decompose it). I'm tenatively planning to add an Is_Root function to
> Ada.Directories to handle that need.
Yes, this is a problem. Presently I am using a wild mixture of Glib and
Ada.Directories to get the functionality I need. Is_Root is among that.
Probably I will drop Ada.Directories altogether because of its useless. The
only thing that holds me is that Glib's volume monitor
http://library.gnome.org/devel/gio/unstable/GVolumeMonitor.html
does not work either.
>>> If you can't do it reasonably in Windows, it surely doesn't belong in
>>> Ada.Directories.
>>
>> The MS-explorer does not drop that nasty c0000013 pop up window when
>> started. From this I conclude there should be a way to.
>>
>> Technically, it is certainly possible, for example (a bit exaggerated), do
>> system with "cmd" on "dir A:". If the output is "The system cannot find
>> the path ,specified." (in the current locale (:-)), there is no "A:". Repeat
>> up to "Z:"... (:-))
>
> That's possible to do, but it can only be done by handling traps. And
> handling traps in the Ada runtime system is a bad idea. Moreover, that does
> nothing about enumerating network shares, which is a whol 'nother kettle of
> fish.
>
> This is simply something you shouldn't do (like comparing file names).
and like Ada.Directories...
If Ada.Directories is provided it must be specified as a useful package.
Its implementation under Windows or Unix (of which file system is no less
broken) is not a matter of concern. I see no problem with traps or even Ada
RTL starting processes and system services, if Ada.Directories has been
used by the executable. If it comes with this price I buy it. What I do not
buy is writing OS-dependent code myself.
> [And, yes, I agree with you that they shouldn't even have "=", but blame
> Ichbiah for making these things Strings. It's 25 years to late to change
> that definition.]
No need to change, just overload it.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2009-08-15 8:10 UTC|newest]
Thread overview: 104+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-01 17:53 Interpretation of extensions different from Unix/Linux? vlc
2009-08-02 17:13 ` Jacob Sparre Andersen
2009-08-04 11:31 ` vlc
2009-08-04 11:44 ` Jacob Sparre Andersen
2009-08-04 11:57 ` Georg Bauhaus
2009-08-04 12:29 ` vlc
2009-08-04 13:43 ` Dmitry A. Kazakov
2009-08-14 4:33 ` Randy Brukardt
2009-08-14 7:37 ` Dmitry A. Kazakov
2009-08-04 12:25 ` vlc
2009-08-04 19:18 ` Jeffrey R. Carter
2009-08-04 19:52 ` Dmitry A. Kazakov
2009-08-04 20:45 ` Jeffrey R. Carter
2009-08-04 21:22 ` Dmitry A. Kazakov
2009-08-04 22:04 ` Jeffrey R. Carter
2009-08-05 8:33 ` Dmitry A. Kazakov
2009-08-05 16:07 ` Jeffrey R. Carter
2009-08-05 16:35 ` Dmitry A. Kazakov
2009-08-05 17:49 ` Jeffrey R. Carter
2009-08-05 18:16 ` Dmitry A. Kazakov
2009-08-05 19:27 ` Jeffrey R. Carter
2009-08-05 19:50 ` Dmitry A. Kazakov
2009-08-05 20:46 ` Jeffrey R. Carter
2009-08-06 7:43 ` Dmitry A. Kazakov
2009-08-05 21:33 ` Robert A Duff
2009-08-05 19:45 ` vlc
2009-08-05 19:56 ` Dmitry A. Kazakov
2009-08-14 4:56 ` Randy Brukardt
2009-08-14 8:01 ` Dmitry A. Kazakov
2009-08-14 23:02 ` Adam Beneschan
2009-08-14 23:54 ` Randy Brukardt
2009-08-15 8:10 ` Dmitry A. Kazakov [this message]
2009-08-15 12:49 ` Pascal Obry
2009-08-15 13:23 ` Dmitry A. Kazakov
2009-08-15 15:11 ` Pascal Obry
2009-08-15 17:11 ` Dmitry A. Kazakov
2009-08-15 20:07 ` Pascal Obry
2009-08-16 7:26 ` Dmitry A. Kazakov
2009-08-17 22:28 ` Randy Brukardt
2009-08-18 0:32 ` Adam Beneschan
2009-08-18 20:48 ` Randy Brukardt
2009-08-19 4:08 ` stefan-lucks
2009-08-19 22:01 ` Randy Brukardt
2009-08-19 7:37 ` Jean-Pierre Rosen
2009-08-19 16:10 ` Adam Beneschan
2009-08-19 22:11 ` Randy Brukardt
2009-08-18 7:48 ` Dmitry A. Kazakov
2009-08-18 20:37 ` Randy Brukardt
2009-08-19 8:04 ` Dmitry A. Kazakov
2009-08-19 10:32 ` Georg Bauhaus
2009-08-19 12:11 ` Dmitry A. Kazakov
2009-08-19 15:21 ` Georg Bauhaus
2009-08-19 22:40 ` Randy Brukardt
2009-08-20 8:00 ` Variable- and fixed-length-character strings (Was: Interpretation of extensions different from Unix/Linux?) Jacob Sparre Andersen
2009-08-20 19:40 ` Interpretation of extensions different from Unix/Linux? Dmitry A. Kazakov
2009-08-21 0:08 ` Randy Brukardt
2009-08-21 7:43 ` Dmitry A. Kazakov
2009-08-21 22:10 ` Randy Brukardt
2009-08-22 7:27 ` Dmitry A. Kazakov
2009-09-01 1:50 ` Randy Brukardt
2009-09-01 7:28 ` Dmitry A. Kazakov
2009-09-02 3:41 ` Stephen Leake
2009-09-02 7:17 ` Dmitry A. Kazakov
2009-09-02 19:49 ` tmoran
2009-09-03 7:41 ` Dmitry A. Kazakov
2009-09-03 17:27 ` tmoran
2009-09-03 20:44 ` Dmitry A. Kazakov
2009-09-03 22:22 ` Randy Brukardt
2009-09-04 7:40 ` Dmitry A. Kazakov
2009-09-05 1:58 ` Randy Brukardt
2009-09-05 2:08 ` Randy Brukardt
2009-09-05 8:59 ` Dmitry A. Kazakov
2009-08-21 10:11 ` Enumeration of network shared under Windows (was: Interpretation of extensions different from Unix/Linux?) Dmitry A. Kazakov
2009-08-15 16:01 ` Interpretation of extensions different from Unix/Linux? Vadim Godunko
2009-08-16 13:13 ` Stephen Leake
2009-08-14 4:46 ` Randy Brukardt
2009-08-14 9:00 ` Dmitry A. Kazakov
2009-08-04 21:19 ` vlc
2009-08-14 5:19 ` Randy Brukardt
2009-08-14 6:13 ` Wilcards in Linux (was: Interpretation of extensions different from Unix/Linux?) stefan-lucks
2009-08-14 6:24 ` stefan-lucks
2009-08-14 10:05 ` Wilcards in Linux Markus Schoepflin
2009-08-14 10:22 ` Ludovic Brenta
2009-08-14 18:20 ` Tero Koskinen
2009-08-19 20:39 ` Interpretation of extensions different from Unix/Linux? Keith Thompson
2009-08-19 22:09 ` Robert A Duff
2009-08-20 7:49 ` Jacob Sparre Andersen
2009-08-20 15:56 ` Adam Beneschan
2009-08-20 21:58 ` sjw
2009-08-20 19:44 ` Robert A Duff
2009-08-20 21:34 ` Adam Beneschan
2009-08-20 22:03 ` (see below)
2009-08-21 0:55 ` tmoran
2009-08-20 23:55 ` Randy Brukardt
2009-08-21 17:58 ` Keith Thompson
2009-08-21 18:34 ` Dmitry A. Kazakov
2009-08-21 19:32 ` Jeffrey R. Carter
2009-08-21 21:34 ` Robert A Duff
2009-08-21 22:06 ` Hyman Rosen
2009-08-24 19:51 ` Keith Thompson
2009-08-28 0:27 ` Robert A Duff
2009-08-28 13:15 ` Anders Wirzenius
2009-08-28 15:02 ` Robert A Duff
2009-08-21 8:45 ` Stephen Leake
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox