GNU bug report logs -
#54405
27.1; How to reset connection-local variable
Previous Next
Reported by: David Landell <david.landell <at> sunnyhill.email>
Date: Tue, 15 Mar 2022 20:46:01 UTC
Severity: normal
Tags: moreinfo
Found in version 27.1
Fixed in version 29.1
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Michael Albinus <michael.albinus <at> gmx.de> writes:
Hi David,
>> So, seems I should use my own :application key but then I can't use
>> the resetting macro since that is not applying locals with a unique :application
>> key. There is something there with 'tramp' being applied by default that
>> I don't understand though.
>
> `with-connection-local-variables' calls
> `connection-local-criteria-for-default-directory' w/o an APPLICATION
> argument, that's why `tramp' is used by default. Perhaps we shall extend
> `with-connection-local-variables' to accept another :application
> key. But for the time being, you might copy
> `with-connection-local-variables' into your own package under another
> name, and modify it accordingly.
I've pushed a change to the Emacs master git branch, which allows to
change the application in `with-connection-local-variables'. The Elisp
manual has been extended with
--8<---------------cut here---------------start------------->8---
-- Variable: connection-local-default-application
The default application, a symbol, to be applied in
‘with-connection-local-variables’. It defaults to ‘tramp’, but in
case you want to overwrite Tramp’s settings temporarily, you could
let-bind it like
(connection-local-set-profile-variables
'my-remote-perl
'((perl-command-name . "/usr/local/bin/perl5")
(perl-command-switch . "-e %s")))
(connection-local-set-profiles
'(:application 'my-app :protocol "ssh" :machine "remotehost")
'my-remote-perl)
(let ((default-directory "/ssh:remotehost:/working/dir/")
(connection-local-default-application 'my-app))
(with-connection-local-variables
do something useful))
This variable must not be changed globally.
--8<---------------cut here---------------end--------------->8---
Does this suffice?
>> /David
Best regards, Michael.
This bug report was last modified 3 years and 63 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.