bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#57556: 28.1; Eshell not finding executables in PATH when tramp-integ


From: Jim Porter
Subject: bug#57556: 28.1; Eshell not finding executables in PATH when tramp-integration loaded
Date: Thu, 6 Oct 2022 20:19:26 -0700

On 10/2/2022 1:48 AM, Michael Albinus wrote:
Yes. with-connection-local-variables is designed to provide those
variables inside the BODY only. And you have used nil as CRITERIA in
connection-local-set-profiles, which means you get the same variables
for every kind of default-directory, which means you don't use
connection-local variables at all :-)

What you need is a permanent setting of variables. Something like

(connection-local-set-profiles
  (connection-local-criteria-for-default-directory 'eshell)
  'eshell-connection-local-profile)

(let ((enable-connection-local-variables t)
       connection-local-variables-alist) ;; I'm not sure this is needed.
   (hack-connection-local-variables-apply
    (connection-local-criteria-for-default-directory 'eshell))
   ;; The body.
   ...)

Hmm, I've tried this a few different ways, and I haven't been able to get it to work the way it should. Maybe I'm just missing something?

Attached is a minimal test case I've extracted to show the issue I'm having. It seems the problem is that, while I can update the path in 'eshell-set-path' with no problem, when I call 'eshell-get-path' again, 'hack-connection-local-variables-apply' resets 'eshell-path-env-list' to nil, so the modified path is lost.

Do you have any ideas about what I'm doing wrong? Or maybe connection-local variables aren't supposed to be used this way. All the documentation I see on them involves setting variables to constant values, not updating them in-place over the life of a program.

Attachment: connection-local.el
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]