emacs-diffs
[Top][All Lists]
Advanced

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

master 77087eb170f: Fix regression when saving tramp-default-proxies-ali


From: Michael Albinus
Subject: master 77087eb170f: Fix regression when saving tramp-default-proxies-alist
Date: Mon, 29 May 2023 05:37:47 -0400 (EDT)

branch: master
commit 77087eb170f5632c58f0a00143e7289209f78989
Author: Michael Albinus <michael.albinus@gmx.de>
Commit: Michael Albinus <michael.albinus@gmx.de>

    Fix regression when saving tramp-default-proxies-alist
    
    * lisp/net/tramp.el (tramp-add-hops): Suppress `signal-hook-function'.
    Save `tramp-default-proxies-alist' only when changed.
---
 lisp/net/tramp.el | 42 +++++++++++++++++++++++-------------------
 1 file changed, 23 insertions(+), 19 deletions(-)

diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index ecc950adfde..8c26f533bb8 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -4851,25 +4851,29 @@ Do not set it manually, it is used buffer-local in 
`tramp-get-lock-pid'.")
   "Add ad-hoc proxy definitions to `tramp-default-proxies-alist'."
   (when-let ((hops (tramp-file-name-hop vec))
             (item vec))
-    (dolist (proxy (reverse (split-string hops tramp-postfix-hop-regexp 
'omit)))
-      (let* ((host-port (tramp-file-name-host-port item))
-            (user-domain (tramp-file-name-user-domain item))
-            (proxy (concat
-                    tramp-prefix-format proxy tramp-postfix-host-format))
-            (entry
-             (list (and (stringp host-port)
-                        (rx bol (literal host-port) eol))
-                   (and (stringp user-domain)
-                        (rx bol (literal user-domain) eol))
-                   (propertize proxy 'tramp-ad-hoc t))))
-       (tramp-message vec 5 "Add %S to `tramp-default-proxies-alist'" entry)
-       ;; Add the hop.
-       (add-to-list 'tramp-default-proxies-alist entry)
-       (setq item (tramp-dissect-file-name proxy))))
-    ;; Save the new value.
-    (when tramp-save-ad-hoc-proxies
-      (customize-save-variable
-       'tramp-default-proxies-alist tramp-default-proxies-alist))))
+    (let (signal-hook-function changed)
+      (dolist
+         (proxy (reverse (split-string hops tramp-postfix-hop-regexp 'omit)))
+       (let* ((host-port (tramp-file-name-host-port item))
+              (user-domain (tramp-file-name-user-domain item))
+              (proxy (concat
+                      tramp-prefix-format proxy tramp-postfix-host-format))
+              (entry
+               (list (and (stringp host-port)
+                          (rx bol (literal host-port) eol))
+                     (and (stringp user-domain)
+                          (rx bol (literal user-domain) eol))
+                     (propertize proxy 'tramp-ad-hoc t))))
+         ;; Add the hop.
+         (unless (member entry tramp-default-proxies-alist)
+           (tramp-message vec 5 "Add %S to `tramp-default-proxies-alist'" 
entry)
+           (add-to-list 'tramp-default-proxies-alist entry)
+           (setq changed t))
+         (setq item (tramp-dissect-file-name proxy))))
+      ;; Save the new value.
+      (when (and tramp-save-ad-hoc-proxies changed)
+       (customize-save-variable
+        'tramp-default-proxies-alist tramp-default-proxies-alist)))))
 
 (defun tramp-compute-multi-hops (vec)
   "Expands VEC according to `tramp-default-proxies-alist'."



reply via email to

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