From dcfe1c4aba3f54cdd0295e0e21db86143f7cb705 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Sun, 14 Apr 2019 19:52:12 +0200 Subject: [PATCH] Fix Bug#35055 * lisp/net/tramp.el (tramp-handle-shell-command): Handle `shell-command-width'. (Bug#35055) --- lisp/net/tramp.el | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 32963ac5432..2e1a0960d7d 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -3638,17 +3638,24 @@ support symbolic links." (erase-buffer))) (if (and (not current-buffer-p) (integerp asynchronous)) - (prog1 - ;; Run the process. - (setq p (start-file-process-shell-command - (buffer-name output-buffer) buffer command)) - ;; Display output. - (with-current-buffer output-buffer - (display-buffer output-buffer '(nil (allow-no-window . t))) - (setq mode-line-process '(":%s")) - (shell-mode) - (set-process-sentinel p #'shell-command-sentinel) - (set-process-filter p #'comint-output-filter))) + (let ((tramp-remote-process-environment + ;; `shell-command-width' has been introduced with Emacs 27.1. + (if (natnump (bound-and-true-p shell-command-width)) + (cons (format "COLUMNS=%d" + (bound-and-true-p shell-command-width)) + tramp-remote-process-environment) + tramp-remote-process-environment))) + (prog1 + ;; Run the process. + (setq p (start-file-process-shell-command + (buffer-name output-buffer) buffer command)) + ;; Display output. + (with-current-buffer output-buffer + (display-buffer output-buffer '(nil (allow-no-window . t))) + (setq mode-line-process '(":%s")) + (shell-mode) + (set-process-sentinel p #'shell-command-sentinel) + (set-process-filter p #'comint-output-filter)))) (prog1 ;; Run the process. -- 2.39.2