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: Re: windows build failure Date: Sat, 12 Oct 2013 16:31:09 +0300 Message-ID: <83bo2ur4yq.fsf@gnu.org> References: <83wqmeocl5.fsf@gnu.org> <83ioxynvpb.fsf@gnu.org> <87zjrae0q7.fsf@gmail.com> <83eh8mnu8h.fsf@gnu.org> <87ob7qdzxj.fsf@gmail.com> <83a9janq2l.fsf@gnu.org> <87bo3oew5i.fsf@gmail.com> <83wqmclwja.fsf@gnu.org> <8761twemxb.fsf@gmail.com> <83txhglke0.fsf@gnu.org> <871u4keezm.fsf@gmail.com> <83pps4kl3s.fsf@gnu.org> <87vc1v4lld.fsf@gmail.com> <834n9fle10.fsf@gnu.org> <87k3ib4fl7.fsf@gmail.com> <8338ozl7cd.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1381584693 20387 80.91.229.3 (12 Oct 2013 13:31:33 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 12 Oct 2013 13:31:33 +0000 (UTC) Cc: emacs-devel@gnu.org To: sean.sieger@gmail.com Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Oct 12 15:31:35 2013 Return-path: Envelope-to: ged-emacs-devel@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 1VUzI7-0005IM-AA for ged-emacs-devel@m.gmane.org; Sat, 12 Oct 2013 15:31:35 +0200 Original-Received: from localhost ([::1]:58278 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VUzI6-0008OQ-TR for ged-emacs-devel@m.gmane.org; Sat, 12 Oct 2013 09:31:34 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47837) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VUzHz-0008NO-JX for emacs-devel@gnu.org; Sat, 12 Oct 2013 09:31:33 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VUzHt-00058N-PZ for emacs-devel@gnu.org; Sat, 12 Oct 2013 09:31:27 -0400 Original-Received: from mtaout23.012.net.il ([80.179.55.175]:32793) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VUzHt-00057z-HE for emacs-devel@gnu.org; Sat, 12 Oct 2013 09:31:21 -0400 Original-Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0MUK00K005BTWM00@a-mtaout23.012.net.il> for emacs-devel@gnu.org; Sat, 12 Oct 2013 16:31:19 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MUK00KON5K7WV00@a-mtaout23.012.net.il>; Sat, 12 Oct 2013 16:31:19 +0300 (IDT) In-reply-to: <8338ozl7cd.fsf@gnu.org> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 80.179.55.175 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:164145 Archived-At: > Date: Fri, 20 Sep 2013 20:40:34 +0300 > From: Eli Zaretskii > Cc: emacs-devel@gnu.org > > > From: Sean Sieger > > Date: Fri, 20 Sep 2013 12:34:28 -0400 > > > > Does the below work as expected? > > > > emacs -Q c*.c > > > > If you do this from the src directory, you should end up with visiting > > the 14 C files that match the wildcard in the Emacs's src directory. > > What do you get in Emacs linked with the new MinGW runtime? > > > > Wait, wait, wait ... > > > > MinGW-Shell: > > > > Sean@blah /c/trunk/src/ > > $ emacs -Q c*.c > > > > ... I get the correct result. > > In the MSYS Bash, the shell does the wildcard expansion, that's why > you get correct results. > > > Command Prompt: > > > > c:\trunk\src>emacs -Q c*.c > > > > ... nope, visits the non-existent, `c*.c'. > > Right, as I expected. > > Here's why: MinGW runtime v4.x changed the layout of 'struct dirent', > the structure returned by 'readdir', in an incompatible way. Where > previously we had > [...] > What happens in Emacs as result is that the startup code calls the > Emacs implementation of 'readdir', which uses an incompatible 'struct > dirent', and the result is that globbing of wildcards is broken. I tried to fix this problem in trunk revision 114637. If you (or someone else who would like to move to the new MinGW runtime) have time, please re-test with v4.0 of the MinGW runtime. Please also try the various time-related functions, such as decode-time, encode-time, format-time-string, and current-time-string. This is because MinGW32 runtime 4.0 also moved to using a 64-bit time_t type by default, which according to my testing screws up Emacs, especially if it was built on Windows 7 and then run on XP. So for now, I forced the MinGW32 headers to use a 32-bit time_t type. This needs to be thoroughly tested, though. Thanks. > At the time, I tried to convince the MinGW developers not to do this, > here: > > http://sourceforge.net/mailarchive/message.php?msg_id=29278605 > http://sourceforge.net/mailarchive/message.php?msg_id=30712991 > http://sourceforge.net/mailarchive/message.php?msg_id=30715094 > http://sourceforge.net/mailarchive/message.php?msg_id=30854291 > > Evidently, I failed completely to convince them, as the incompatible > runtime went to print regardless, and the problems will now begin > unfolding before our eyes... Well, it turns out the MinGW developers might be listening after all, at least to some of the arguments: I'm promised that the next release of the runtime will not call opendir/readdir from the startup code. We shall see...