emacs-diffs
[Top][All Lists]
Advanced

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

emacs-28 6dae01a: Fix tramp-compat-file-name-concat (Bug#51754)


From: Michael Albinus
Subject: emacs-28 6dae01a: Fix tramp-compat-file-name-concat (Bug#51754)
Date: Thu, 11 Nov 2021 05:53:51 -0500 (EST)

branch: emacs-28
commit 6dae01ad6da1bcbced062c0d46a6759c7a0570e4
Author: Aleksandr Vityazev <avityazev@posteo.org>
Commit: Michael Albinus <michael.albinus@gmx.de>

    Fix tramp-compat-file-name-concat (Bug#51754)
    
    * lisp/net/tramp-compat.el: Make `tramp-compat-file-name-concat'
    work like file-name-concat.  (Bug#51754)
---
 lisp/net/tramp-compat.el | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/lisp/net/tramp-compat.el b/lisp/net/tramp-compat.el
index 213ab58..fbc3d68 100644
--- a/lisp/net/tramp-compat.el
+++ b/lisp/net/tramp-compat.el
@@ -386,14 +386,17 @@ CONDITION can also be a list of error conditions."
   (if (fboundp 'file-name-concat)
       #'file-name-concat
     (lambda (directory &rest components)
-      (unless (null directory)
-       (let ((components (delq nil components))
-             file-name-handler-alist)
-         (if (null components)
-             directory
-           (tramp-compat-file-name-concat
-            (concat (file-name-as-directory directory) (car components))
-            (cdr components))))))))
+      (let ((components (cl-remove-if (lambda (el)
+                                        (or (null el) (equal "" el)))
+                                      components))
+           file-name-handler-alist)
+        (if (null components)
+           directory
+          (apply #'tramp-compat-file-name-concat
+                (concat (unless (or (equal "" directory) (null directory))
+                           (file-name-as-directory directory))
+                         (car components))
+                (cdr components)))))))
 
 (dolist (elt (all-completions "tramp-compat-" obarray 'functionp))
   (put (intern elt) 'tramp-suppress-trace t))



reply via email to

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