Subject: bug#29442: dired-do-shell-command puts "start /b" in tramp dired

From: Shuguang Sun <[email-masked]>
Date: Sun, 26 Nov 2017 02:09:37 +0800

Hi,

local: Windows7, and shell comman is cmdproxy.exe/cmd
GNU Emacs 27.0.50 (build 1, x86_64-w64-mingw32) of 2017-11-24

In general dired buffer, if I call dired-do-shell-command on marked file
with end "&", it will call "start /b ..." to run asyn shell command.
However, it hould not happend for tramp dired buffer if the
tramp-remote-shell is not cmd.

For example, my server is linux and tramp-remote-shell is "/bin/sh". If I
run dired-do-shell-command with end "&", it suppose to send the command
directly, but it add "start /b" actually.

I attached the tramp debug for your reference.

Tramp setting:
  (push '("plink"
           (tramp-login-program        "plink")
           (tramp-login-args           (("-l" "%u") ("-P" "%p") ("-ssh")
("%h")))
           (tramp-remote-shell         "/bin/sh")
           (tramp-remote-shell-args    ("-c"))
           (tramp-copy-program         "pscp")
           (tramp-copy-args            (("-l" "%u") ("-P" "%p") ("-scp")
("-p" "%k") ("-q") ("-r")))
           (tramp-copy-keep-date t)
           (tramp-copy-recursive t)
           (tramp-default-port         22))
        tramp-methods)

Best Regards,
Shuguang Sun