Subject: Re: bug#77402: 31.0.50; Tramp: file-writable-p broken

From: Gerd Möllmann <[email-masked]>
Date: Mon, 31 Mar 2025 17:32:03 +0200

Michael Albinus <[email-masked]> writes:

> Michael Albinus <[email-masked]> writes:
>
> Hi Gerd,
>
>> Then I'm lost. We could try it with tramp-verbose 11, which gives
>> additional call traces.
>>
>> Or you could give me temporary access to the remote machine, that I can
>> debug.
>
> Just wait! There's another nuisance worth to fix. Could you, pls, check?
>
> Best regards, Michael.

I'm afraid that's also not it. I can now boil it down to the following
test with emacs -Q (I'm always building without window system FWIW):

  (file-writable-p "/ssh:mini:/tmp")
   => nil
  (file-writable-p (file-truename "/ssh:mini:/tmp"))
   => t

where

  (file-truename "/ssh:mini:/tmp")
   => "/ssh:mini:/private/tmp"
 
Weird. With

  (trace-function 'tramp-sh-handle-file-writable-p)

I can see that this comes out of that function.

Giving you access to "mini" is not an easy option, I'm afraid. It means
fighting with macOS network security, an area that I have virtually 0
experience with :-(.

Anyway, maybe I can debug this. Or, I just change /tmp to not be
symlink, or maybe I can just set TMPDIR or something. Or, I just ssh and
run Emacs on the remote machine, with 0 work :-).