Subject: Re: bug#30350: 27.0.50; Newest master can't run processes on macOS

From: Philipp Stephani <[email-masked]>
Date: Tue, 06 Feb 2018 00:43:35 +0000

Paul Eggert <[email-masked]> schrieb am Di., 6. Feb. 2018 um 01:36 Uhr:

> On 02/05/2018 04:26 PM, Philipp Stephani wrote:
> > It succeeds and prints nothing (i.e. the error is ENOTDIR in all cases).
> > So this is even more mysterious than I thought.
>
> Very strange. I installed the workaround into Emacs master, so at least
> the symptoms should be fixed now. But I don't know why the fix worked,
> and this doesn't inspire warm feelings.
>
> The Gnulib manual says that macOS faccessat (..., "FILE/", ...)
> incorrectly succeeds when FILE is a regular file, and Gnulib has code to
> work around that bug that should be in effect for Emacs. However, the
> Gnulib manual doesn't say that faccessat (..., "FILE/.", ...)
> incorrectly succeeds in this situation, nor that faccessat (...,
> "FILE/./", ...) does the right thing; and the test program I gave you
> didn't illustrate any bugs in this area so I'm not sure what's going on.
>

Maybe that bug was once present, and has been fixed since then?
I've noticed that REPLACE_FACCESSAT is 1, so configure thinks that
faccessat is broken. Apparently faccessat.m4 checks for the behavior of
lstat, not faccessat.