diff options
Diffstat (limited to 'lisp/net/tramp.el')
-rw-r--r-- | lisp/net/tramp.el | 16 |
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. |