]> git.eshelyaron.com Git - emacs.git/commitdiff
* net/tramp-sh.el (tramp-sh-handle-vc-registered): Apply heredoc
authorMichael Albinus <michael.albinus@gmx.de>
Mon, 10 Feb 2014 13:54:33 +0000 (14:54 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Mon, 10 Feb 2014 13:54:33 +0000 (14:54 +0100)
script more robustly.

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

index 6a2cdabc1f12800d02e662bae64e45ea93a79ad5..d67d626f1313695e1288bc0fbca732444ccb9bf0 100644 (file)
@@ -1,3 +1,8 @@
+2014-02-10  Michael Albinus  <michael.albinus@gmx.de>
+
+       * net/tramp-sh.el (tramp-sh-handle-vc-registered): Apply heredoc
+       script more robustly.
+
 2014-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
 
        * dired.el (dired-get-marked-files): Doc fix (bug#11534).
index 8d3c4c2c58b5627031ec68d64d4e0daa5a4b49ab..fc906b343cb5bf789aaa15548918a61ae6757e6d 100644 (file)
@@ -3308,15 +3308,24 @@ the result will be a local, non-Tramp, filename."
 
            (dolist
                (elt
-                (tramp-send-command-and-read
-                 v
-                 (format
-                  "tramp_vc_registered_read_file_names <<'%s'\n%s\n%s\n"
-                  tramp-end-of-heredoc
-                  (mapconcat 'tramp-shell-quote-argument
-                             tramp-vc-registered-file-names
-                             "\n")
-                  tramp-end-of-heredoc)))
+                (ignore-errors
+                  ;; We cannot use `tramp-send-command-and-read',
+                  ;; because this does not cooperate well with
+                  ;; heredoc documents.
+                  (tramp-send-command
+                   v
+                   (format
+                    "tramp_vc_registered_read_file_names <<'%s'\n%s\n%s\n"
+                    tramp-end-of-heredoc
+                    (mapconcat 'tramp-shell-quote-argument
+                               tramp-vc-registered-file-names
+                               "\n")
+                    tramp-end-of-heredoc))
+                  (tramp-send-command-and-check v nil)
+                  (with-current-buffer (tramp-get-connection-buffer v)
+                    ;; Read the expression.
+                    (goto-char (point-min))
+                    (read (current-buffer)))))
 
              (tramp-set-file-property
               v (car elt) (cadr elt) (cadr (cdr elt))))))