Improve Tramp traces.

* lisp/net/tramp.el (tramp-call-process-region): New defun.

* lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
This commit is contained in:
Michael Albinus 2015-05-29 19:45:59 +02:00
parent 33065aaf33
commit 0a539105a8
2 changed files with 36 additions and 4 deletions

View file

@ -5579,7 +5579,7 @@ function cell is returned to be applied on a buffer."
(default-directory
(tramp-compat-temporary-file-directory)))
(apply
'call-process-region (point-min) (point-max)
'tramp-call-process-region ,vec (point-min) (point-max)
(car (split-string ,compress)) t t nil
(cdr (split-string ,compress)))))
`(lambda (beg end)
@ -5588,7 +5588,7 @@ function cell is returned to be applied on a buffer."
(default-directory
(tramp-compat-temporary-file-directory)))
(apply
'call-process-region beg end
'tramp-call-process-region ,vec beg end
(car (split-string ,compress)) t t nil
(cdr (split-string ,compress))))
(,coding (point-min) (point-max)))))

View file

@ -4038,8 +4038,8 @@ this file, if that variable is non-nil."
;; else
(ad-deactivate 'make-auto-save-file-name)
(prog1
(tramp-run-real-handler 'make-auto-save-file-name nil)
(ad-activate 'make-auto-save-file-name)))))
(tramp-run-real-handler 'make-auto-save-file-name nil)
(ad-activate 'make-auto-save-file-name)))))
(unless (tramp-exists-file-name-handler 'make-auto-save-file-name)
(defadvice make-auto-save-file-name
@ -4131,6 +4131,38 @@ are written with verbosity of 6."
(tramp-message v 6 "%d\n%s" result (error-message-string err))))
result))
(defun tramp-call-process-region
(vec start end program &optional delete buffer display &rest args)
"Calls `call-process-region' on the local host.
It always returns a return code. The Lisp error raised when
PROGRAM is nil is trapped also, returning 1. Furthermore, traces
are written with verbosity of 6."
(let ((v (or vec
(vector tramp-current-method tramp-current-user
tramp-current-host nil nil)))
(buffer (if (eq buffer t) (current-buffer) buffer))
result)
(tramp-message
v 6 "`%s %s' %s %s %s %s"
program (mapconcat 'identity args " ") start end delete buffer)
(condition-case err
(progn
(setq result
(apply
'call-process-region
start end program delete buffer display args))
;; `result' could also be an error string.
(when (stringp result)
(signal 'file-error (list result)))
(with-current-buffer (if (bufferp buffer) buffer (current-buffer))
(if (zerop result)
(tramp-message v 6 "%d" result)
(tramp-message v 6 "%d\n%s" result (buffer-string)))))
(error
(setq result 1)
(tramp-message v 6 "%d\n%s" result (error-message-string err))))
result))
;;;###tramp-autoload
(defun tramp-read-passwd (proc &optional prompt)
"Read a password from user (compat function).