Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <v30ert$3le5u$1@dont-email.me>
Deutsch   English   Français   Italiano  
<v30ert$3le5u$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: James Kuyper <jameskuyper@alumni.caltech.edu>
Newsgroups: comp.lang.c
Subject: Re: errno (was Re: C23 thoughts and opinions - why so conservative?)
Date: Sun, 26 May 2024 18:59:09 -0400
Organization: A noiseless patient Spider
Lines: 33
Message-ID: <v30ert$3le5u$1@dont-email.me>
References: <v2l828$18v7f$1@dont-email.me> <20240523171911.00002f5a@yahoo.com>
 <v2o7re$1tlge$1@dont-email.me> <20240524003424.0000590a@yahoo.com>
 <v2qddg$2d33b$1@dont-email.me> <v2rc19$2i5ih$5@dont-email.me>
 <v2t174$2ue9j$1@dont-email.me> <875xv11mnb.fsf@nosuchdomain.example.com>
 <v2vgb9$3eaba$2@dont-email.me> <v2vi4t$3en8h$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 27 May 2024 00:59:11 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="3ffeba7c7a57110ab1118b557475d5ec";
	logging-data="3848382"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/rYXMvtHjjFpNqSTE3cEG3yP45Uj29ccw="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:mOS+xAntLi8nia3WLKEnmIZkaK8=
In-Reply-To: <v2vi4t$3en8h$1@dont-email.me>
Content-Language: en-US
Bytes: 2769

On 5/26/24 10:48, BGB wrote:
> On 5/26/2024 9:18 AM, David Brown wrote:
>> On 26/05/2024 01:45, Keith Thompson wrote:
>>> David Brown <david.brown@hesbynett.no> writes:
....
>>>>     #define errno *errno()
>>>
>>> Both of those need more parentheses -- and I'm unconfortable using the
>>> same identifier for the macro and the function.
>>>
>>
>> The second example was from the footnote in the C standard's section on 
>> <errno.h>, so it can't be /that/ bad!
>>
>> But I agree with your discomfort.
>>
> 
> I would expect it to immediately explode, because AFAIK the usual 
> preprocessor behavior is to keep expanding macros in a line until there 
> is nothing left to expand.

No, C macros are not recursive:
"... The resulting preprocessing token sequence is then rescanned, along
with all subsequent preprocessing tokens of the source file, for more
macro names to replace.
If the name of the macro being replaced is found during this scan of the
replacement list (not including the rest of the source file’s
preprocessing tokens), it is not replaced. Furthermore, if any nested
replacements encounter the name of the macro being replaced, it is not
replaced. These nonreplaced macro name preprocessing tokens are no
longer available for further replacement even if they are later
(re)examined in contexts in which that macro name preprocessing token
would otherwise have been replaced." (6.10.4.4p1,2)