J3/16-177 To: J3 From: Bill Long Subject: Description of list-directed character input Date: 2016 May 04 References: J3/16-007r1 Discussion: In 10.10.3.1p9 of List-directed input forms, the description of assigning a value to a character input item reads: "Let be the length of the next effective item, and let be the length of the character sequence. If is less than or equal to , the leftmost characters of the sequence are transmitted to the next effective item. If is greater than , the sequence is transmitted to the leftmost characters of the next effective item and the remaining characters of the next effective item are filled with blanks. The effect is as though the sequence were assigned to the next effective item in an intrinsic assignment statement (7.2.1.3)." Except the last sentence, the description is of intrinsic assignment to a nonallocatable character variable. But the last sentence omits that limitation, and appears to also cover the case of the variable being allocatable with a deferred len parameter. I assume we do not intend to require that character input/output list items are reallocated during the list-directed input processing. This appears to be a previously overlooked integration issue. This issue was raised on the Fortran 90 email list by Anton Shterenlikht. Two alternative repairs are: Alternative 1: Just delete the last sentence of the paragraph. It does not confer any new requirement and is confusing with its current wording. Alternative 2: Modify the last sentence to exclude the possibility of reallocating the effective list item. Edits to J3/16-007r1: Alternative 1: [279:10-11] In 10.10.3.1p9 List-directed input forms, delete the last sentence of the paragraph, "The effect is as though ... intrinsic assignment statement (7.2.1.3).". Alternative 2: [279:11] In 10.10.3.1p9 List-directed input forms, append to the end of the last sentence of the paragraph " where the variable is a nonallocatable character with the same parameter as the effective item". This makes the whole sentence read: "The effect is as though the sequence were assigned to the next effective item in an intrinsic assignment statement (7.2.1.3) where the variable is a nonallocatable character with the same parameter as the effective item."