mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
* net/tramp-sh.el (tramp-send-command): Fix the case where the
remote-echo connection property is non-nil. Fixes: debbugs:18858
This commit is contained in:
parent
ae5602c51c
commit
b14b7f431f
2 changed files with 16 additions and 0 deletions
|
|
@ -4769,6 +4769,17 @@ function waits for output unless NOOUTPUT is set."
|
|||
(when (tramp-get-connection-property p "remote-echo" nil)
|
||||
;; We mark the command string that it can be erased in the output buffer.
|
||||
(tramp-set-connection-property p "check-remote-echo" t)
|
||||
;; If we put `tramp-echo-mark' after a trailing newline (which
|
||||
;; is assumed to be unquoted) `tramp-send-string' doesn't see
|
||||
;; that newline and adds `tramp-rsh-end-of-line' right after
|
||||
;; `tramp-echo-mark', so the remote shell sees two consecutive
|
||||
;; trailing line endings and sends two prompts after executing
|
||||
;; the command, which confuses `tramp-wait-for-output'.
|
||||
(when (and (not (string= command ""))
|
||||
(string-equal (substring command -1) "\n"))
|
||||
(setq command (substring command 0 -1)))
|
||||
;; No need to restore a trailing newline here since `tramp-send-string'
|
||||
;; makes sure that the string ends in `tramp-rsh-end-of-line', anyway.
|
||||
(setq command (format "%s%s%s" tramp-echo-mark command tramp-echo-mark)))
|
||||
;; Send the command.
|
||||
(tramp-message vec 6 "%s" command)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue