summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorMichael Albinus <michael.albinus@gmx.de>2022-03-18 12:25:32 +0100
committerMichael Albinus <michael.albinus@gmx.de>2022-03-18 12:25:32 +0100
commit499f2085fa6fce6c7a2868c8d27d465f43d53f0f (patch)
treec5a77d92b9933a5c9ee38cb6fa2f3d5b97aebaa7 /lisp
parentce26657b5d7e77d851ed9267d554f4f48e43a0b6 (diff)
downloademacs-499f2085fa6fce6c7a2868c8d27d465f43d53f0f.tar.gz
emacs-499f2085fa6fce6c7a2868c8d27d465f43d53f0f.tar.bz2
emacs-499f2085fa6fce6c7a2868c8d27d465f43d53f0f.zip
Make application configurable in 'with-connection-local-variables'
* doc/lispref/variables.texi (Connection Local Variables): Explain 'connection-local-default-application'. * etc/NEWS: Mention 'connection-local-default-application'. * lisp/files-x.el (connection-local-default-application): New variable. (connection-local-criteria-for-default-directory): Use it. (Bug#54405) * test/lisp/files-x-tests.el (files-x-test-with-connection-local-variables): Extend test.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/files-x.el14
1 files changed, 9 insertions, 5 deletions
diff --git a/lisp/files-x.el b/lisp/files-x.el
index 319bfe05655..0ae9fb076eb 100644
--- a/lisp/files-x.el
+++ b/lisp/files-x.el
@@ -722,14 +722,18 @@ will not be changed."
(copy-tree connection-local-variables-alist)))
(hack-local-variables-apply)))
+(defvar connection-local-default-application 'tramp
+ "Default application in connection-local functions, a symbol.
+This variable must not be changed globally.")
+
(defsubst connection-local-criteria-for-default-directory (&optional application)
"Return a connection-local criteria, which represents `default-directory'.
-If APPLICATION is nil, the symbol `tramp' is used."
+If APPLICATION is nil, `connection-local-default-application' is used."
(when (file-remote-p default-directory)
- `(:application ,(or application 'tramp)
- :protocol ,(file-remote-p default-directory 'method)
- :user ,(file-remote-p default-directory 'user)
- :machine ,(file-remote-p default-directory 'host))))
+ `(:application ,(or application connection-local-default-application)
+ :protocol ,(file-remote-p default-directory 'method)
+ :user ,(file-remote-p default-directory 'user)
+ :machine ,(file-remote-p default-directory 'host))))
;;;###autoload
(defmacro with-connection-local-variables (&rest body)