unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: "João Távora" <joaotavora@gmail.com>
To: jeberger@free.fr
Cc: Michael Albinus <michael.albinus@gmx.de>, 61748@debbugs.gnu.org
Subject: bug#61748: 27.2; Eglot should use shell-file-name when launching the language server for a remote file
Date: Tue, 28 Feb 2023 15:07:43 +0000	[thread overview]
Message-ID: <CALDnm50JrzLZpAu6ktux=nizGptqi3WY59+93tdAb7JVUmbhvA@mail.gmail.com> (raw)
In-Reply-To: <76634814.7170555.1677595758208.JavaMail.root@zimbra60-e10.priv.proxad.net>

On Tue, Feb 28, 2023 at 2:49 PM <jeberger@free.fr> wrote:

> > For me, a change to a variable should take effect immediately,
> > no reboots or restarts.  If you're satisfied with less, suit yourself
> > (maybe you're on M$ windows?).
> >
> My main platform is Linux, I only use W$ at work because I have to.

Heyy, I know the feeling ;-)

> But on either platform, I don't expect changes to the environment to be
> picked by child processes or connections that were started before the
> change.

Hmmm.  I do.  In Eglot, I certainly strive to allow this.
eglot-managed-mode-hook is an exception, but a self-documenting one.
I don't know of many more exceptions (there could be).

And especially in Tramp, I would expect to, because those processes
are IMHO implementation details that an end-user shouldn't concern
herself with.  In Eglot there's a user-visible concept of
"Eglot-management session".  In Tramp, unless you start looking
at funny named buffers in your buffer list, there isn't this
visibility of the connection to the user (and IMO there shouldn't be).

> > > 1. When told that the language server is `rust-analyzer`, Eglot
> > > fails
> > Patches welcome.  Patches that remove code and don't break anything
> > even more welcome.  The patch you sent is insufficient, by your own
> > admission.  And Eli didn't like it either.
> >
> Here you go:
>
> ==============================8<------------------------------
> --- a/eglot.el  2023-02-28 15:38:01.161316788 +0100
> +++ b/eglot.el  2023-02-28 15:38:57.445653435 +0100
> @@ -1156,10 +1156,11 @@
>        ;;
>        ;; Not only does this seem like there should be a better way,
>        ;; but it almost certainly doesn’t work on non-unix systems.
> -      (list "sh" "-c"
> -            (string-join (cons "stty raw > /dev/null;"
> -                               (mapcar #'shell-quote-argument contact))
> -             " "))
> +      (with-connection-local-variables
> +       (list shell-file-name shell-command-switch
> +             (string-join (cons "stty raw > /dev/null;"
> +                                (mapcar #'shell-quote-argument contact))
> +                          " ")))
>      contact))
>
>  (defvar-local eglot--cached-server nil
> ------------------------------>8==============================
>
> Note that:
> - I said it was insufficient because it only fixed point 1 not point 2,
>   but that doesn't mean it's not worthwhile (see below for point 2).

OK thanks.  I'm OK with that patch, but I'd rather wait until you
also figure out point 2.  That's because -- I think -- if you can get
executable-find to find the right program in the firsdt place.  Then
we don't need to worry what shell we use to launch the language
server remotely. All things considered, launching the standard "sh"
should be more correct than launching the user's pimped-out custom
shell.

I was even more interested in your idea of removing the need for
that stty in eglot--cmd, which I have to admit I don't understand.
So if you want to try your hand at this, go ahead, too.

João





  reply	other threads:[~2023-02-28 15:07 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1909672588.15608265.1677223717877.JavaMail.root@zimbra60-e10.priv.proxad.net>
2023-02-24  7:39 ` bug#61748: 27.2; Eglot should use shell-file-name when launching the language server for a remote file jeberger
2023-02-24  8:15   ` Eli Zaretskii
2023-02-24 11:11     ` jeberger
2023-02-24 16:44       ` Michael Albinus
2023-02-27 11:07   ` João Távora
2023-02-27 12:05     ` João Távora
2023-02-27 17:59       ` bug#61748: [informatique] " Jérôme M. Berger
2023-02-27 23:41         ` João Távora
2023-02-28  9:50           ` jeberger
2023-02-28 10:14             ` Michael Albinus
2023-02-28 10:28               ` João Távora
2023-02-27 19:57       ` Michael Albinus
2023-02-27 20:07         ` João Távora
2023-02-27 20:13           ` Michael Albinus
2023-02-28  0:00             ` João Távora
2023-02-28  8:41               ` Michael Albinus
2023-02-28 12:18                 ` João Távora
2023-02-28 12:34                   ` Michael Albinus
2023-02-28 12:46                     ` João Távora
2023-02-28 13:05                       ` Michael Albinus
2023-02-28 13:47                         ` João Távora
2023-02-28 14:10                           ` Michael Albinus
2023-02-28 14:24                             ` João Távora
2023-02-28 14:45                               ` Michael Albinus
2023-02-28 15:13                                 ` João Távora
2023-02-28 15:44                                   ` Michael Albinus
2023-02-28 16:43                               ` Eli Zaretskii
2023-02-28 16:49                                 ` João Távora
2023-02-28 17:56                                   ` Eli Zaretskii
2023-03-01  4:34                                     ` Richard Stallman
2023-03-01  9:31                                       ` João Távora
2023-03-01 13:04                                         ` Eli Zaretskii
2023-03-01 13:05                                           ` João Távora
2023-02-28 13:59                   ` jeberger
2023-02-28 14:25                     ` João Távora
2023-02-28 14:49                       ` Michael Albinus
2023-02-28 14:53                         ` João Távora
2023-02-28 15:15                           ` Michael Albinus
2023-02-28 15:23                             ` João Távora
2023-02-28 15:50                               ` Michael Albinus
2023-02-28 16:28                                 ` João Távora
2023-03-02  9:14                                   ` Michael Albinus
2023-03-02 10:56                                     ` João Távora
2023-03-02 11:40                                       ` Michael Albinus
2023-03-03  0:24                                         ` João Távora
2023-02-28 14:49                       ` jeberger
2023-02-28 15:07                         ` João Távora [this message]
2023-02-28 15:12                         ` Michael Albinus
2023-02-28 16:16                           ` jeberger
2023-02-28 16:41                             ` jeberger
2023-02-28 17:09                               ` João Távora
2023-03-01  8:09                                 ` jeberger
2023-03-02 13:28                                   ` João Távora
2023-03-07 10:15                                     ` João Távora
2023-03-01  8:39                               ` Michael Albinus
2023-03-01  8:51                                 ` jeberger
2023-03-01  9:07                                   ` Michael Albinus
2023-03-01 10:01                                     ` jeberger
2023-03-01 10:11                                       ` 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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to='CALDnm50JrzLZpAu6ktux=nizGptqi3WY59+93tdAb7JVUmbhvA@mail.gmail.com' \
    --to=joaotavora@gmail.com \
    --cc=61748@debbugs.gnu.org \
    --cc=jeberger@free.fr \
    --cc=michael.albinus@gmx.de \
    /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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).