]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix last Tramp change, especially for bug#56963
authorMichael Albinus <michael.albinus@gmx.de>
Thu, 4 Aug 2022 16:12:25 +0000 (18:12 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Thu, 4 Aug 2022 16:12:25 +0000 (18:12 +0200)
* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
Add missing space.

* lisp/net/tramp-sh.el (tramp-sh-handle-write-region): Use "cat",
"echo -n" isn't portable.  (Bug#56963)

* lisp/net/tramp.el (tramp-file-name-unify): Unquote file name in time.

lisp/net/tramp-adb.el
lisp/net/tramp-sh.el
lisp/net/tramp.el

index 1d35f2b2ff7781014d38de597f1dd82d7a927797..ef0cc2d66c67ec23c607fb19f3ffba545913e77a 100644 (file)
@@ -521,7 +521,7 @@ Emacs dired can't find files."
     ;; file is created.  Do it directly.
     (if (and (stringp start) (string-empty-p start))
        (tramp-adb-send-command-and-check
-        v (format "echo -n \"\">%s" (tramp-shell-quote-argument localname)))
+        v (format "echo -n \"\" >%s" (tramp-shell-quote-argument localname)))
 
       (let ((tmpfile (tramp-compat-make-temp-file filename)))
        (when (and append (file-exists-p filename))
index d88e388cd56b01e15e55e83cfa82eb2bb439e4ae..9e5347252ad4eb8299c8d8be3902cc61a5b14a09 100644 (file)
@@ -3340,7 +3340,9 @@ implementation will be used."
     ;; file is created.  Do it directly.
     (if (and (stringp start) (string-empty-p start))
        (tramp-send-command
-        v (format "echo -n \"\">%s" (tramp-shell-quote-argument localname)))
+        v (format "cat <%s >%s"
+                  (tramp-get-remote-null-device v)
+                  (tramp-shell-quote-argument localname)))
 
       ;; Short track: if we are on the local host, we can run directly.
       (if (and (tramp-local-host-p v)
index 0446e5754ae3f6b77dbf79c85dfe5aa2c948cf76..a35b9baaa8c4bc4e2ac94a51de866d0aabdfd107 100644 (file)
@@ -1487,21 +1487,21 @@ If nil, return `tramp-default-port'."
 (put #'tramp-file-name-port-or-default 'tramp-suppress-trace t)
 
 ;;;###tramp-autoload
-(defun tramp-file-name-unify (vec &optional file)
+(defun tramp-file-name-unify (vec &optional localname)
   "Unify VEC by removing localname and hop from `tramp-file-name' structure.
-If FILE is a string, set it as localname.
+If LOCALNAME is a string, set it as localname.
 Objects returned by this function compare `equal' if they refer to the
 same connection.  Make a copy in order to avoid side effects."
   (when (tramp-file-name-p vec)
     (setq vec (copy-tramp-file-name vec))
     (setf (tramp-file-name-localname vec)
-         (and (stringp file)
+         (and (stringp localname)
               ;; FIXME: This is a sanity check.  When this error
               ;; doesn't happen for a while, it can be removed.
-              (or (file-name-absolute-p file)
+              (or (file-name-absolute-p localname)
                   (tramp-error
-                   vec 'file-error "File `%s' must be absolute" file))
-              (directory-file-name (tramp-compat-file-name-unquote file)))
+                   vec 'file-error "File `%s' must be absolute" localname))
+              (tramp-compat-file-name-unquote (directory-file-name localname)))
          (tramp-file-name-hop vec) nil))
   vec)