SC22/WG14 N827 Editor's Report May 22, 1998 1. Major changes from CD1 Lots of reorganization: -- Requirements that used to be in Definitions and conventions (clause 2) have been moved to Conformance (clause 4) in accordance with Part 3 of the ISO Directives. -- The long-deferred reorganization of the beginning of the Language clause (6.1 and 6.2) specified in N672 has been completed with minor adjustments due to changes made since N672 was adopted. -- The requirements for the predefined identifier __func__ have been moved from Primary expressions (6.5.1) to Identifiers (6.4.2), replacing the forward reference that used to be there. -- The UCN requirements that were spread all over the place have been collected into their own subclause (6.4.3). -- The Library clause (7) is now ordered alphabetically by header name and the headers that were previously under 7.1 have been moved up and ordered appropriately. -- Each library subclause that contains function definitions is now ordered alphabetically by function name. -- The functions in has been organized into subclauses that parallel . -- has been split into and . -- The Bibliography is no longer an annex and appears after the annexes in accordance with Part 3 of the ISO Directives. Note: In general, I've suppressed the diff marks that would normally result from moving a whole subclause in order to avoid hiding any changes to the actual text of the subclause. The draft has been (mostly) updated to conform to Part 3 of the ISO Directives. This involved minor reformatting of the 2 SC22/WG14 N827 Normative references (clause 2) and the footnotes, and major reformatting of the Definitions and conventions (clause 3, now Terms and definitions) and the examples. It also involved removing all instances of the word ``must'' from the draft (``must'' is reserved for legal obligations). Definitions are only allowed to contain actual definitions in the normative text; anything else must be a note or an example. Things that were obviously requirements have been moved elsewhere (generally to Conformance, see above), the examples that used to be at the end of the clause have been distributed to the appropriate definitions, anything else has been made into a note. (Some of the notes appear to be requirements, but I haven't figured out a good place to put them yet.) The dates and titles of all the ISO, IEC, and ANSI documents in the Normative references (clause 2) and Bibliography have been double-checked. TR 10176 has been removed from Normative references (clause 2) because there are no normative references to it (the normative references are to annex H). The title of clause 4 has been changed from ``Compliance'' to the more accurate ``Conformance''. and are now required for freestanding implementations, complex support is not. The UCN wording has been harmonized with the C++ standard as discussed at the last meeting. The Recommended practices have been slightly reworded to conform to Part 3 of the ISO Directives. and subclauses now include the prototypes for the float and long double versions of the functions. There have been minor corrections to the specifications of atanh, nextafter, and logb in . The specifications for fprintf and fwprintf now come from a common source file, so there are no longer any gratuitous differences in wording between them. Similarly for fscanf and fwscanf. I've taken the liberty of defining the term length modifier to refer to the h, l, etc. that can appear before a conversion specifier. This makes the specifications easier to understand and gives us a term we can use to refer to them elsewhere. SC22/WG14 N827 3 I've added the %F conversion specifier to the scanf functions on the assumption that we just overlooked it when we added it to printf. The changes specified in the minutes of the previous meeting (N812) including documents N804, N808, N809, and N810 have been applied. I have also applied the changes specified by editorial review groups in N816 and N817. There have been lots of little formatting and wording changes based on public and private comments -- all are noted by diff marks in the draft. 2. Open Issues Still need final words for a real boolean type (see N815). Need to work out the interaction of VLAs with mixed declarations and code. The index still needs more work. The text version of the draft has not been reviewed and contains numerous formatting problems such as superscripts overprinting information from the previous line and unintelligible expressions. There are many typesetting issues still to be addressed. For example, there are many equations typeset as code and vice versa, particularly in annexes E and F. Some of these issues primarily affect the typeset version and some primarily affect the text version. All hyphenated terms should be examined to determine where the hyphenation is appropriate and where it isn't. All italicized terms should also be examined. All of the cross references need to be checked for relevance and accuracy. The draft still needs some work to fully comply with Part 3 of the ISO Directives. The major issues remaining are: -- the Notes in Definitions mentioned above -- the formatting of tables -- we have many subclauses that contain text in addition to subordinate subclauses; ISO strongly discourages this -- all references to a specific version of a standard must include the date; it is not sufficient to include the 4 SC22/WG14 N827 date only in the Normative references or the Bibliography as we currently do -- annexes are required to appear in the order in which they are cited in the text (and thus there has to be a citation for each annex); if anyone has any strong feelings about ordering, please let me know -- ISO requires numbers to be formatted with a comma for the decimal-point character and digits before and after the decimal-point character to be in space-separated groups of three; I believe we have more than adequate justification for ignoring this requirement -- Larry Jones