Subject: Re: bug#50748: 28.0.50; tramp-sh.el uses mknod file p which is not available on macos

From: Michael Albinus <[email-masked]>
Date: Thu, 23 Sep 2021 14:39:20 +0200

Damien Merenne <[email-masked]> writes:

Hi Damien,

> I'm trying to use eglot over tramp using `emacs -Q -f package-initialize
> -L /path/to/my/eglot -l eglot.el`. From what I understand, to
> capture the remote process stderr, tramp creates a fifo, in
> `tramp-sh-handle-make-process`, `tramp-sh.el:2889`. The MacOS mknod
> command does not support the "p" parameter, so the communication with
> the process does not work. Also no error is reported while the mknod
> command is failing.

Thanks for the bug report.

I've pushed a fix to the master branch, checking for a proper mknod or
mkfifo command on the remote side.

> I tried replacing `mknod %s p` with `mkfifo %s` or using gnu coreutils mknod. This
> fixes the fifo creation but the process communication is still
> broken after that.

I don't use macOS, so it's hard to test. Testing it locally, on a remote
Fedora machine, using mkfifo instead of mknod, works fine.

Could you please check whether my patch works for you? In case it
doesn't, please reproduce the problem with `tramp-verbose' set to
6. Show us the Tramp debug buffer then.

Btw, what would be the macOS equivalent to `mknod <file> p`?

Best regards, Michael.