]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/net/tramp.el (tramp-call-process): Add traces.
authorMichael Albinus <michael.albinus@gmx.de>
Mon, 2 Jun 2014 09:58:50 +0000 (11:58 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Mon, 2 Jun 2014 09:58:50 +0000 (11:58 +0200)
lisp/ChangeLog
lisp/net/tramp.el

index f6999abd68c6f55b1e25d1ef14ee676e3e7f2f2a..54ecd84e08bcd5eebc623028979590aebed9dc39 100644 (file)
@@ -1,3 +1,7 @@
+2014-06-02  Michael Albinus  <michael.albinus@gmx.de>
+
+       * net/tramp.el (tramp-call-process): Add traces.
+
 2014-06-02  Wilson Snyder  <wsnyder@wsnyder.org>
 
        Sync with upstream verilog-mode revision 3cd8144.
index 6cc8275b327747c759d66a2d844f5dad653883d5..29a7b95357c191d0fa45cf28a030ad6fccc11a27 100644 (file)
@@ -4122,12 +4122,21 @@ This is needed because for some Emacs flavors Tramp has
 defadvised `call-process' to behave like `process-file'.  The
 Lisp error raised when PROGRAM is nil is trapped also, returning 1.
 Furthermore, traces are written with verbosity of 6."
-  (tramp-message
-   (vector tramp-current-method tramp-current-user tramp-current-host nil nil)
-   6 "`%s %s' %s %s" program (mapconcat 'identity args " ") infile destination)
-  (if (executable-find program)
-      (apply 'call-process program infile destination display args)
-    1))
+  (let ((v (vector tramp-current-method tramp-current-user tramp-current-host
+                  nil nil))
+       (result 1))
+    (tramp-message
+     v 6 "`%s %s' %s %s"
+     program (mapconcat 'identity args " ") infile destination)
+    (when (executable-find program)
+      (with-temp-buffer
+       (setq result
+             (apply
+              'call-process program infile (or destination t) display args))
+       (with-current-buffer
+           (if (bufferp destination) destination (current-buffer))
+         (tramp-message v 6 "%d\n%s" result (buffer-string)))))
+    result))
 
 ;;;###tramp-autoload
 (defun tramp-read-passwd (proc &optional prompt)