Welcome to the editor's report for N2573 and the related diffmarks, N2583. There were a lot of papers that were integrated, which are listed very clearly in the frontmatter of N2573. The goal of this revision of the C Working Draft was to "close the loop" on a lot of open changes, as many as was humanly possible in the timeframe. Most of those changes were integrated without too much of a problem, but some of the work related to the Floating Point TS's integration and the C Floating Point (CFP) Group's were a little confusing and will need to be redone for the next editor's report.
A lot of papers from a myriad of meetings (some from the October 2019 Ithaca, NY meeting and even before) had to be integrated, in part or in whole. Sometimes, they updated the same area of text in the Standard. Some were approved, and then "new" versions were approved with updated wording at a later meeting. There was a lot of merging and negotiating going into the text of making N2573. There should not be a period of instability of paper updates again for a while, so applying changes in the future should be a lot more straightforward.
That being said, please check over both the diffmarks and the Working Draft itself to make sure the changes you expected from your paper were done properly. We have -- at this point -- had to quintuple check the changes, but it never hurts to have an extra pair of eyes!
The papers that were integrated without issues - as done by following the issue and merge request trackers at the C Standard GitLab Instance - are as follows:
N2379: X_IS_IEC_60559 Macro
N2384: F.8 update
N2393: _Bool definitions true and false
N2416: floating-point negation and conversion
N2424: Why logp1
N2444: More optionally per-thread state for the library implementation
N2446: printf of NaN()
N2448 : [[nodiscard("should have a reason"]]
N2459: Add an interface to query resolution of time bases v3
N2464: Zero-size Reallocations are Undefined Behavior
N2480: Allowing unnamed parameters in a function definition
N2490: Why no wide string strfrom functions
N2491: powr justification
N2492: Note about math function properties
N2508: free positioning of labels
N2517: Clarification request for C17 s3.4.3p3
N2553: Querying attribute support
N2554: minor attribute wording cleanup
The last of the Floating Point DRs
The success of the above merges were came from a few changes made outside the paper that were deemed okay to make after contacting the necessary stake holders (CFP Group, Paper Author, etc.):
N2444 had some additional missing text from other sections with identical wording, so after contacting the author and confirming the intent that text was added to the identical section.
N2553, N2554, and N2448 clashed a bit in the merging but were merged successfully after carefully tweaking the wording with the paper author.
N2480 clashed with a previously merged change about removing "K&R style" function declarations/definitions. The wording was fixed up in the appropriate sections.
N2393's boolean definitions were predicated upon the existence of bool as a keyword. This was solved by not using the bool keyword versions of the accepted text, as was talked about in the Ithaca meeting where this paper was approved. _Bool was used instead.
After fixing those, some editorial changes since before Ithaca were merged into the Standard. Some had already been merged but were lost in history during the transfer of the C sources. The editorial changes that were applied (or re-applied, after some version history shenanigans) were:
fix use of "invokation" to "invocation"
remove positional reference to text listing in footnote 292
use singular grammar for the atomic footnote
Add missing <float.h> and <limits.h> macros
Some papers were integrated, but there were issues getting to a consistent state within the working draft. It should be noted that these issues will be fixed for the next version of the standard, in conjunction with some additional papers being approved (or not) at the upcoming October 2020 Virtual Meeting, some discussion on the mailing list, and Committee/stakeholder consensus:
Integrate N2406: signaling NaN initializers
Integrate N2506: Range errors and math functions
Integrate N2532: Min-max functions
Integrate N2476: Names and locations of FP entities
Papers are still to be submitted in the old fashion, but work has begun on a new paper system for WG14 to enable the Committee to:
iterate faster on papers;
upload and view papers faster; and
be able to establish a proper history for visiblity.
To this end a new paper system is being worked on by JeanHeyd Meneide in particular, using purely open source tools and distributed version control to allow for not only paper revisions but paper history. The focus of the system will be new papers, before historical papers (N-numbered) get pulled into the system too. The hope is to unveil the very first alpha of this system in Mid-February and -- Murphy's Law being kind and permitting -- hopefully in use in the meeting after that.
Thank you for contributing to and working on the C Standard!
— JeanHeyd Meneide, Project Editor <wg14@soasis.org>