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

From: Eli Zaretskii <[email-masked]>
Date: Wed, 15 Jun 2016 21:04:27 +0300

> From: Óscar Fuentes <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked]
> Date: Wed, 15 Jun 2016 19:36:14 +0200
> 
> > Once again, if this is important (I don't think so), we can redefine
> > WEXITSTATUS etc. macros to keep all the 32 bits of the exit status
> > (actually, the top 2 bits are reserved, so only 30 bits can be used).
> 
> When using --with-wide-int (or when running on Windows 64bits) we have
> the full 32 bits, right?

No.  The 2 bits are reserved by Windows, not by Emacs integer's
representation.  To see that in action, interrupt a program with
Ctrl-C and look at the exit status: you will see 0xC000013A; the
0xC0000000 bits are the reserved ones.  (There are more values for
other fatal exit reasons, but all of them set those 2 bits.)