[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#61748: 27.2; Eglot should use shell-file-name when launching the lan
From: |
Michael Albinus |
Subject: |
bug#61748: 27.2; Eglot should use shell-file-name when launching the language server for a remote file |
Date: |
Fri, 24 Feb 2023 17:44:24 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
jeberger@free.fr writes:
Hi,
>>> # Partial fix
>>>
>>> The server starts correctly if I change function `eglot--cmd` to use `(or
>>> shell-file-name "sh")` instead of plain `"sh"`, e.g.:
>>
>> I don't think this is the correct fix. The literal "sh -c" is used in
>> Eglot only for remote server invocations, and I presume this was done
>> to avoid the problems with running Eglot on MS-Windows. Using
>> shell-file-name is incorrect for this use case because shell-file-name
>> gives you the name of the _local_ shell. I think we have better ways
>> of dealing with this issue' I've CC'ed Michael in the hope that he
>> will tell how to solve this properly.
>>
>> Thanks.
>
> According to
> https://www.gnu.org/software/tramp/#Running-shell_002dcommand-on-a-remote-host
> `shell-file-name` is also used for _remote_ command invocation and set to
> `/bin/sh` by default.
> It can be configured using connection local variables. From the same source,
> the fix
> should also use `(or shell-command-switch "-c")` instead of plain `"-c"`.
Indeed. Since Tramp 2.4 (Emacs 27), Tramp provides both
`shell-file-name` and `shell-command-switch' as connection-local
variables. Per default, the former is "/bin/sh" (or "/system/bin/sh" on
Android devices).
When it is not known, whether a given remote buffer has expanded
connection-local variables, the usage pattern might be
(with-connection-local-variables shell-file-name)
> Cordially.
Best regards, Michael.
- bug#61748: 27.2; Eglot should use shell-file-name when launching the language server for a remote file, jeberger, 2023/02/24
- bug#61748: 27.2; Eglot should use shell-file-name when launching the language server for a remote file, Eli Zaretskii, 2023/02/24
- bug#61748: 27.2; Eglot should use shell-file-name when launching the language server for a remote file, João Távora, 2023/02/27
- bug#61748: 27.2; Eglot should use shell-file-name when launching the language server for a remote file, João Távora, 2023/02/27
- bug#61748: [informatique] Re: bug#61748: 27.2; Eglot should use shell-file-name when launching the language server for a remote file, Jérôme M . Berger, 2023/02/27
- bug#61748: [informatique] Re: bug#61748: 27.2; Eglot should use shell-file-name when launching the language server for a remote file, João Távora, 2023/02/27
- bug#61748: [informatique] Re: bug#61748: 27.2; Eglot should use shell-file-name when launching the language server for a remote file, jeberger, 2023/02/28
- bug#61748: [informatique] Re: bug#61748: 27.2; Eglot should use shell-file-name when launching the language server for a remote file, Michael Albinus, 2023/02/28
- bug#61748: [informatique] Re: bug#61748: 27.2; Eglot should use shell-file-name when launching the language server for a remote file, João Távora, 2023/02/28
- bug#61748: 27.2; Eglot should use shell-file-name when launching the language server for a remote file, Michael Albinus, 2023/02/27
- bug#61748: 27.2; Eglot should use shell-file-name when launching the language server for a remote file, João Távora, 2023/02/27
- bug#61748: 27.2; Eglot should use shell-file-name when launching the language server for a remote file, Michael Albinus, 2023/02/27