summaryrefslogtreecommitdiff
path: root/lisp/net/tramp.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/net/tramp.el')
-rw-r--r--lisp/net/tramp.el16
1 files changed, 10 insertions, 6 deletions
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 58f74133cd5..5abd3dd36e4 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -3584,6 +3584,10 @@ the result will be a local, non-Tramp, filename."
"Global variable keeping asynchronous process object.
Used in `tramp-handle-shell-command'")
+(defvar tramp-display-shell-command-buffer t
+ "Whether to display output buffer of `shell-command'.
+This is necessary for handling DISPLAY of `process-file'.")
+
(defun tramp-handle-shell-command (command &optional output-buffer error-buffer)
"Like `shell-command' for tramp files.
This will break if COMMAND prints a newline, followed by the value of
@@ -3692,7 +3696,8 @@ This will break if COMMAND prints a newline, followed by the value of
(skip-chars-forward "^ ")
(setq status (read (current-buffer)))))
(unless (zerop (buffer-size))
- (display-buffer output-buffer))
+ (when tramp-display-shell-command-buffer
+ (display-buffer output-buffer)))
status))
;; The following is only executed if something strange was
;; happening. Emit a helpful message and do it anyway.
@@ -3707,11 +3712,10 @@ This will break if COMMAND prints a newline, followed by the value of
(when (and (numberp buffer) (zerop buffer))
(error "Implementation does not handle immediate return"))
(when (consp buffer) (error "Implementation does not handle error files"))
- (shell-command
- (mapconcat 'tramp-shell-quote-argument
- (cons program args)
- " ")
- buffer))
+ (let ((tramp-display-shell-command-buffer display))
+ (shell-command
+ (mapconcat 'tramp-shell-quote-argument (cons program args) " ")
+ buffer)))
;; File Editing.