07-288r1 To: J3 From: Dick Hendrickson Subject: Comments on Clause 9 Date: 2007 November 14 1. Edits w.r.t. 07-007r3 [225:8-10, 17-18]--------------------------------------------------------- Editor: Combine C916 and C917, and part of C921: C916 (R913) A shall not appear if a REC= specifier, , , or appears. At [225:17-18] delete ", a , if any, of the DT edit descriptor in the format specification of the parent data transfer statement" ========================================================================== Edits originally proposed but not moved or acted upon. [212:35-213:10]----------------------------------------------------------- What if an error condition occurred before a REWIND or BACKSPACE statement? Either specify "occurred after what" or replace "occurred" by "occurs" throughout 9.3.4.4. Maybe use "occurs during data transfer" or "occurs during execution of a data transfer statement" at [226:35], and maybe insert "upon completion of execution of that statement" after "indeterminate". It isn't necessary to include all that detail throughout the subclause since the first paragraph isn't about any particular kind of connection. SG. It is clear from context and the section header that the text refers to the previous data transfer. [217:31-34]--------------------------------------------------------------- Editor: Move to [221:36+]. [218:34-37]--------------------------------------------------------------- Editor: Move to [221:36+]. [218:238-40]-------------------------------------------------------------- Editor: Move to [220:32+]. SG: No, the 3 paragraphs are general syntax "constraints, not specific to particular keywords. [226:18]------------------------------------------------------------------ Editor: Append "; list-directed formatting (10.10) is established". [226:22]------------------------------------------------------------------ Editor: Append "; namelist formatting (10.11) is established". SG: The previous two edits are not needed here. [229:27]------------------------------------------------------------------ Editor: Delete C933 because a cannot be a procedure pointer. See 07-283: Existing C933 is broken. SG: Fixed by 07-331 [247:14-18]--------------------------------------------------------------- The paragraph doesn't make it clear that one has to execute a FLUSH statement before a READ statement. Editor: Replace the first sentence by "Execution of a <> causes data written to an external unit in one segment by one image of a connect team to be available to a READ statement for that unit on a different image of the connect team, provided that image executes a FLUSH statement for that unit in a subsequent segment, and before the READ statement." Insert "subsequent" before "READ" in the second sentence. SG: We think the general rules for statement ordering apply. Statements only affect what happens after they are executed, and that applies to different images as well. ========================================================================== 2. Questions without answers or edits I couldn't find any explicit specification whether unformatted I/O is permitted on INPUT_UNIT, OUTPUT_UNIT or ERROR_UNIT. Is there one? Should there be one? Should we have "for unformatted input [output]" after "preconnected" in 13.8.[6]9[17]? SG: 216:6 says they are preconnected for formatted sequential I/O [210:4-5]----------------------------------------------------------------- With FLUSH an WAIT, especially WAIT for a complete output operation, is this sentence still true? With INQUIRE was it ever true? SG: Yes, it's a general property of sequential files. They end with an end-of-file record. [211:7-9]----------------------------------------------------------------- Do the record markers have to occupy file storage units, or can they be represented by a separate data structure? Also see Note 9.9. SG: The standard doesn't say. The wording is "may contain". [211:17-18]--------------------------------------------------------------- The file specified in an INQUIRE statement is not required to be connected for formatted stream access if the POS= specifier appears. So why is positioning using POS= not mentioned for unformatted stream access? SG: For unformatted files, any integer is OK for the POS= specifier. Formatted stream files "may contain" record markers and you can't position to them. that;s why only the inquire output can be used. [215:5]------------------------------------------------------------------- Should "on all images" be qualified by whether the unit was opened on the several images on which it is open by TEAM open? Also see UTI 142. SG: This is covered by 07-324 [216:11, 216:18, 244:32-33]----------------------------------------------- What benefit accrues by allowing a WAIT operation for a unit that does not exist or is not connected to a file? If WAIT is OK, what's wrong with BACKSPACE or REWIND? SG: Don't know. REWIND and BACKSPACE actually "do something", that might be why they are disallowed. [217:16-19, 217:23-24, 217:31-32]----------------------------------------- Is the fact that a unit is already connected to the same file as the one to which it is to be connected determined by comparing the name in the FILE= specifier to the name of the currently-connected file? What if the file has several names (see [208:29])? If "file to be connected to the unit is the same as the file to which the unit is connected" is determined by observing that there is no FILE= specifier, it's better to say that. SG: F2003 leaves this unspecified => processor dependent; leave it alone [217:17]------------------------------------------------------------------ Where does "connections" come from so suddenly? Earlier in the sentence we see "the connection" and "the unit," not "connections" or "units". What does "same connect team" mean? All of the connections in the connect team have to have the same connection? Isn't that a tautology? SG: see 07-324 [235:24+]----------------------------------------------------------------- Should something be said about BITS here? SG: Not anymore. Bits are no longer part of F2008 [239:27-28]--------------------------------------------------------------- In light of [243:9], how can the edit descriptor not be DT? SG: see edit to [239:27-28] above [240:24-25]--------------------------------------------------------------- Should this prohibition apply only to the external unit specified by the unit dummy argument? Did we really intend to prohibit changing changeable modes with OPEN statements? It would be more useful if changeable modes could be changed, and were restored to their status quo ante when the DTIO procedure completes. SG: To avoid making UDDTIO more complicated. The user can change the changeable modes on individual I/O statements as needed.