diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/net/tramp-sh.el | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 38fffadd4ec..a2b675cf885 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -3270,6 +3270,9 @@ implementation will be used." (condition-case err (cond + ;; Empty file. + ((zerop size)) + ;; `copy-file' handles direct copy and out-of-band methods. ((or (tramp-local-host-p v) (tramp-method-out-of-band-p v size)) @@ -3285,6 +3288,11 @@ implementation will be used." v (format rem-enc (tramp-shell-quote-argument localname)) "Encoding remote file failed")) + ;; Check error. `rem-enc' could be a pipe, which doesn't + ;; flag the error in the first command. + (when (zerop (buffer-size (tramp-get-buffer v))) + (tramp-error v 'file-error' "Encoding remote file failed")) + (with-tramp-progress-reporter v 3 (format-message "Decoding local file `%s' with `%s'" tmpfile loc-dec) |