all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Michael Albinus <michael.albinus@gmx.de>
To: Ergus <spacibba@aol.com>
Cc: help-gnu-emacs@gnu.org
Subject: Re: Issue with remote async processes.
Date: Tue, 29 Mar 2022 10:55:38 +0200	[thread overview]
Message-ID: <87h77hdto5.fsf@gmx.de> (raw)
In-Reply-To: 20220328164729.ksbpk6j3urc76b35@Ergus

Ergus <spacibba@aol.com> writes:

Hi,

> So far I have complains with the emacs process API, there are many
> function sometimes redundant and with confusing similar names, some of
> them are only available for one specific case (like process-lines*,
> which is available as a wrapper of call-process but not for the
> process-file case considering if there is a find-file-name-handler)...

It is just history ...

> I would actually expect a simpler function interface with two extra
> parameters (remote async).
>
> The async may unify make-process and call-process families

call-process is synchronous. Likely, you mean unification of
make-process and start{-file}-process? Technically, it would be possible
to obsolete start{-file}-process, make-process would be sufficient. But
there's ton of packages in the wild using that, so it might create more
trouble than it is worth for.

These days, writing new code, I would simply use make-process, that's it.

> The remote may unify process-file with call-process families

Not so simple. There is a reason for call-process: a guarantee that it is
executed always locally, whatever default-directory.

> That may reduce the 4 functions to a single one...

I don't believe it will work. But perhaps we could at least bring the
arguments of the local process functions and the remote process
functions in line, at least for the stdout and stderr handling.

> An extra comment:
>
> (process-command process) always returns `/bin/sh -i` when the process
> was executed remotely. I understand the reasons, but I am not sure if
> this is intended... I mean, I am interested in the real executed command
> when it failed for example. (either the complete one or the one passed
> to start-file-process)
>
> Is there a way to retrieve the full command like when the process
> executed locally??

Not yet (you must look into the Tramp traces). Maybe you write a
wishlist bug report? Tramp adds already the remote-pid and remote-tty
properties to process objects. It would be easy to add another property
remote-command which would keep a list of the program and its arguments.

> Again, thanks in advance, Ergus

Best regards, Michael.



  reply	other threads:[~2022-03-29  8:55 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20220324222414.6k5cj2ovxfnpozwr.ref@Ergus>
2022-03-24 22:24 ` Issue with remote async processes Ergus
2022-03-25  8:55   ` Michael Albinus
2022-03-26 19:48     ` Ergus
2022-03-27  7:22       ` Michael Albinus
2022-03-27 20:46         ` Ergus
2022-03-28  9:14           ` Michael Albinus
2022-03-28 16:47             ` Ergus
2022-03-29  8:55               ` Michael Albinus [this message]
2022-03-29 11:46                 ` Ergus
2022-03-29 17:45                   ` Michael Albinus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87h77hdto5.fsf@gmx.de \
    --to=michael.albinus@gmx.de \
    --cc=help-gnu-emacs@gnu.org \
    --cc=spacibba@aol.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.