J3/14-121 To: J3 From: Van Snyder Subject: Additional or revised edits arising from 14-117 Date: 2014 February 11 1. Introduction =============== Edits are proposed here for issues raised in 14-117r1. Additional new semantics for WAIT are proposed: A WAIT statement is allowed to refer to a unit that is connected to a file that does not exist. This is already allowed for a FLUSH statement. 2. Edits ======== [14-007:201:3-4] {Revised from 14-117} 9.3.2 File existence, p3, change "An INQUIRE ... also may refer" to "A CLOSE, ENDFILE, FLUSH, INQUIRE, OPEN, PRINT, REWIND, WAIT, or WRITE statement is permitted to refer". [14-007:201:6] At the end of the paragraph, append "No other statement shall refer to a file that does not exist." [14-007:207:21-22] Replace "may" by "are permitted to" twice. [14-007:207:22] At the end of the paragraph, append "No other statement shall refer to a unit that does not exist." [14-007:208:27] Before "If" insert "Before any effect on changeable modes, a wait operation is performed for any pending asynchronous data transfer operations for the specified unit." [14-007:213:1] A CLOSE statement is allowed to refer to a file that does not exist, but no semantics are specified for this case. After "exist" insert ", exists but is connected to a file that does not exist," [14-007:233:18+] Insert a paragraph: "Execution of a WAIT statement specifying a unit that is connected to a file that does not exist is permitted but has no effect on any pending asynchronous input/output operation." 3. Problems for which no edits are provided =========================================== [14-007:208:32-33] says "The ERR=, IOSTAT=, and IOMSG= specifiers from an OPEN statement have no effect on any subsequent OPEN statement." There is nothing similar for any other statement. It is inscrutable why it is specified at all, and double inscrutable that it is specified for the case when an OPEN statement is specified for a unit that is connected to the file specified. If this is necessary it should be specified for every statement (not just I/O statements). [14-007:236:6-7] says "All specifier value assignments are performed according to the rules for assignment statements." There is nothing similar for any other statement. If this is necessary it should be specified for every statement (not just I/O statements). The INQUIRE statement is allowed to refer to a unit that does not exist, a unit that is not connected, or a unit that exists but is connected to a file that does not exist. No semantics are specified for these cases.