From: ytomino <aghia05@gmail.com>
Subject: Re: Why no Ada.Wide_Directories?
Date: Mon, 17 Oct 2011 16:47:49 -0700 (PDT)
Date: 2011-10-17T16:47:49-07:00 [thread overview]
Message-ID: <7156122c-b63f-487e-ad1b-0edcc6694a7a@u10g2000prl.googlegroups.com> (raw)
In-Reply-To: j7i6va$nso$1@munin.nbi.dk
On Oct 18, 6:33 am, "Randy Brukardt" <ra...@rrsoftware.com> wrote:
>
> Say what?
>
> Ada.Strings.Encoding (new in Ada 2012) uses a subtype of String to store
> UTF-8 encoded strings. As such, I'd find it pretty surprising if doing so
> was "a violation of the standard".
>
> The intent has always been that Open, Ada.Directories, etc. take UTF-8
> strings as an option. Presumably the implementation would use a Form to
> specify that the file names in UTF-8 form rather than Latin-1. (I wasn't
> able to find a reference for this in a quick search, but I know it has been
> talked about on several occasions.)
>
> One of the primary reasons that Ada.Strings.Encoding uses a subtype of
> String rather than a separate type is so that it can be passed to Open and
> the like.
>
> It's probably true that we should standardize on the Form needed to use
> UTF-8 strings in these contexts, or at least come up with Implementation
> Advice on that point.
>
> Randy.
Good news. Thanks for letting know.
My worry is decreased a little.
However, even if that is right, Form parameters are missing for many
subprograms.
Probably, All subprograms in Ada.Directories,
Ada.Directories.Hierarchical_File_Names, Ada.Command_Line,
Ada.Environment_Variables and other subprograms having Name parameter
or returning a file name should have Form parameter.
(For example, I do Open (X, Form => "UTF-8"). Which does Name (X)
returns UTF-8 or Latin-1?)
Moreover, in the future, we will always use I/O subprograms as UTF-8
mode if what you say is realized.
But other libraries in the standard are explicitly defined as Latin-1.
It's certain that Ada.Character.Handling.To_Upper breaks UTF-8.
So we can not use almost subprograms in Ada.Characters and Ada.Strings
for handling file names.
(For example, Ada.Directories.Name_Case_Equivalence returns
Case_Insensitive. We can not use Ada.Strings.Equal_Case_Insensitive to
compare two file names.)
It means standard libraries are separated UTF-8 from Latin-1.
It's not reasonable.
I wish it be solved.
next prev parent reply other threads:[~2011-10-17 23:49 UTC|newest]
Thread overview: 100+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-14 6:58 Why no Ada.Wide_Directories? Michael Rohan
2011-10-14 7:39 ` Yannick Duchêne (Hibou57)
2011-10-14 9:07 ` Dmitry A. Kazakov
2011-10-14 12:48 ` Yannick Duchêne (Hibou57)
2011-10-14 12:54 ` Yannick Duchêne (Hibou57)
2011-10-15 1:06 ` ytomino
2011-10-15 6:55 ` Vadim Godunko
2011-10-15 12:34 ` ytomino
2011-10-15 8:38 ` Dmitry A. Kazakov
2011-10-15 13:12 ` Peter C. Chapin
2011-10-15 13:22 ` Ludovic Brenta
2011-10-15 14:47 ` Dmitry A. Kazakov
2011-10-16 5:48 ` Yannick Duchêne (Hibou57)
2011-10-17 0:15 ` Peter C. Chapin
2011-10-17 3:23 ` Yannick Duchêne (Hibou57)
2011-10-17 7:12 ` Simon Wright
2011-10-17 7:59 ` Dmitry A. Kazakov
2011-10-18 10:55 ` Peter C. Chapin
2011-10-18 12:27 ` Dmitry A. Kazakov
2011-10-16 5:51 ` Yannick Duchêne (Hibou57)
2011-10-17 21:41 ` Randy Brukardt
2011-10-18 7:29 ` Dmitry A. Kazakov
2011-10-18 14:06 ` Pascal Obry
2011-10-18 14:08 ` Pascal Obry
2011-10-19 21:32 ` Randy Brukardt
2011-10-17 21:33 ` Randy Brukardt
2011-10-17 23:47 ` ytomino [this message]
2011-10-18 1:10 ` Adam Beneschan
2011-10-18 2:32 ` ytomino
2011-10-18 4:46 ` ytomino
2011-10-18 9:32 ` Yannick Duchêne (Hibou57)
2011-10-18 10:00 ` Dmitry A. Kazakov
2011-10-18 10:06 ` Yannick Duchêne (Hibou57)
2011-10-18 12:01 ` Dmitry A. Kazakov
2011-10-18 15:02 ` Adam Beneschan
2011-10-18 15:16 ` Dmitry A. Kazakov
2011-10-18 23:42 ` Adam Beneschan
2011-10-19 8:12 ` Dmitry A. Kazakov
2011-10-19 21:43 ` Randy Brukardt
2011-10-20 7:37 ` Dmitry A. Kazakov
2011-10-20 11:04 ` Yannick Duchêne (Hibou57)
2011-10-20 12:21 ` Dmitry A. Kazakov
2011-10-20 12:38 ` Yannick Duchêne (Hibou57)
2011-10-20 14:31 ` Dmitry A. Kazakov
2011-10-20 15:54 ` Yannick Duchêne (Hibou57)
2011-10-20 17:35 ` Dmitry A. Kazakov
2011-10-21 12:53 ` Yannick Duchêne (Hibou57)
2011-10-21 13:41 ` Dmitry A. Kazakov
2011-10-25 19:22 ` Randy Brukardt
2011-10-25 19:35 ` Dmitry A. Kazakov
2011-10-26 22:41 ` Randy Brukardt
2011-10-27 7:43 ` Dmitry A. Kazakov
2011-10-27 15:13 ` Yannick Duchêne (Hibou57)
2011-10-27 19:39 ` Robert A Duff
2011-10-27 21:09 ` Yannick Duchêne (Hibou57)
2011-10-28 7:50 ` Dmitry A. Kazakov
2011-10-28 8:45 ` Yannick Duchêne (Hibou57)
2011-10-28 14:59 ` Dmitry A. Kazakov
2011-10-20 17:40 ` J-P. Rosen
2011-10-20 18:43 ` Dmitry A. Kazakov
2011-10-21 10:07 ` Vadim Godunko
2011-10-21 11:25 ` J-P. Rosen
2011-10-21 12:25 ` Yannick Duchêne (Hibou57)
2011-10-21 13:13 ` Dmitry A. Kazakov
2011-10-21 16:03 ` Yannick Duchêne (Hibou57)
2011-10-21 18:34 ` Dmitry A. Kazakov
2011-10-21 19:30 ` Yannick Duchêne (Hibou57)
2011-10-21 20:02 ` Dmitry A. Kazakov
2011-10-21 20:36 ` Yannick Duchêne (Hibou57)
2011-10-22 7:54 ` Dmitry A. Kazakov
2011-10-22 20:28 ` Yannick Duchêne (Hibou57)
2011-10-22 22:23 ` Yannick Duchêne (Hibou57)
2011-10-23 7:53 ` Dmitry A. Kazakov
2011-10-25 19:16 ` Randy Brukardt
2011-10-21 18:55 ` Vadim Godunko
2011-10-21 19:18 ` J-P. Rosen
2011-10-21 19:41 ` Yannick Duchêne (Hibou57)
2011-10-18 22:54 ` ytomino
2011-10-18 3:15 ` Yannick Duchêne (Hibou57)
2011-10-18 7:55 ` Dmitry A. Kazakov
2011-10-18 9:41 ` Yannick Duchêne (Hibou57)
2011-10-18 10:25 ` J-P. Rosen
2011-10-18 10:56 ` Yannick Duchêne (Hibou57)
2011-10-18 15:34 ` Adam Beneschan
2011-10-18 17:27 ` J-P. Rosen
2011-10-18 18:33 ` Adam Beneschan
2011-10-18 19:54 ` Yannick Duchêne (Hibou57)
2011-10-18 8:01 ` Dmitry A. Kazakov
2011-10-18 2:59 ` Yannick Duchêne (Hibou57)
2011-10-18 4:07 ` Michael Rohan
2011-10-18 4:54 ` ytomino
2011-10-18 9:54 ` Yannick Duchêne (Hibou57)
2011-10-18 10:52 ` ytomino
2011-10-18 11:02 ` Yannick Duchêne (Hibou57)
2011-10-18 21:18 ` ytomino
2011-10-18 10:10 ` J-P. Rosen
2011-10-22 6:32 ` Michael Rohan
2011-10-22 7:25 ` Yannick Duchêne (Hibou57)
2011-10-25 19:26 ` Randy Brukardt
2011-10-27 17:40 ` anon
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox