J3/00-137r1 Date: 00 Mar 01 To: J3 From: Dan Nagle Subject: Issue 3 and Issue 123 Issue 3 complains of inconsistencies between 9.5.4 and 9.9. Issue 123 complains of the inappropriateness of the term "ERRMSG". Question: In section 9.5.4, at 186:24+, item (7) states "Determine whether an error, end-of-file, or end-of-record condition has occurred.", and then lists items (8), (9) & (10) as occurring. In section 9.9, describes processing an error, end-of-file or end-of-record condition at 206:24 (1) and 206:36 (1) both state "Execution of the input/output statement terminates." At 207:7 (2) states "Execution of the input statement terminates." Plainly, these statements are inconsistent. Either processing terminates, or it doesn't. The proposed solution is to correct 9.5.4 to indicate that if an error, eof or eor occurs, then io-list processing stops and error, eof, or eor processing continues as per 9.9, and to correct 9.9 to indicate that io-list processing stops and error, eof or eor processing continues. Unresolved issue 123 asks whether the appropriate name of the specifier for the character variable returned with an informative value is ERRMSG. I propose that the name be IOMSG, analogous to IOSTAT, and that the bnf item be added. ERRMSG and are also used with the ALLOCATE statement. However, with the io statements, messages other than error messages may be provided to the program. Edits: 1. Make 9.5.4 and 9.9 consistent. 186:9-18 Delete unresolved issue 3. 186:24+ After the sentence (7), add: "If an error or end-of-file condition has occurred, processing continues at step 10. If an end-of-record condition has occurred, processing continues at step 9. 187:3+ After the final sentence of (7), add "If an error or end-of-file condition has occurred, processing continues at step 10. If an end-of-record condition has occurred, processing continues at step 9.". 206:24 Change (1) to "(1) Processing of the input/output list terminates,". 206:36 Change (1) to "(1) Processing of the input list terminates,". 206:41 Change "input/output" to "input". 207:3 Change "input/output" to "input". 207:7 Change (2) to "(2) Processing of the input list terminates,". 207:11 Change "input/output" to "input". 2. Error, eof, eor "occur", they are not "raised". 186:43 Change "(and possibly trigger an error, end-of-file, or end-of-record condition)" to "(and an error, end-of-file, or end-of-record condition may occur)". 187:12-13 Change "may be raised" to "may occur". 187:14-15 Change "may be raised" to "may occur". 187:16 Change "is raised" to "occurs". 187:17-18 Change "is raised" to "occurs". 3. An error, end-of-file, or end-of-record occurs at most once per data transfer. 186:47 Change "operation." to "operation, but not both.". 4. Rename ERRMSG to IOMSG and to , treat IOMSG analogously to IOSTAT, and miscellaneous. 172:31 Change "ROUND=, ERR=, and IOSTAT= specifiers" to "and ROUND=". 172:39 Change "ERR= and IOSTAT=" to "ERR=, IOSTAT=, and IOMSG=". 173:8 Change "ERRMSG=" to "IOMSG=". 173:23+ Add: "R9xx is ". 173:35 Change "ERRMSG" to "IOMSG". 178:1 Change "ERRMSG=" to "IOMSG=". 178:12 Change "ERRMSG" to "IOMSG". 179:7 Change "ERRMSG = " to "IOMSG=". 180:11 Change "ERRMSG" to "IOMSG". 187:18 Change "IOSTAT=, ERR=," to "IOSTAT=, IOMSG=, ERR=". 191-193 Change all occurrences of "errmsg" to "iomsg". 196:9 Change "ERRMSG" to "IOMSG" and "" to "". 196:21 Change "ERRMSG" to "IOMSG". 196.39 Change "IOSTAT=, ERR=," to "IOSTAT=, IOMSG=, ERR=,". 197:24 Change "ERRMSG" to "IOMSG" and "" to "". 197:33 Change "ERRMSG" to "IOMSG". 199:20 Change "ERRMSG" to "IOMSG" and "" to "". 200:15 Change "ERRMSG" to IOMSG:". 206:11 Change "ERRMSG" to "IOMSG". 206:13 Change "" to "" 206:14 Change "" to "" 206:15-20 Delete unresolved 123. 206:28 Change "ERRMSG" to "IOMSG" and change "" to "". 206:41 Change "ERRMSG" to "IOMSG" and change "" to "". 207:11 Change "ERRMSG" to "IOMSG" and change "" to "". 208:27 Change "IOSTAT= or a SIZE=" to "IOSTAT=, an IOMSG=, or a SIZE=". 208:31 Change "IOSTAT= or a SIZE=" to "IOSTAT=, an IOMSG=, or a SIZE=". 357:16 Change "ERRMSG" to "IOMSG". 360:4 Change "ERRMSG" to"IOMSG".