]> git.eshelyaron.com Git - emacs.git/commitdiff
* net/tramp-sh.el (tramp-sh-handle-file-truename): Revert previous
authorMichael Albinus <michael.albinus@gmx.de>
Sun, 13 Apr 2014 10:31:48 +0000 (12:31 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Sun, 13 Apr 2014 10:31:48 +0000 (12:31 +0200)
patch, there are new problems with file names containing spaces.
Get rid of backticks.  (Bug#17238)

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

index 7f08a133d98538e8da9e8056cb127fe8a1b63862..6099f31d636ca5304f0756b13af1d952ff5df401 100644 (file)
@@ -1,3 +1,9 @@
+2014-04-13  Michael Albinus  <michael.albinus@gmx.de>
+
+       * net/tramp-sh.el (tramp-sh-handle-file-truename): Revert previous
+       patch, there are new problems with file names containing spaces.
+       Get rid of backticks.  (Bug#17238)
+
 2014-04-13  João Távora  <joaotavora@gmail.com>
 
        * elec-pair.el (electric-pair--syntax-ppss): Simplify and fix
index 4d0b5ae54d41ee2a8d0e901ae39533ebb4562e51..3b600e3d84e02a861135f409f3a1989e9afd0617 100644 (file)
@@ -950,15 +950,15 @@ target of the symlink differ."
          (tramp-message v 4 "Finding true name for `%s'" filename)
          (cond
           ;; Use GNU readlink --canonicalize-missing where available.
-          ;; We must quote the file name twice due to the backticks.
           ((tramp-get-remote-readlink v)
-           (setq result
-                 (tramp-send-command-and-read
-                  v
-                  (format "echo \"\\\"`%s --canonicalize-missing %s`\\\"\""
-                          (tramp-get-remote-readlink v)
-                          (tramp-shell-quote-argument
-                           (tramp-shell-quote-argument localname))))))
+           (tramp-send-command-and-check
+            v
+            (format "%s --canonicalize-missing %s"
+                    (tramp-get-remote-readlink v)
+                    (tramp-shell-quote-argument localname)))
+           (with-current-buffer (tramp-get-connection-buffer v)
+             (goto-char (point-min))
+             (setq result (buffer-substring (point-min) (point-at-eol)))))
 
           ;; Use Perl implementation.
           ((and (tramp-get-remote-perl v)