summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Albinus <michael.albinus@gmx.de>2014-04-13 12:31:48 +0200
committerMichael Albinus <michael.albinus@gmx.de>2014-04-13 12:31:48 +0200
commita1b248442be066fb11e2d945fa17bbaf6b984d98 (patch)
tree5deb6964bccc7bb084c755fcc30fdd3b8bb6fbcc
parentd62985a23d39cd150627062cab5810f147635a5c (diff)
downloademacs-a1b248442be066fb11e2d945fa17bbaf6b984d98.tar.gz
* 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)
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/net/tramp-sh.el16
2 files changed, 14 insertions, 8 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 2c1537cb552..82138b31b73 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -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
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index 4d0b5ae54d4..3b600e3d84e 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -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)