CVS difference for ai05s/ai05-0092-1.txt

Differences between 1.10 and version 1.11
Log of other versions for file ai05s/ai05-0092-1.txt

--- ai05s/ai05-0092-1.txt	2010/04/05 23:34:15	1.10
+++ ai05s/ai05-0092-1.txt	2010/06/11 23:58:33	1.11
@@ -1,4 +1,4 @@
-!standard  3.3.1(20.4/2)                             10-04-05  AI05-0092-1/09
+!standard  3.3.1(20.4/2)                             10-06-11  AI05-0092-1/10
 !standard  3.3.1(23)
 !standard  3.9(25.1/2)
 !standard  6.3.1(21.1/2)
@@ -9,6 +9,8 @@
 !standard A.11(4/2)
 !standard A.11(5/2)
 !standard A.16(68/2)
+!standard A.16(104/2)
+!standard A.16(112/2)
 !standard A.18.10(2/2)
 !standard A.18.11(2/2)
 !standard A.18.12(2/2)
@@ -60,6 +62,8 @@
 
 14) Correct the note 3.3.1(23).
 
+15) Correct A.16(104/2) and A.16(112/2).
+
 !question
 
 1) Generally, "must" shall not be used in normative rules of the standard. However,
@@ -103,6 +107,9 @@
 formal_object_declaration of mode in is "a stand-alone constant object"
 within an instance. This note must be wrong, should it be fixed? (Yes.)
 
+15) A.16(104/2) and A.16(112/2) contain the text "If the Pattern is null, ...".
+But Pattern is of type String and cannot be null. Should this be fixed? (Yes.)
+
 [Other questions here.]
 
 !recommendation
@@ -153,6 +160,10 @@
 {extended_return_statement,} or a formal_object_declaration {of mode IN OUT} is
 not [called] {considered} a stand-alone object.
 
+15) Modify A.16(104/2) and A.16(112/2):
+
+... If Pattern is {the} null {string},
+
 !discussion
 
 1) 3.3.1(20.4/2) uses "must precede", while 3.3.1(20.1-3/2) use "is preceded by".
@@ -204,6 +215,9 @@
 We also mention extended return objects in this list, since they are a similar
 kind of object that is not considered stand-alone.
 
+15) "null" clearly should be "null string". We use the form "Pattern is the null
+string" because text of that form occurs in multiple places in A.16 already.
+
 !corrigendum 3.3.1(20.4/2)
 
 @drepl
@@ -396,6 +410,63 @@
                      Target_Name : @b<in> String;
                      Form        : @b<in> String := "");>
 
+!corrigendum A.16(104/2)
+
+@drepl
+@xindent<Starts a search in the directory named by Directory for entries
+matching Pattern. Pattern represents a pattern for matching file names. If
+Pattern is null, all items in the directory are matched; otherwise, the
+interpretation of Pattern is implementation-defined. Only items that match
+Filter will be returned. After a successful call on Start_Search, the object
+Search may have entries available, but it may have no entries available if no
+files or directories match Pattern and Filter. The exception Name_Error is
+propagated if the string given by Directory does not identify an existing
+directory, or if Pattern does not allow the identification of any possible
+external file or directory. The exception Use_Error is propagated if the
+external environment does not support the searching of the directory with the
+given name (in the absence of Name_Error). When Start_Search propagates
+Name_Error or Use_Error, the object Search will have no entries available.>
+@dby
+@xindent<Starts a search in the directory named by Directory for entries
+matching Pattern. Pattern represents a pattern for matching file names. If
+Pattern is the null string, all items in the directory are matched; otherwise,
+the interpretation of Pattern is implementation-defined. Only items that match
+Filter will be returned. After a successful call on Start_Search, the object
+Search may have entries available, but it may have no entries available if no
+files or directories match Pattern and Filter. The exception Name_Error is
+propagated if the string given by Directory does not identify an existing
+directory, or if Pattern does not allow the identification of any possible
+external file or directory. The exception Use_Error is propagated if the
+external environment does not support the searching of the directory with the
+given name (in the absence of Name_Error). When Start_Search propagates
+Name_Error or Use_Error, the object Search will have no entries available.>
+
+!corrigendum A.16(112/2)
+
+@drepl
+@xindent<Searches in the directory named by Directory for entries matching
+Pattern. The subprogram designated by Process is called with each matching entry
+in turn. Pattern represents a pattern for matching file names. If Pattern is
+null, all items in the directory are matched; otherwise, the interpretation of
+Pattern is implementation-defined. Only items that match Filter will be
+returned. The exception Name_Error is propagated if the string given by
+Directory does not identify an existing directory, or if Pattern does not allow
+the identification of any possible external file or directory. The exception
+Use_Error is propagated if the external environment does not support the
+searching of the directory with the given name (in the absence of Name_Error).>
+@dby
+@xindent<Searches in the directory named by Directory for entries matching
+Pattern. The subprogram designated by Process is called with each matching entry
+in turn. Pattern represents a pattern for matching file names. If Pattern is the
+null string, all items in the directory are matched; otherwise, the
+interpretation of Pattern is implementation-defined. Only items that match
+Filter will be returned. The exception Name_Error is propagated if the string
+given by Directory does not identify an existing directory, or if Pattern does
+not allow the identification of any possible external file or directory. The
+exception Use_Error is propagated if the external environment does not support
+the searching of the directory with the given name (in the absence of
+Name_Error).>
+
 !corrigendum A.18.10(2/2)
 
 @drepl
@@ -1040,6 +1111,36 @@
 about, though, Adam will find it for us.
 
 I'll put the note fix that Tucker suggested into the presentation AI.
+
+****************************************************************
+
+From: Lev V. Babchenko
+Sent: Tuesday, March 2, 2010  8:57 PM
+
+descriptions of Start_Search and Search procedures in ARM'05 / A.16 are containing
+next clause:
+"... If Pattern is null, all items in the directory are matched; ..."
+(104/2 and 112/2)
+but Pattern declared as String and can not contains Null value.
+could you replace "null" in desctiprion to something less ambiguous ("empty string"
+for example)?
+
+****************************************************************
+
+From: Randy Brukardt
+Sent: Tuesday, March 2, 2010  9:17 PM
+
+"null" here refers to "null string", of course, a term defined for literals in 2.6(6)
+and commonly used throughout the standard (4 uses in A.4.3, for instance, as well as
+places like A.8.2(4), four other uses in A.16, and seven other clauses).
+
+There is only one use of "empty string" in the standard (C.7.1(7)), and I would
+consider that a bug (it's inconsistent with the rest of the standard).
+
+I suppose it would be better if this text said "null string" rather than "null", but
+given that there is no chance of confusion (if it meant the null access value "null"
+would have been in boldface), making a change here is about the lowest priority fix I
+could imagine.
 
 ****************************************************************
 

Questions? Ask the ACAA Technical Agent