emacs-diffs
[Top][All Lists]
Advanced

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

emacs-29 36ade0704e1: Fix connection-local variables settings


From: Michael Albinus
Subject: emacs-29 36ade0704e1: Fix connection-local variables settings
Date: Mon, 13 Mar 2023 13:02:51 -0400 (EDT)

branch: emacs-29
commit 36ade0704e1829fd27970e8d478cf4b52deed517
Author: Michael Albinus <michael.albinus@gmx.de>
Commit: Michael Albinus <michael.albinus@gmx.de>

    Fix connection-local variables settings
    
    ; * etc/NEWS: Fix typos.
    
    * lisp/files-x.el (connection-local-set-profiles)
    (connection-local-set-profile-variables): Use NOW when calling
    `custom-set-variables'.
    
    * test/lisp/files-x-tests.el
    (files-x-test-connection-local-set-profile-variables)
    (files-x-test-connection-local-update-profile-variables)
    (files-x-test-connection-local-set-profiles)
    (files-x-test-hack-connection-local-variables-apply)
    (files-x-test-with-connection-local-variables)
    (files-x-test-setq-connection-local): Fix tests.
    
    * test/lisp/net/tramp-tests.el (tramp-test34-connection-local-variables)
    (tramp-test34-explicit-shell-file-name): Fix tests.
---
 etc/NEWS                     |  4 +--
 lisp/files-x.el              |  4 +--
 test/lisp/files-x-tests.el   | 66 +++++++++++++++++++++++++++++++++++---------
 test/lisp/net/tramp-tests.el | 10 +++++++
 4 files changed, 67 insertions(+), 17 deletions(-)

diff --git a/etc/NEWS b/etc/NEWS
index 4774671a46d..a5f9f8c6ec1 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -3215,7 +3215,7 @@ Emacs now comes with the Eglot package, which enhances 
various Emacs
 features, such as completion, documentation, error detection, etc.,
 based on data provided by language servers using the Language Server
 Protocol (LSP).  See the new Info manual "(eglot) Top" for more.  Also
-see etc/EGLOT-NEWS.
+see "etc/EGLOT-NEWS".
 
 +++
 ** use-package: Declarative package configuration.
@@ -4889,7 +4889,7 @@ two buttons: "Yes" and "No".
 
 +++
 *** The 'ns-popup-font-panel' command has been removed.
-Use the general command "M-x menu-set-font" instead.
+Use the general command 'M-x menu-set-font' instead.
 
 
 ----------------------------------------------------------------------
diff --git a/lisp/files-x.el b/lisp/files-x.el
index be27aedf2e2..548d9efc193 100644
--- a/lisp/files-x.el
+++ b/lisp/files-x.el
@@ -682,7 +682,7 @@ variables for a connection profile are defined using
             (cons (cons criteria (delete-dups profiles))
                  connection-local-criteria-alist))))
   (custom-set-variables
-   `(connection-local-criteria-alist ',connection-local-criteria-alist)))
+   `(connection-local-criteria-alist ',connection-local-criteria-alist now)))
 
 (defsubst connection-local-get-profile-variables (profile)
   "Return the connection-local variable list for PROFILE."
@@ -703,7 +703,7 @@ VARIABLES list of the connection profile.  The list is 
processed
 in order."
   (setf (alist-get profile connection-local-profile-alist) variables)
   (custom-set-variables
-   `(connection-local-profile-alist ',connection-local-profile-alist)))
+   `(connection-local-profile-alist ',connection-local-profile-alist now)))
 
 ;;;###autoload
 (defun connection-local-update-profile-variables (profile variables)
diff --git a/test/lisp/files-x-tests.el b/test/lisp/files-x-tests.el
index f79118fd564..4e14ae68fb8 100644
--- a/test/lisp/files-x-tests.el
+++ b/test/lisp/files-x-tests.el
@@ -66,7 +66,9 @@
   "Test setting connection-local profile variables."
 
   ;; Declare (PROFILE VARIABLES) objects.
-  (let (connection-local-profile-alist connection-local-criteria-alist)
+  (let ((clpa connection-local-profile-alist)
+       (clca connection-local-criteria-alist)
+        connection-local-profile-alist connection-local-criteria-alist)
     (connection-local-set-profile-variables
      'remote-bash files-x-test--variables1)
     (should
@@ -94,13 +96,20 @@
     (should
      (equal
       (connection-local-get-profile-variables 'remote-nullfile)
-      files-x-test--variables4))))
+      files-x-test--variables4))
+
+    ;; Cleanup.
+    (custom-set-variables
+     `(connection-local-profile-alist ',clpa now)
+     `(connection-local-criteria-alist ',clca now))))
 
 (ert-deftest files-x-test-connection-local-update-profile-variables ()
   "Test updating connection-local profile variables."
 
   ;; Declare (PROFILE VARIABLES) objects.
-  (let (connection-local-profile-alist connection-local-criteria-alist)
+  (let ((clpa connection-local-profile-alist)
+       (clca connection-local-criteria-alist)
+        connection-local-profile-alist connection-local-criteria-alist)
     (connection-local-set-profile-variables
      'remote-bash (copy-alist files-x-test--variables1))
     (should
@@ -116,13 +125,20 @@
      (equal
       (connection-local-get-profile-variables 'remote-bash)
       (cons (car files-x-test--variables2)
-            (cdr files-x-test--variables1))))))
+            (cdr files-x-test--variables1))))
+
+    ;; Cleanup.
+    (custom-set-variables
+     `(connection-local-profile-alist ',clpa now)
+     `(connection-local-criteria-alist ',clca now))))
 
 (ert-deftest files-x-test-connection-local-set-profiles ()
   "Test setting connection-local profiles."
 
   ;; Declare (CRITERIA PROFILES) objects.
-  (let (connection-local-profile-alist connection-local-criteria-alist)
+  (let ((clpa connection-local-profile-alist)
+       (clca connection-local-criteria-alist)
+        connection-local-profile-alist connection-local-criteria-alist)
     (connection-local-set-profile-variables
      'remote-bash files-x-test--variables1)
     (connection-local-set-profile-variables
@@ -205,12 +221,19 @@
       '(remote-bash remote-ksh remote-nullfile)))
 
     ;; A criteria other than plist is wrong.
-    (should-error (connection-local-set-profiles 'dummy))))
+    (should-error (connection-local-set-profiles 'dummy))
+
+    ;; Cleanup.
+    (custom-set-variables
+     `(connection-local-profile-alist ',clpa now)
+     `(connection-local-criteria-alist ',clca now))))
 
 (ert-deftest files-x-test-hack-connection-local-variables-apply ()
   "Test setting connection-local variables."
 
-  (let (connection-local-profile-alist connection-local-criteria-alist)
+  (let ((clpa connection-local-profile-alist)
+       (clca connection-local-criteria-alist)
+        connection-local-profile-alist connection-local-criteria-alist)
 
     (connection-local-set-profile-variables
      'remote-bash files-x-test--variables1)
@@ -302,13 +325,18 @@
         (hack-connection-local-variables-apply nil)
         (should-not connection-local-variables-alist)
         (should-not (local-variable-p 'remote-shell-file-name))
-        (should-not (boundp 'remote-shell-file-name))))))
+        (should-not (boundp 'remote-shell-file-name))))
+
+    ;; Cleanup.
+    (custom-set-variables
+     `(connection-local-profile-alist ',clpa now)
+     `(connection-local-criteria-alist ',clca now))))
 
 (ert-deftest files-x-test-with-connection-local-variables ()
   "Test setting connection-local variables."
 
-  (let ((connection-local-profile-alist connection-local-profile-alist)
-        (connection-local-criteria-alist connection-local-criteria-alist))
+  (let ((clpa connection-local-profile-alist)
+       (clca connection-local-criteria-alist))
     (connection-local-set-profile-variables
      'remote-bash files-x-test--variables1)
     (connection-local-set-profile-variables
@@ -385,7 +413,12 @@
        (should-not (local-variable-p 'remote-null-device))
        ;; The variable values are reset.
        (should-not (boundp 'remote-shell-file-name))
-       (should (string-equal (symbol-value 'remote-null-device) "null"))))))
+       (should (string-equal (symbol-value 'remote-null-device) "null"))))
+
+    ;; Cleanup.
+    (custom-set-variables
+     `(connection-local-profile-alist ',clpa now)
+     `(connection-local-criteria-alist ',clca now))))
 
 (defun files-x-test--get-lazy-var ()
   "Get the connection-local value of `remote-lazy-var'.
@@ -405,7 +438,9 @@ If it's not initialized yet, initialize it."
 
 (ert-deftest files-x-test-setq-connection-local ()
   "Test dynamically setting connection local variables."
-  (let (connection-local-profile-alist connection-local-criteria-alist)
+  (let ((clpa connection-local-profile-alist)
+       (clca connection-local-criteria-alist)
+        connection-local-profile-alist connection-local-criteria-alist)
     (connection-local-set-profile-variables
      'remote-lazy files-x-test--variables5)
     (connection-local-set-profiles
@@ -440,7 +475,12 @@ If it's not initialized yet, initialize it."
       (should (equal (files-x-test--get-lazy-var) "there"))
       (with-connection-local-application-variables
           (cadr files-x-test--application)
-        (should (equal remote-null-device "null"))))))
+        (should (equal remote-null-device "null"))))
+
+    ;; Cleanup.
+    (custom-set-variables
+     `(connection-local-profile-alist ',clpa now)
+     `(connection-local-criteria-alist ',clca now))))
 
 (provide 'files-x-tests)
 ;;; files-x-tests.el ends here
diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el
index ff0fc56043e..0a777617c1d 100644
--- a/test/lisp/net/tramp-tests.el
+++ b/test/lisp/net/tramp-tests.el
@@ -5819,6 +5819,8 @@ INPUT, if non-nil, is a string sent to the process."
         (enable-remote-dir-locals t)
          (inhibit-message t)
         kill-buffer-query-functions
+        (clpa connection-local-profile-alist)
+        (clca connection-local-criteria-alist)
         connection-local-profile-alist connection-local-criteria-alist)
     (unwind-protect
        (progn
@@ -5867,6 +5869,9 @@ INPUT, if non-nil, is a string sent to the process."
            (kill-buffer (current-buffer))))
 
       ;; Cleanup.
+      (custom-set-variables
+       `(connection-local-profile-alist ',clpa now)
+       `(connection-local-criteria-alist ',clca now))
       (ignore-errors (delete-directory tmp-name1 'recursive)))))
 
 (ert-deftest tramp-test34-explicit-shell-file-name ()
@@ -5881,6 +5886,8 @@ INPUT, if non-nil, is a string sent to the process."
 
   (let ((default-directory ert-remote-temporary-file-directory)
        explicit-shell-file-name kill-buffer-query-functions
+       (clpa connection-local-profile-alist)
+       (clca connection-local-criteria-alist)
        connection-local-profile-alist connection-local-criteria-alist)
     (unwind-protect
        (progn
@@ -5915,6 +5922,9 @@ INPUT, if non-nil, is a string sent to the process."
 
       ;; Cleanup.
       (put 'explicit-shell-file-name 'permanent-local nil)
+      (custom-set-variables
+       `(connection-local-profile-alist ',clpa now)
+       `(connection-local-criteria-alist ',clca now))
       (kill-buffer "*shell*"))))
 
 ;; `exec-path' was introduced in Emacs 27.1.  `executable-find' has



reply via email to

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