From: Jim Porter <jporterbugs@gmail.com>
To: Michael Albinus <michael.albinus@gmx.de>
Cc: 57556@debbugs.gnu.org, coltonlewis@google.com
Subject: bug#57556: 28.1; Eshell not finding executables in PATH when tramp-integration loaded
Date: Sat, 1 Oct 2022 15:02:04 -0700 [thread overview]
Message-ID: <c36fa090-ab9a-2033-2e13-1e44243736b6@gmail.com> (raw)
In-Reply-To: <871qrrffzj.fsf@gmx.de>
On 10/1/2022 1:25 PM, Michael Albinus wrote:
> Jim Porter <jporterbugs@gmail.com> writes:
>
> I didn't install your patches, but I gave them a cursory review.
Thanks for taking a look.
>> set ENV_VAR value
>> set #'lisp-var value
>
> Well, in Elisp the #'symbol read syntax is used for function names, see
> (info "(elisp) Special Read Syntax")
>
> So it is surprising to see it used for variable names.
Yeah, it took me quite a while to realize that Eshell's meaning of
#'symbol is different from Elisp's. I recently added some documentation
in the Eshell manual to (hopefully) clarify the potential confusion.
>> Patch #4: Make $PATH a variable alias
>> ----------------------------------------
>>
>> This stores the $PATH in an alist indexed by host, similar to
>> 'grep-host-defaults-alist'. For consistency, it now derives its value
>> from '(exec-path)' everywhere (formerly, it used '(getenv "PATH") for
>> local hosts and '(exec-path)' for Tramp).
>
> Again, no possibility to use connection-local variables? You use them
> already by calling (path-separator) ...
I'll take a look at doing that. As I understand it, connection-local
variables are cleared if the associated connection gets cleaned up,
right? I wonder if that would be the right thing to do. For example, if
I cd into a remote host in Eshell, then update Eshell's $PATH for that
host, then clean up the connection, should the $PATH be reset to the
default for that host? I'm really not sure...
>> -(defun eshell-get-path ()
>> +(make-obsolete-variable 'eshell-path-env 'eshell-get-path "29.1")
>
> I guess you mean 'eshell-host-path-env' as CURRENT-NAME.
I wanted to say, "Instead of using the variable 'eshell-path-env', call
the function 'eshell-get-path'." Maybe that's not the right way to
indicate that though.
>> +(defun eshell-get-path (&optional local-part)
>> + (let* ((remote (file-remote-p default-directory))
>> + (path (cdr (eshell-get-path-assq remote t))))
>> + (when (and (eshell-under-windows-p)
>> + (not remote))
>> + (push "." path))
>> + (if (and remote (not local-part))
>> + (mapcar (lambda (x) (concat remote x)) path)
>
> Why not file-name-concat?
Good point. I'd forgotten to update that when copying that bit out of
'eshell-parse-colon-path'.
next prev parent reply other threads:[~2022-10-01 22:02 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-03 5:03 bug#57556: 28.1; Eshell not finding executables in PATH when tramp-integration loaded Colton Lewis via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-09-03 12:26 ` Lars Ingebrigtsen
2022-09-18 11:18 ` Michael Albinus
2022-09-18 18:54 ` Jim Porter
2022-09-18 19:07 ` Michael Albinus
2022-09-22 17:23 ` Colton Lewis via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-09-22 17:55 ` Michael Albinus
2022-09-30 3:54 ` Jim Porter
2022-10-01 20:25 ` Michael Albinus
2022-10-01 22:02 ` Jim Porter [this message]
2022-10-02 5:34 ` Jim Porter
2022-10-02 8:48 ` Michael Albinus
2022-10-07 3:19 ` Jim Porter
2022-10-07 18:28 ` Michael Albinus
2022-10-08 22:09 ` Jim Porter
2022-10-09 18:01 ` Michael Albinus
2022-10-13 4:11 ` Jim Porter
2022-10-13 6:35 ` Eli Zaretskii
2022-10-14 1:29 ` Jim Porter
2022-10-14 6:17 ` Eli Zaretskii
2022-10-14 12:28 ` Michael Albinus
2022-10-14 12:27 ` Michael Albinus
2022-10-14 20:53 ` Jim Porter
2022-10-15 10:38 ` Michael Albinus
2022-10-15 23:33 ` Jim Porter
2022-10-16 17:00 ` Michael Albinus
2022-10-16 23:01 ` Jim Porter
2022-10-16 20:51 ` Richard Stallman
2022-10-16 23:07 ` Jim Porter
2022-10-18 1:51 ` Jim Porter
2022-10-10 9:15 ` Michael Albinus
2022-10-02 8:55 ` 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=c36fa090-ab9a-2033-2e13-1e44243736b6@gmail.com \
--to=jporterbugs@gmail.com \
--cc=57556@debbugs.gnu.org \
--cc=coltonlewis@google.com \
--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).