To: J3 Members J3/16-125 From: Van Snyder Subject: Internal defined I/O and child data transfers, etc. Reference: 16-007 Date: 2016 January 25 1. Introduction =============== It's not obvious that 9.6.4.8.3p28 prohibits changing the internal file of a parent data transfer statement from within a defined input/output subroutine. It clearly does not prohibit reading from it during a parent output statement. Although the paragraph says "any specifier in any active parent data transfer statement," it also mentions "the corresponding format," which is the subject of a specifier, thereby bringing into question whether "any specifier in any active parent data transfer statement" includes an internal file. 9.6.4.4p2 prohibits a format specification to be in or associated with an internal file in an output statement. 9.6.4.5.1p6 only prohibits a list item from being in or associated with an internal file. 9.6.4.5.1p7 only prohibits changing an internal file in an output statement, or part of one, by evaluating an output list item. 9.6.4.5.1p8 only prohibits changing an internal file in an input statement by transfering a value to an input list item. 9.12p4 is difficult to parse, but it appears to say that a recursive write cannot modify the internal file of any write statement except its own. There appears to be no prohibition against the being associated with the internal file. This appears to preclude the from being filled with blanks if it is associated with the internal file in a WRITE statement and no error occurs. 2. Edits ======== [233:6 9.6.4.8.3p22] Replace "While a parent data transfer" with "While a parent data transfer statement that is a WRITE or PRINT statement is active and the file is an internal file, the internal file shall not be modified except by a write statement that specifies the \cf{unit} dummy argument of the defined input/output subroutine. While a parent data transfer statement that is a READ statement is active and the file is an internal file, the internal file shall not be modified. Otherwise, while a parent data transfer". {9.6.4.8.3p22 is deleted by another paper. The inserted material, up to but not including the sentence beginning "Otherwise..." is needed even if that paragraph is deleted.} [249:6 9.12p7] Before "with a " insert "with an internal file of that statement, nor" {Does this need an interp?}