|
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.
connection-local.el
Description: Text document
[Prev in Thread] | Current Thread | [Next in Thread] |