Subject: bug#6430: Emacs WINDOWS truncates exit status of processes to 8 bits

From: Óscar Fuentes <[email-masked]>
Date: Wed, 15 Jun 2016 14:30:20 +0200

Eli Zaretskii <[email-masked]> writes:

>> Not really sure what this reformatting is about, but I think the point
>> is that the original value does not return to lisp.
>
> Why is that a problem?

Because Emacs is reporting something false?

> The important information that I thought this was about is in the
> upper 4 bits of the status, and it doesn't get lost -- it's passed
> back to Emacs as the signal (if any) that caused the subprocess to
> exit.
>
> If there are any important use cases with programs that return status
> above 255, we can easily change the definition of WEXITSTATUS for
> Windows.  But I have yet to see a real-life example of such a program,
> or any complaint about the current WEXITSTATUS definition in Emacs.

You are fortunate enough to live in a world of applications ported from
*nix :-) (and so do I, for the most part.)

When a Windows application calls an API that fails and the application
has no method for recovering from the error, it is customary to exit
with the error code of the API (usually obtained with GetLastError).