ISO/ IEC JTC1/SC22/WG14 N827

                                                     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 <complex.h> has  been  organized  into
            subclauses that parallel <math.h>.

         -- <inttypes.h>  has  been  split  into  <inttypes.h>  and
            <stdint.h>.

         -- 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''.

       <stdbool.h> and <stdint.h> 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.

       <complex.h>   and   <math.h>   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 <math.h>.

       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