From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?UTF-8?Q?=C3=93scar?= Fuentes Newsgroups: gmane.emacs.bugs Subject: bug#6430: Emacs WINDOWS truncates exit status of processes to 8 bits Date: Wed, 15 Jun 2016 19:14:25 +0200 Message-ID: <87eg7yjrwu.fsf@wanadoo.es> References: <1310.80.58.205.52.1276622459.squirrel@correo.ozu.es> <831t3zg7or.fsf@gnu.org> <83d1njdvk9.fsf@gnu.org> <87mvmmk52b.fsf@wanadoo.es> <8337oeebr0.fsf@gnu.org> <87inxajxed.fsf@wanadoo.es> <83y466cvfs.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1466011534 21417 80.91.229.3 (15 Jun 2016 17:25:34 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 15 Jun 2016 17:25:34 +0000 (UTC) Cc: macross84@ozu.es, 6430@debbugs.gnu.org, npostavs@users.sourceforge.net To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Jun 15 19:25:18 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1bDEYz-0004MN-ON for geb-bug-gnu-emacs@m.gmane.org; Wed, 15 Jun 2016 19:25:13 +0200 Original-Received: from localhost ([::1]:43854 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bDEYy-0005AG-TU for geb-bug-gnu-emacs@m.gmane.org; Wed, 15 Jun 2016 13:25:12 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52713) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bDEPC-00045D-9i for bug-gnu-emacs@gnu.org; Wed, 15 Jun 2016 13:15:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bDEP7-0003oE-Uu for bug-gnu-emacs@gnu.org; Wed, 15 Jun 2016 13:15:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:58441) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bDEP7-0003oA-Ra for bug-gnu-emacs@gnu.org; Wed, 15 Jun 2016 13:15:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bDEP7-0002fT-P2 for bug-gnu-emacs@gnu.org; Wed, 15 Jun 2016 13:15:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: =?UTF-8?Q?=C3=93scar?= Fuentes Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 15 Jun 2016 17:15:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 6430 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: wontfix Original-Received: via spool by 6430-submit@debbugs.gnu.org id=B6430.146601087510204 (code B ref 6430); Wed, 15 Jun 2016 17:15:01 +0000 Original-Received: (at 6430) by debbugs.gnu.org; 15 Jun 2016 17:14:35 +0000 Original-Received: from localhost ([127.0.0.1]:42545 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bDEOh-0002eW-Bt for submit@debbugs.gnu.org; Wed, 15 Jun 2016 13:14:35 -0400 Original-Received: from relaycp03.dominioabsoluto.net ([217.116.26.84]:56882) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bDEOf-0002eI-Kj for 6430@debbugs.gnu.org; Wed, 15 Jun 2016 13:14:34 -0400 Original-Received: from smtp.movistar.es (smtp21.acens.net [86.109.99.145]) by relaycp03.dominioabsoluto.net (Postfix) with ESMTP id 727F4BFA1DC; Wed, 15 Jun 2016 19:14:26 +0200 (CEST) X-CTCH-RefID: str=0001.0A0B0203.57618CF2.013D, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown Original-Received: from qcore (217.125.182.141) by smtp.movistar.es (8.6.122.03) (authenticated as 981711563$telefonica.net) id 574060E70141AC63; Wed, 15 Jun 2016 17:14:26 +0000 In-Reply-To: <83y466cvfs.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 15 Jun 2016 18:40:07 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.92 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:119590 Archived-At: Eli Zaretskii writes: >> > GetLastError has nothing to do with this, because it's not an API that >> > fails, it's a program that exits with some arbitrary exit code. >> >> if( ! CreateProcess(....) ) { >> DWORD ec = GetLastError(); >> // do some cleanup >> ExitProcess(ec); >> } > > That's not how Emacs does that, see waitpid and its callers. Once again, we are miscommunicating. AFAIU this is about Emacs calling a process foo which returns an exit code larger than 255, but Emacs only reports the lower 8 bits to the Elisp function that started the process. In w32proc.c waitpid: if (!GetExitCodeProcess (wait_hnd[active], &retval)) ... retval <<= 8; Windows applications make use of the full 32 bits of the return code. With Emacs it is impossible to know those larger-than-255 exit codes.