CVS difference for ai05s/ai05-0049-1.txt
--- ai05s/ai05-0049-1.txt 2010/04/08 03:18:04 1.6
+++ ai05s/ai05-0049-1.txt 2010/06/08 19:13:03 1.7
@@ -1,6 +1,6 @@
-!standard A.16(20/2) 10-04-06 AI05-0049-1/03
+!standard A.16(20/2) 10-06-08 AI05-0049-1/04
!standard A.16(82/2)
-!standard A.16.1(1)
+!standard A.16.1(0)
!class Amendment 07-04-10
!status Amendment 2012 10-04-06
!status ARG Approved 9-0-1 10-02-26
@@ -12,7 +12,9 @@
!summary
-(See proposal.)
+A new package Ada.Directories. Hierarchical_File_Names is added and a
+new function Name_Case_Equivalence is added to the existing package
+Ada.Directories.
!problem
@@ -39,7 +41,7 @@
(3) Case sensitivity is not handled in Ada.Directories. This has the
unfortunate effect that programs written to be portable cannot account
for operating system differences. This is a serious issue, because the
-2 most common operating systems differ in the issue of case sensitivity.
+two most common operating systems differ in the issue of case sensitivity.
!proposal
@@ -77,7 +79,7 @@
Add a new clause A.16.1:
-A.16.1 The package Directories.Hierarchical_File_Names
+A.16.1 The Package Directories.Hierarchical_File_Names
The library package Directories.Hierarchical_File_Names is an optional package
providing operations for file name construction and decomposition for
@@ -137,16 +139,16 @@
function Is_Parent_Directory_Name (Name : in String) return Boolean;
- Returns True if Name indicates the parent directory of any directory, and
- returns False otherwise.
+ Returns True if Name can be used to indicate symbolically the
+ the parent directory of any directory, and returns False otherwise.
AARM Implementation Note: Is_Parent_Directory_Name returns True if and only if Name is ".." for
both Unix and Windows.
function Is_Current_Directory_Name (Name : in String) return Boolean;
- Returns True if Name indicates the current directory for any directory,
- and returns False otherwise.
+ Returns True if Name can be used to indicate symbolically the
+ the directory itself for any directory, and returns False otherwise.
AARM Implementation Note: Is_Current_Directory_Name returns True if and only if Name is "." for
both Unix and Windows.
@@ -158,14 +160,15 @@
function Is_Relative_Name (Name : in String) return Boolean;
- Returns True if Name has proper syntax but is not a full name, and
- returns False otherwise.
+ Returns True if Name allows the identification of an external file but is
+ not a full name, and returns False otherwise.
-AARM Ramification: Relative names include simple names as a special case.
+AARM Ramification: Relative names include simple names as a special case. This
+function returns False if the syntax of the name is incorrect.
function Initial_Directory (Name : in String) return String;
- Initial_Directory returns the leftmost directory part in Name.
+ Returns the leftmost directory part in Name.
Redundant[That is a root directory name (for a full name), or one of
a parent directory name, a current directory name, or a simple name
(for a relative name).] The exception Name_Error is propagated if the
@@ -174,7 +177,7 @@
function Relative_Name (Name : in String) return String;
- Relative_Name returns the entire file name except the Initial_Directory
+ Returns the entire file name except the Initial_Directory
portion. The exception Name_Error is propagated if the
string given as Name does not allow the identification of an external file
(including directories and special files), or if Name has a
@@ -190,7 +193,7 @@
Returns the name of the external file with the specified
Directory, Relative_Name, and Extension. The exception Name_Error is
- propagated if the string given as Directory is not the null string and
+ propagated if the string given as Directory is not the null string
and does not allow the identification of a directory, or if
Is_Relative_Name (Relative_Name) is False, or if the string
given as Extension is not the null string and is not a possible
@@ -326,7 +329,7 @@
name used when a file is created; and Case_Insensitive otherwise. Returns
Unknown if the file name equivalence is not known.>
-!corrigendum A.16.1(1)
+!corrigendum A.16.1(0)
@dinsc
@@ -385,13 +388,13 @@
@xcode<@b<function> Is_Parent_Directory_Name (Name : @b<in> String) @b<return> Boolean;>
-@xindent<Returns True if Name indicates the parent directory of any directory,
-and returns False otherwise.>
+@xindent<Returns True if Name can be used to indicate symbolically the
+the parent directory of any directory, and returns False otherwise.>
@xcode<@b<function> Is_Current_Directory_Name (Name : @b<in> String) @b<return> Boolean;>
-@xindent<Returns True if Name indicates the current directory for any directory,
-and returns False otherwise.>
+@xindent<Returns True if Name can be used to indicate symbolically the
+the directory itself for any directory, and returns False otherwise.>
@xcode<@b<function> Is_Full_Name (Name : @b<in> String) @b<return> Boolean;>
@@ -400,12 +403,12 @@
@xcode<@b<function> Is_Relative_Name (Name : @b<in> String) @b<return> Boolean;>
-@xindent<Returns True if Name has proper syntax but is not a full name, and
-returns False otherwise.>
+@xindent<Returns True if Name allows the identification of an external file but is
+not a full name, and returns False otherwise.>
@xcode<@b<function> Initial_Directory (Name : @b<in> String) @b<return> String;>
-@xindent<Initial_Directory returns the leftmost directory part in Name.
+@xindent<Returns the leftmost directory part in Name.
That is a root directory name (for a full name), or one of a parent
directory name, a current directory name, or a simple name (for a relative
name). The exception Name_Error is propagated if the string given as Name does
@@ -414,7 +417,7 @@
@xcode<@b<function> Relative_Name (Name : @b<in> String) @b<return> String;>
-@xindent<Relative_Name returns the entire file name except the Initial_Directory
+@xindent<Returns the entire file name except the Initial_Directory
portion. The exception Name_Error is propagated if the string given as Name does
not allow the identification of an external file (including directories and
special files), or if Name has a single part (this includes if any of
@@ -427,7 +430,7 @@
@xindent<Returns the name of the external file with the specified Directory,
Relative_Name, and Extension. The exception Name_Error is propagated if the
-string given as Directory is not the null string and and does not allow the
+string given as Directory is not the null string and does not allow the
identification of a directory, or if Is_Relative_Name (Relative_Name) is False,
or if the string given as Extension is not the null string and is not a possible
extension, or if Extension is not the null string and Simple_Name
Questions? Ask the ACAA Technical Agent