Path: csiph.com!eternal-september.org!feeder.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.lang.c Subject: Re: Section J.5.13 incomplete? Date: Thu, 04 Oct 2018 11:20:12 -0700 Organization: None to speak of Lines: 54 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: reader02.eternal-september.org; posting-host="af9ae907079c17818bc7064dc388259f"; logging-data="12364"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/5EPOPXnnR7DlJeDtK8ybV" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) Cancel-Lock: sha1:vj3hVKnZOgcKJaMZYNy1ikKKZ2s= sha1:FUiVN4NzRHmHLkRb7fo0qcU0Ip8= Xref: csiph.com comp.lang.c:136214 ram@zedat.fu-berlin.de (Stefan Ram) writes: > jameskuyper@alumni.caltech.edu writes: >>Either that final comma should have been a period, or there are some >>words missing after that comma. Was this fixed in the final standard? > > I have looked into N2176, which is more recent than N1570, I just downloaded N2176, and it's password protected. > but this paragraph J.5.13 still ends with a comma therein. > Another source, /older/ than N1570 shows the same comma. > > The web also has some sources, which then seem to have a > period after the comma: »still open,.«. > > When an if clause /follows/ a main clause it is /not/ preceded > by a comma. So, in English we write, > > |If it is still raining, I will go outside to dance in the rain. > > , but, > > |I will go outside to dance in the rain if it is still raining. > > , without a comma! > > So, in > > |indicating the fact to the stderr stream, if it is still open, > > , the first comma would be wrong if the if-clause should be > intended to restrict the preceding clause. Or, when one assumes > that the first comma is /not/ wrong, this would mean that the > if-clause starts a new sentence (and is intended to restrict > a following clause, which is missing). But then, it would be > a "comma splice", where actually a /semicolon/ would be needed. > So there already is something wrong with the first comma! Perhaps, but I don't think it's a big deal. It could have been written as: If any floating-point status flags are set on normal termination after all calls to functions registered by the atexit function have been made (see 7.22.4.4), the implementation writes some diagnostics indicating the fact to the stderr stream if it is still open. but adding a comma between "stream" and "if" doesn't hurt anything IMHO, and arguably makes it a bit easier to read. -- Keith Thompson (The_Other_Keith) kst-u@mib.org Working, but not speaking, for JetHead Development, Inc. "We must do something. This is something. Therefore, we must do this." -- Antony Jay and Jonathan Lynn, "Yes Minister"