all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Jonas Bernoulli <jonas@bernoul.li>
To: Eli Zaretskii <eliz@gnu.org>, Stefan Kangas <stefankangas@gmail.com>
Cc: emacs-devel@gnu.org, rms@gnu.org
Subject: Re: Adding with-editor to Emacs?
Date: Fri, 01 Sep 2023 19:44:53 +0200	[thread overview]
Message-ID: <87fs3xwzxm.fsf@bernoul.li> (raw)
In-Reply-To: <83bkelc1p1.fsf@gnu.org>

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Jonas Bernoulli <jonas@bernoul.li>
>> Cc: rms@gnu.org
>> Date: Fri, 01 Sep 2023 16:38:02 +0200
>> 
>> I think the next step is to ask Eli and others, how they would want to
>> integrate the library / the functionality it provides.
>
> I'm probably missing something because if all we want is to allow
> child processes to use the current Emacs session as their editor, we
> just need to inject some environment variables into
> process-environment when running those child processes, and start the
> server.

That's the core of what with-editor does.  Additionally

- It tries hard to find the correct emacsclient to use.

- It implements a "sleeping editor".  This is a shell script, which
  outputs a request on stdout and then waits to be told to return.
  With-editor use a process filter too look for that output and when
  it sees it, it responds in a similar fashion to server.el.  This
  is useful because makes it possible to do this over Tramp.  (I
  believe this could also be done using regular emacsclient+server.el,
  but that is difficult to setup and a security risk if not done
  correctly.

- It provides some convenience functionality to use this from various
  shells running inside Emacs.

> Emacs knows very well where to find its corresponding emacsclient.

I wasn't aware of that.  How can I make use of that knowledge?  I.e.,
is there a function that answers the question "what is the path of the
emacsclient that was installed with this version of emacs"?

> Why is there a need for a separate library?

I agree that there theoretically isn't a need for this library, but it
turned out that just setting EDITOR=emacsclient in the environment of
the sub process also doesn't cut it, because for many users (who never
use emacsclient directly), would have to add some configuration to make
it work.  The core and original functionality provided by with-editor,
is making the configuration unnecessary by using heuristics.

Maybe I miss something, but I concluded that emacs does *not* know
its corresponding emacsclient.  Once I know how to make use of that
knowledge, I can simplify with-editor quite a bit, with will benefit
the packages that already use it.  And if that really is fail-safe,
then Emacs doesn't have much to gain from integrating with-editor.

>> As far as adding `server-window-alist' goes, that would certainly be
>> a win.
>
> If we want to extend server-window in some ways, that could be a
> separate change.  It sounds like its utility is not necessarily
> specific to with-editor or to its main feature of allowing
> sub-processes use the parent Emacs as their editor.

Agreed and that is something I was planning to suggest eventually,
while I had no plan to suggest merging all of with-editor.el.

> (I couldn't find the beginning of this discussion, so maybe I missed
> some of the relevant context, in which case I apologize.)

The text I quoted, was the very beginning of this discussion.



  parent reply	other threads:[~2023-09-01 17:44 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <85msy98sni.fsf@elpa.gnu.org>
     [not found] ` <E1qbslO-0006oK-RA@fencepost.gnu.org>
2023-09-01 14:38   ` Adding with-editor to Emacs? Jonas Bernoulli
2023-09-01 16:12     ` Eli Zaretskii
2023-09-01 17:25       ` Jim Porter
2023-09-01 17:44       ` Jonas Bernoulli [this message]
2023-09-01 18:42         ` Eli Zaretskii
2023-09-01 20:23           ` Jonas Bernoulli
2023-09-02  6:19             ` Eli Zaretskii
2023-09-02 18:12               ` Jonas Bernoulli
2023-09-02 18:57                 ` Eli Zaretskii
2023-09-02 21:04                   ` Jonas Bernoulli
2023-09-03 17:02                   ` Lynn Winebarger
2023-09-03 17:21                     ` Eli Zaretskii
2023-09-03 18:21                       ` Lynn Winebarger
2023-09-03 18:37                         ` Eli Zaretskii
2023-09-02 19:56                 ` Stefan Kangas
2023-09-02 21:26                   ` Jonas Bernoulli
2023-09-02 23:07                     ` Stefan Kangas
2023-09-03  5:00                   ` Eli Zaretskii
2023-09-02 11:39             ` Michael Albinus
2023-09-02 16:52               ` Jonas Bernoulli
2023-10-17 10:23             ` Michael Albinus
2023-10-17 17:18               ` Manuel Giraud via Emacs development discussions.
2023-10-17 18:09                 ` Michael Albinus
2023-10-17 19:26                   ` Manuel Giraud via Emacs development discussions.
2023-10-17 18:24               ` bug#66598: Missing options from emacsclient man page Peter Oliver
2023-10-18  5:16                 ` Michael Albinus
2023-10-21 13:05                   ` Peter Oliver
2023-10-21 13:31                     ` Eli Zaretskii
2023-10-21 14:35                     ` Michael Albinus
2023-10-29 11:27                       ` Eli Zaretskii
2023-12-17 12:58                         ` Peter Oliver
2023-12-23  9:51                           ` Eli Zaretskii
2023-09-03 14:36           ` Adding with-editor to Emacs? Manuel Giraud via Emacs development discussions.
2023-09-03 15:34             ` Eli Zaretskii
2023-09-03 18:54               ` Manuel Giraud via Emacs development discussions.
2023-09-03 19:26                 ` Eli Zaretskii
2023-09-04  8:21                   ` Manuel Giraud via Emacs development discussions.
2023-09-04 12:18                     ` Eli Zaretskii
2023-09-04 12:44                       ` Manuel Giraud via Emacs development discussions.
2023-09-04 13:18                       ` Manuel Giraud via Emacs development discussions.
2023-09-06  0:59                     ` Richard Stallman
2023-09-05  0:27                   ` Richard Stallman
2023-09-15 21:59                     ` Björn Bidar
2023-09-17 23:03                       ` Richard Stallman
2023-09-18  8:59                         ` Philip Kaludercic
2023-09-20 18:35                           ` Richard Stallman

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=87fs3xwzxm.fsf@bernoul.li \
    --to=jonas@bernoul.li \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=rms@gnu.org \
    --cc=stefankangas@gmail.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.