From: Michael Albinus Date: Mon, 29 May 2023 09:37:33 +0000 (+0200) Subject: Fix regression when saving tramp-default-proxies-alist X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=77087eb170f5632c58f0a00143e7289209f78989;p=emacs.git 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. --- 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'."