GNU bug report logs -
#6430
Emacs WINDOWS truncates exit status of processes to 8 bits
Previous Next
Reported by: macross84 <at> ozu.es
Date: Tue, 15 Jun 2010 17:29:01 UTC
Severity: wishlist
Tags: wontfix
Done: Stefan Kangas <stefan <at> marxist.se>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
On Tue, Jun 14, 2016 at 10:35 AM, Eli Zaretskii <eliz <at> gnu.org> wrote:
> All the above is true, but I don't understand the original complaint.
My understanding of the original complaint is that if you compile the
program below:
#include <stdlib.h>
int main(int argc, char *argv[])
{
return atoi(argv[1]);
}
/*
(call-process (expand-file-name "exit-arg1.exe") nil nil nil "300") ;=> 44
*/
To lisp programs the exit status gets truncated to 8 bits, whereas
running from cmd.exe:
C:\Users\npostavs\src\emacs\bug-6430-w32-exit-rc>exit-arg1.exe 300
C:\Users\npostavs\src\emacs\bug-6430-w32-exit-rc>echo %errorlevel%
300
> Emacs doesn't truncate exit status of subprocesses in any way, it
> retrieves the full value of the status, and then reformats it
> according to what the Posix-style WIF* macros (which Emacs uses
> elsewhere) expect. No information is lost during this reformatting,
> see the implementation of waitpid in w32proc.c.
Not really sure what this reformatting is about, but I think the point
is that the original value does not return to lisp.
This bug report was last modified 4 years and 187 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.