To: J3 Members J3/16-264 From: Van Snyder Subject: Comments on Clause 12 References: 16-007r2 Date: 2016 September 28 1. Edits -------- [217:29 12.2.2p1] Replace "However, it may" with "It may also". [220:33+2 NOTE 12.8] Replace "Because" with "If". Delete "the" before "record" {because the file structure isn't necessarily determined by record markers in the file}. [221:24-25 12.3.4.2p2] Delete "It is also possible ... their lengths" {because this does not any longer depend upon nonadvancing input}. [223:4 12.4p2(1)] After "character" insert "type". [223:22 12.4p2(10)] Before "formatted" insert "nonadvancing". [225:31-34 12.5.4p5] Before "main program" insert "program with a" {because program units other than the main program might perform input/output operations}. [226:5 12.5.5p1] Delete "the" before "prior" {because "the" implies there is exactly one prior execution of an OPEN statement}. [227:21 C1203] Before "No" insert "(R1204)" {because there's only one BNF rule for and only appears in R1204}. [228:27 12.5.6.7p1] Replace "This" with "It" {because "It" seems to be more common among similar descriptions}. [230:5 12.5.6.16p1] Replace "This" with "It" {because "It" seems to be more common among similar descriptions}. [230:10 12.5.6.17p1] Replace "This" with "It" {because "It" seems to be more common among similar descriptions}. [230:22+ 12.5.6.18p3+] Move NOTE 12.21 to be after 12.5.6.18p3. [234:10-13 12.6.2.3] Move 12.6.2.3 NML= to [235:3+ 12.6.2.9+] between ID= and PAD=, to put subclauses in alphabetical order. [239:3-4 12.6.4.1p1] Delete the paragraph because the direction of transfer has not been determined, and the unit has not yet been identified. It reappears below. [239:8+ 12.6.4.1p2(2)+] Insert a list item: "(2a) Execution of a WRITE or PRINT statement for a file that does not exist creates the file. If an error occurs, steps 3 through 8 are skipped." {Existing steps 3-8.} [239:26+ 12.6.4.1p3(2)+] Insert a list item: "(2a) Execution of a WRITE or PRINT statement for a file that does not exist creates the file. If an error occurs, steps 4 through 8 are skipped." {Existing steps 4-8.} [241:31 12.6.4.5.1p8] Before "transferring" insert "evaluating an expression in an input list item or" {because a function therein is not required to be pure.} [244:9 12.6.4.8.3p1] Replace "The user need not" with "It is not necessary to" {because the program might have been produced by other than a human "user"}. [245:40 12.6.4.8.3p12] After "invoked" insert "by the processor during execution of a parent data transfer statement" {because it is not prohibited to invoke a defined input/output procedure directly}. [247:21 12.6.4.8.3p28] At the end of the paragraph append a sentence: "A defined input procedure, and any procedures invoked therefrom, shall not reference any storage unit referenced by or associated with any input item, or any specifier that might be changed by an active parent data transfer statement. A defined output procedure, and any procedures invoked therefrom, shall not reference any part of an internal file designated by the \cf{unit} argument, or any storage unit associated therewith." {Because the input items etc. might not yet be defined.} [247:21+2 NOTE 12.45] The note improperly expresses requirements. Replace "shall not" with "is not allowed to". [250:16+ 12.7.1p5+] Insert a paragraph: "If no error condition occurs during a wait operation for a unit, the variable associated with the SIZE= specifier in the statement that initiated the trasfer, if any, becomes defined as specified in 12.6.2.15." [253:29+ 12.10.1p2+] Insert a paragraph: "For inquiry by file, the file specified need not exist or be connected to a unit. If it is connected to a unit, the inquiry is being made about the connection and about the unit connected." 2. Questions without edits -------------------------- [219:3-7 12.3.2p3] Is it processor dependent whether stdin, stdout, and stderr exist? [232:34 C1216] Why is namelist prohibited for direct access? It can't be because namelist input or output might require more than one record, because formatted input or output could require more than one record. [233:6-7 C1220] Why is list-directed prohibited for direct access? It can't be because list-directed input or output might require more than one record, because formatted input or output could require more than one record. [251:3-4 12.7.2p3] What happens if the expression specified by the ID= specifier is zero? Is it the same as the specifier not appearing? [252:8 12.8.3p1] Should "also may be" be "is"? [256:12-17 12.10.2.10] Should the description of the ENCODING= specifier include DEFAULT encoding, instead of producing UNDEFINED if the connection is not using UTF-8 encoding? [261:16+ 12.11.3p1(2)+] Is the variable specified in the SIZE= specifier defined (or undefined) if an end-of-file condition occurs?