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

From: Paul Eggert <[email-masked]>
Date: Mon, 5 Feb 2018 16:36:13 -0800

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.

It may require digging around in the FreeBSD source code to puzzle this 
one out, assuming FreeBSD has the same bug that macOS does.