Path: csiph.com!news.mixmin.net!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: Pete Forman Newsgroups: comp.std.c Subject: Re: C23: asctime is obsolescent Date: Tue, 03 Jan 2023 15:15:03 +0000 Organization: A noiseless patient Spider Lines: 41 Message-ID: References: <875yf5ksn9.fsf@nosuchdomain.example.com> <861qocrk5b.fsf@linuxsc.com> <871qocphp0.fsf@nosuchdomain.example.com> MIME-Version: 1.0 Content-Type: text/plain Injection-Info: reader01.eternal-september.org; posting-host="a659df0fbcf63c8ace2aa2c42258f853"; logging-data="2273254"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18SlFTpVP19LObdAQsheouZ" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (windows-nt) Cancel-Lock: sha1:QH6ywJ3V38yurA6jsBLg8S52bIw= sha1:irPg+YvlV/ooxNuxi1zdc9ZidNM= Xref: csiph.com comp.std.c:6467 Keith Thompson writes: > Tim Rentsch writes: >> Keith Thompson writes: >>> In the latest C23 draft: >>> https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf >>> the descriptions of the __DATE__ and __TIME__ macros refer to the >>> asctime() function. >>> >>> That's not new. What's new is that asctime() is deprecated. >>> >>> Referring to a deprecated function isn't really a problem, but if >>> asctime() is actually removed in a future standard the descriptions of >>> __DATE__ and __TIME__ will need to be updated. >>> >>> It would also be nice to have a new macro that expands to the current >>> date in the form "YYYY-MM-DD". I do not suggest changing the behavior >>> of __DATE__, but perhaps something like __ISODATE__ could be added. >>> Question: If this is done, should __DATE__ be deprecated? >> >> It seems pointless to add __ISODATE__ if __DATE__ is retained, and >> worse than pointless to add __ISODATE__ and then remove __DATE__. >> >> Similar comments apply to __TIME__, which also refers to asctime(). > > I agree that __DATE__ should not be removed. On further thought, I > don't think it should be deprecated. The format it uses, "Jan 2 2023", > is too region-specific, but presumably some C code uses it, and it can't > be fully re-implemented in user code. > > If asctime() is removed in a future standard, then the descriptions of > __DATE__ and __TIME__ would have to be updated. I offer no opinion on > whether asctime() *should* be deprecated. The "a" in asctime() stands for American, as in ASCII as introduced in Unix V7. https://man.cat-v.org/unix_7th/3/ctime -- Pete Forman