Document number: | N4098
Date: | 2014-07-05
Revises: |
Project: | Programming Language C++
Project number: | TS 18822
Reply-to: | Beman Dawes <bdawes at acm dot org>

# File System TS Editor's Report, Post-Rapperswil

N4099 is the latest File System TS Working Draft. It contains the changes to the File System TS working paper as directed by the committee at the Rapperswil meeting. It also contains editorial changes not requiring committee approval. Details of the changes are listed below.

### Immediate issues

- Applied Immediate issues 5, 22, 25, 27, 34, 35, 36, 37, 40, 41, 45, 48, 49, 53, 56, 57, 58, 60, 62.
- Issue 57 called for the creation of a new section 2.1. There was already a section with that number, and also a closely related section 2.2. The new section was given the number 2.3 to avoid separating sections 2.1 and 2.2.

### Editorial changes

- In several places, replaced "--" with "&mdash;". (Thanks to Sean Hunt)
- 8.4.3 [path.append] changed `p` to `source` in two places. The argument is named `source`, not `p`.
- `const directory_entry& operator*() const;` and `const directory_entry* operator->() const;` were out-of-place in the `directory_entry` synopsis. Moved to be with the observers.
- Applied issue 59 Invalid expressions for bitmask types (NAD Editorial). The text for 15.4 Copy file [fs.op.copy_file] had already been corrected by another issue, so no further change was required for 15.4.
- Enabled paragraph numbers. (Thanks to Jeffrey Yasskin) (Resolves US-4)
- Removed editorial comments.
- Intra-document links consistently display the section number. (Resolves US-1)
- Links to the C++ standard consistently display the section number. (Resolves US-2)
- Pattern of cross-references in synopsis has been made more consistent; not all requested changes were accepted. (Resolves US-3)
- Changed to non-pejorative wording in 15.36 System complete [fs.op.system_complete], as requested by LWG.
- To prevent line wrap in code, such as in "`->`", added `code { white-space: nowrap; }` to CSS style and added `<br>` where needed as a result. (Resolves US-7 as it applies to code, although the "C++" example cited wasn't actually in code.)
- Added reference to `extension()` and also section cross reference. (Resolves GB-2)
- Replaced "pathname" with "filename" in 4.14 parent directory. (Resolves US-8)
- Replaced "Paths" with "Pathnames" in 4.18. (Resolves US-9)
- Replaced "link (4.9)" with "type of file" in 4.19, to use the exact POSIX wording. Also removed "object" from 4.9. (Resolves US-10)
- Inserted "the start of" into the last bullet item of 8.3. (Resolves US-13)
- Fixed broken, duplicate, and otherwise faulty links. (Boost inspect program)
- Corrected spelling of "canonical" in anchor. (Daniel Krügler)
- Fixed grammatical mistake in 10.4. (Daniel Krügler)
- Added missing "(" and ")" in 13.1 and 14.1. (Daniel Krügler)
- Fixed bad <li>...</li> markup in 4.7. (Daniel Krügler)
- Fixed incorrect form of reference to C++14 in 8.6.1. (Daniel Krügler)
- Fixed bad paragraph numbering in numerous places. (Daniel Krügler)
- Set two occurrences of "operator=" in code font in 11.2. (Daniel Krügler)
- Remove "The type `EcharT` shall be an encoded character type (5)." from 8.3 since it is already specified in 5. (LWG Rapperswil)
- Standard string type names qualified with `std::` to avoid clash with member names. (Jonathan Wakely)
- Function parameters `Source const&` changed to `const Source&` for consistency with other const ref parameters. (Jonathan Wakely)
- [path.construct] codecvt requires three template arguments. (Jonathan Wakely)
- [path.decompose] Note for path::extension has incorrect example, add `.filename()`. (Jonathan Wakely)