bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#71446: 30.0.50; em-extpipe-test-14 fails on MS-Windows


From: Jim Porter
Subject: bug#71446: 30.0.50; em-extpipe-test-14 fails on MS-Windows
Date: Sun, 9 Jun 2024 14:03:18 -0700

On 6/8/2024 10:22 PM, Eli Zaretskii wrote:
The failure is as follows:
[snip]
   Test em-extpipe-test-14 condition:
       Command logs: command: "tac 
*<c:/Users/EliZ/AppData/Local/Temp/emacs-test-hYLZuB-em-extpipe"

                    ----------------------------------------
                    [process] started external process `cmdproxy.exe'

                    d\:/gnu/git/emacs/trunk/nt/cmdproxy.exe -c tac\ 
\<c\:/Users/EliZ/AppData/Local/Temp/emacs-test-hYLZuB-em-extpipe
                    ----------------------------------------
                    [process] received output from process `cmdproxy.exe'

                    tac: standard input: read error

                    ----------------------------------------
                    [process] sentinel for external process `cmdproxy.exe': 
"exited abnormally with code 1
                    "
                    ----------------------------------------
                    [process] finished external process `cmdproxy.exe'
[snip]

AFAIU, the problem is that this invokes 'tac' with redirection, but
the redirected file name uses Unix-style forward slashes, which
doesn't work on Windows: the file name after "<" must use backslashes.

Are you sure? I tested on an MS-Windows system (no dev env there, but I can run pre-built programs), and forward slashes seem ok. I ran the following without issue inside cmd.exe:

  tac <C:/Users/Jim/Documents/file.txt

  cmdproxy.exe -c "tac <C:/Users/Jim/Documents/file.txt"

I also don't understand all those backslashes in

   d\:/gnu/git/emacs/trunk/nt/cmdproxy.exe -c tac\ 
\<c\:/Users/EliZ/AppData/Local/Temp/emacs-test-hYLZuB-em-extpipe

Are they real or just some artifact of printing the command?  If they
are real, and included in the command line, then perhaps my analysis
is incorrect and there are more fundamental problems here.

Those should just be an artifact of printing the command. I've changed that logging to use the current system's quoting style, so you should hopefully see something like the following in the logs now:

"d:/gnu/[...]/cmdproxy.exe" "-c" "tac <c:/[...]/emacs-test-hYLZuB-em-extpipe"

As for why it's failing, I'm not totally sure. From the logs, I think the child process for the command is being invoked correctly, but I'm not an expert on the extpipe code; I've CCed the author (Sean Whitton), who might know more.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]