From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: w32_abort can return Date: Sat, 11 Jun 2005 23:43:22 +0300 Message-ID: Reply-To: Eli Zaretskii NNTP-Posting-Host: main.gmane.org X-Trace: sea.gmane.org 1118522481 13848 80.91.229.2 (11 Jun 2005 20:41:21 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 11 Jun 2005 20:41:21 +0000 (UTC) Cc: andrewi@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jun 11 22:41:20 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1DhCn1-00066p-0J for ged-emacs-devel@m.gmane.org; Sat, 11 Jun 2005 22:41:11 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DhCrS-0007Qj-Td for ged-emacs-devel@m.gmane.org; Sat, 11 Jun 2005 16:45:46 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DhCr6-0007L3-Fj for emacs-devel@gnu.org; Sat, 11 Jun 2005 16:45:24 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DhCr4-0007K0-NJ for emacs-devel@gnu.org; Sat, 11 Jun 2005 16:45:22 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DhCr4-0007JN-Ew for emacs-devel@gnu.org; Sat, 11 Jun 2005 16:45:22 -0400 Original-Received: from [192.114.186.24] (helo=legolas.inter.net.il) by monty-python.gnu.org with esmtp (Exim 4.34) id 1DhCpp-0008L5-ER; Sat, 11 Jun 2005 16:44:05 -0400 Original-Received: from HOME-C4E4A596F7 (IGLD-80-230-88-38.inter.net.il [80.230.88.38]) by legolas.inter.net.il (MOS 3.5.8-GR) with ESMTP id EOY26576 (AUTH halo1); Sat, 11 Jun 2005 23:43:20 +0300 (IDT) Original-To: emacs-devel@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:38595 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:38595 The W32 build of Emacs redefines `abort' thusly: #define abort w32_abort on s/ms-w32.h, and then defines `w32_abort' on w32fns.c. Since config.h is included before all the other headers, when the compiler sees stdlib.h, where there's a prototype of `abort', it thinks that `w32_abort' is a function that doesn't return, because `abort' is declared in stdlib.h as such. However, `w32_abort' does in fact return, if the user clicks "Ignore" on the dialog it pops up. This causes the compiler to produce incorrect code for every place where Emacs calls `abort'. It also causes a warning when compiling w32fns.c, which is how I became aware of the problem in the first place. I don't see any easy way of solving this problem except if we modify `w32_abort' to never return, even if the user clicks "Ignore". Personally, I don't see any reason to support the Ignore option. Is it okay to call, e.g., `exit' in that case instead of returning? TIA