J3/03-261r2 Date: November 12, 2003 To: J3 From: Rich Bleikamp/jor Subject: The left tab limit and child data transfer statements Rob James asked: At [203:2-4] of the Fortran 2003 FCD, it says: A record positioning edit descriptor, such as TL and TR, used on unit by a child data transfer statement shall not cause the record position to be positioned before the record position at the time the user-defined derived-type input/output procedure was invoked. It is unclear how the situation described could arise. Given the definition of the left tab limit in 10.7.1.1, at the point that a child data transfer statement begins execution, the left tab limit would be set to the current file position. And given the definitions of T, TL, and TR (also in 10.7.1.1), you can't go farther left than the left tab limit. It appears from the statement at [203:2-4] that the intent was that the left tab limit should not be set to the current file position when a child data transfer statement begins execution. JOR's recommeded edits: Edits to J3/03-007r2: [194:13-14] replace item (5) with '(5) if the statement is a non-child data transfer statement (9.5.3.7), (a) position the file prior to data transfer (9.2.3.2), and (b) if an explicit format specification is specified, set the left tab limit (10.7.1.1).' [194:28] replace the final '.' with ', and if an explicit format specification is specified, set the left tab limit (10.7.1.1).' [235:32] insert 'non-child' before 'data' End of edits