emacs-diffs
[Top][All Lists]
Advanced

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

emacs-28 3fd0854378: Fix file name quoting in tramp-smb.el (do not merge


From: Michael Albinus
Subject: emacs-28 3fd0854378: Fix file name quoting in tramp-smb.el (do not merge)
Date: Thu, 9 Jun 2022 08:44:17 -0400 (EDT)

branch: emacs-28
commit 3fd08543782d0d417eaa2dda0727ea16b3271710
Author: Michael Albinus <michael.albinus@gmx.de>
Commit: Michael Albinus <michael.albinus@gmx.de>

    Fix file name quoting in tramp-smb.el (do not merge)
    
    * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Quote tmpfile.
    (tramp-smb-get-localname): Remove superfluous test.  (Bug#55855)
    
    * test/lisp/net/tramp-tests.el (tramp-test03-file-name-method-rules):
    Remove superfluous checks.
---
 lisp/net/tramp-smb.el        |  7 +++----
 test/lisp/net/tramp-tests.el | 12 +-----------
 2 files changed, 4 insertions(+), 15 deletions(-)

diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el
index 2aaa6e8ab3..dfcb7162c8 100644
--- a/lisp/net/tramp-smb.el
+++ b/lisp/net/tramp-smb.el
@@ -1631,7 +1631,7 @@ errors for shares like \"C$/\", which are common in 
Microsoft Windows."
          v 3 (format "Moving tmp file %s to %s" tmpfile filename)
        (unwind-protect
            (unless (tramp-smb-send-command
-                    v (format "put %s \"%s\""
+                    v (format "put \"%s\" \"%s\""
                               tmpfile (tramp-smb-get-localname v)))
              (tramp-error v 'file-error "Cannot write `%s'" filename))
          (delete-file tmpfile)))
@@ -1695,9 +1695,8 @@ If VEC has no cifs capabilities, exchange \"/\" by 
\"\\\\\"."
       (when (string-match "\\(\\$\\$\\)\\(/\\|$\\)" localname)
        (setq localname (replace-match "$" nil nil localname 1)))
 
-      ;; A period followed by a space, or trailing periods and spaces,
-      ;; are not supported.
-      (when (string-match-p "\\. \\|\\.$\\| $" localname)
+      ;; A trailing space is not supported.
+      (when (string-match-p " $" localname)
        (tramp-error
         vec 'file-error
         "Invalid file name %s" (tramp-make-tramp-file-name vec localname)))
diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el
index 61fa6a5ae4..9071beedf2 100644
--- a/test/lisp/net/tramp-tests.el
+++ b/test/lisp/net/tramp-tests.el
@@ -2028,17 +2028,7 @@ Also see `ignore'."
      :type 'user-error)
     (should-error
      (expand-file-name "/method:user1@host1|ssh:user2@host2:/path/to/file")
-     :type 'user-error))
-
-  ;; Samba does not support file names with periods followed by
-  ;; spaces, and trailing periods or spaces.
-  (when (tramp--test-smb-p)
-    (dolist (file '("foo." "foo. bar" "foo "))
-      (should-error
-       (tramp-smb-get-localname
-       (tramp-dissect-file-name
-        (expand-file-name file tramp-test-temporary-file-directory)))
-       :type 'file-error))))
+     :type 'user-error)))
 
 (ert-deftest tramp-test04-substitute-in-file-name ()
   "Check `substitute-in-file-name'."



reply via email to

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