GNU bug report logs - #71446
30.0.50; em-extpipe-test-14 fails on MS-Windows

Previous Next

Package: emacs;

Reported by: Eli Zaretskii <eliz <at> gnu.org>

Date: Sun, 9 Jun 2024 05:41:02 UTC

Severity: normal

Found in version 30.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 71446 <at> debbugs.gnu.org (full text, mbox):

From: Jim Porter <jporterbugs <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>, 71446 <at> debbugs.gnu.org
Cc: spwhitton <at> spwhitton.name
Subject: Re: 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.




This bug report was last modified 1 year and 32 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.