all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Spencer Baugh <sbaugh@janestreet.com>
To: Dmitry Gutov <dmitry@gutov.dev>
Cc: emacs-devel@gnu.org, johnw@gnu.org, spwhitton@spwhitton.name
Subject: Re: Native OS pipelines in eshell and Emacs
Date: Tue, 28 May 2024 21:43:54 -0400	[thread overview]
Message-ID: <CAO=BR8M3UFX_+guDB9qaPvW_D0Egca8k1a6GVn_45Sc6ms-Esw@mail.gmail.com> (raw)
In-Reply-To: <08f95b98-7338-4365-8b55-7c337e57d447@gutov.dev>

[-- Attachment #1: Type: text/plain, Size: 1250 bytes --]

On Tue, May 28, 2024, 9:21 PM Dmitry Gutov <dmitry@gutov.dev> wrote:

> > Specifically, the new feature would be something like an :stdin argument
> > to make-process which allows a make-pipe-process (or other process) to
> > be passed as stdin, and grabs the output file descriptor from that
> > process (what Emacs would normally read) and passes it down as stdin for
> > the new process instead.
>
> It would be doubly interesting if we manage to implement it so that
> Tramp would be able to connect two processes directly without
> round-tripping the i/o from the remote host to local and back to remote.
> That's a major source of latency in project-find-regexp on remote.
>

Unfortunately this is almost impossibly hard.  But, I actually have worked
extensively on doing this specific impossible thing (remote process APIs
that are powerful enough to do this) so I will eventually try to implement
them for Emacs and TRAMP.  It would allow full make-process support in
TRAMP as well as a make-pipe-process which represents a pipe existing on a
remote system.

Anyway, in the short term it will probably only work efficiently for local
processes, with remote project-files having to roundtrip through the local
Emacs.

[-- Attachment #2: Type: text/html, Size: 1838 bytes --]

  reply	other threads:[~2024-05-29  1:43 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-28 14:42 Native OS pipelines in eshell and Emacs Spencer Baugh
2024-05-28 16:33 ` Jim Porter
2024-05-28 18:38   ` Spencer Baugh
2024-05-28 19:56     ` Jim Porter
2024-05-29  1:21 ` Dmitry Gutov
2024-05-29  1:43   ` Spencer Baugh [this message]
2024-05-29  2:08     ` Dmitry Gutov
2024-05-29  8:01       ` Michael Albinus
2024-05-29 10:31         ` Dmitry Gutov
2024-05-29  7:53     ` 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='CAO=BR8M3UFX_+guDB9qaPvW_D0Egca8k1a6GVn_45Sc6ms-Esw@mail.gmail.com' \
    --to=sbaugh@janestreet.com \
    --cc=dmitry@gutov.dev \
    --cc=emacs-devel@gnu.org \
    --cc=johnw@gnu.org \
    --cc=spwhitton@spwhitton.name \
    /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.