To: J3 J3/21-161 From: Rich Bleikamp & JOR Subject: Editorial (mostly) I/O list fixes Date: 2021-June-25 Reference: 21-140 Please be on the lookout for a revised paper before June 28th. I hope to vote on this paper or a revised paper on Monday if any changes in a revised paper are minor, and there are no objections. In 21-140, the editor noted that the use of the term "input/output list item" and variations thereof are technically wrong it some circumstances. Edits are provided below. Note that there are a lot of edits. The author tried to search for all occurrences of the suspect phrases, but might well have missed some. If this paper is passed, and when a subsequent revision of 21-007 is available, all of clause 13 (I/O chapters) will be gone over to find any missing edits. The interesting circumstances appear to be 1) "Effective list item" should be replaced by "effective item" since the "list" is the list present in the I/O statement, and "effective items" are the result of processing the I/O list as described in 12.6.3. There is only one such occurrence. 2) Anywhere a phrase like "[input][/][output] [list] item" appears, in a context where the item corresponds to an edit descriptor, we should use "effective item". Similarly for namelist I/O when an input record object name is an array name, ... Other background: - A complex scalar variable is ONE effective item, even though it consumes 2 edit descriptors. Otherwise, an effective item corresponds to one and only one edit descriptor. - each array reference that is a list item in an implied do corresponds to zero or more effective items, based on the implied do iteration count(s). Similarly for array shaped objects of many varieties. After due consideration of other uses of input/output list item, and discussions with the project editor, it seems desirable to NOT replace all occurrences of "input/output list item" with "effective item". For example, text requiring allocatable "list" items in an data transfer statement to be allocated are correct as is. If we used "effective item" in that restriction, unallocated arrays would be permissible as long as the containing implied do loop next had zero iterations. Not really harmful, but an unnecessarily obtuse situation. Also, the phrases "output effective item" and "input effective item" doesn't exactly roll off the tongue easily, so "input" and "output" were deleted in these contexts where they were unnecessary. Lastly, where an occurrence of the suspect phrase(s) appear, but the subgroup/author thought the existing text was "correct" and more appropriate, the suspect phrase is listed in the edits with the comment "no change(s)". Edits against 21-007r1 / N2184. [31:16] section 4.3, replace "a list item" with "an effective item". [243:9] no change [243:11] no change [243:14-16] replace "list item" with "effective item" three times [243:20] replace "list item" with "effective item" [243, note 4] no edits [243:22] replace "a list item" with "an effective item" [244:1] replace "list item" with "effective item" twice and [244:2] replace "the list" with "the corresponding list item" [244:4-5] no changes, similar to allocatable restrictions mentioned above. [246:23] no change [246:27-247:1] no changes [247:8] no change [247:10] no change [247:12] no change [250:...] no changes [252:22] no change [252:30] no change [265:34-35] no change [266:40] replace "input list items or namelist group objects in the statement that initiated the transfer" with "effective items resulting from the expansion of list items in the statement that initiated the transfer" [267:12] no change [273:4] replace "except than an input/output list item" with "except than an effective item" [274:34] replace "input/output list item" with "effective item" [275:31-32] replace "specified input/output list item" with "corresponding effective item" [276:6-8] replace "list item" with "effective item" three times [281:25] replace "list item" with "effective item" [281:32] Replace "The value is" with "Input editing produces the value", and replace "input list item" with "effective item" twice. [281:34] replace "list item" with "effective item" [282:9] replace "specified input/output list item" with "corresponding effective item" [282:18] replace "input/output list item" with "effective item" [282:19] replace "output list item" with "output effective item" [282:21] replace "list item" with "effective item" [282:24] replace "list item" with "effective item" [282:25] replace "input/output list item" with "input effective item" [282:26] replace "input item" with "input effective item" [282:29] replace "output item" with "output effective item" [282:33-35] replace "output list item" with "output effective item" 3 times [283:10] replace "input/output list item" with "effective item" [284:19] replace "a list item" with "an effective item" [284:25] replace "a list item" with "an effective item" [288:3] replace "list item" with "effective item" [288:12] replace "list item" with "effective item" [288:22+] In note 2; replace "list items" with "effective items" [288:30] replace "list item" with "effective item" [290:6] replace "additional items" with "additional effective items" [290:8] replace "input items" with "effective items" [293:3] after "scalar list items" add "(effective items)" [293:4] no change [293:5] replace "list items in the expanded sequence" with "effective items" [293:6] replace "list items in the expanded sequence" with "effective items" [293:7-8] replace "list item in the corresponding position in the expanded sequence" with "corresponding effective item" [293:26-27] replace "namelist group object list item" with "corresponding effective item" [294:5] no change [294:22] replace "list item" with "effective item" [294:23] replace "namelist group object list item" with "effective item" [296:5-6] no change needed [328:13] no change needed [548:11] no change needed [579:5] replace "list item" with "effective item" [579:8] replace "list item" with "effective item" [579:10] replace "list item" with "effective item" [582:14-17] no change needed