From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.os.cygwin,gmane.emacs.devel Subject: Re: New platform independent problem Date: Fri, 20 Jan 2006 13:08:50 +0200 Message-ID: References: <43D0797C.1030604@it.to-be.co.jp> Reply-To: Eli Zaretskii NNTP-Posting-Host: main.gmane.org X-Trace: sea.gmane.org 1137755429 857 80.91.229.2 (20 Jan 2006 11:10:29 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 20 Jan 2006 11:10:29 +0000 (UTC) Cc: emacs-devel@gnu.org, cygwin@cygwin.com Original-X-From: cygwin-return-117749-goc-cygwin=m.gmane.org@cygwin.com Fri Jan 20 12:10:25 2006 Return-path: Envelope-to: goc-cygwin@gmane.org Original-Received: from sourceware.org ([209.132.176.174]) by ciao.gmane.org with smtp (Exim 4.43) id 1Ezu9l-0005f7-5Q for goc-cygwin@gmane.org; Fri, 20 Jan 2006 12:10:13 +0100 Original-Received: (qmail 24498 invoked by alias); 20 Jan 2006 11:08:54 -0000 Original-Received: (qmail 24384 invoked by uid 22791); 20 Jan 2006 11:08:54 -0000 X-Spam-Check-By: sourceware.org Original-Received: from romy.inter.net.il (HELO romy.inter.net.il) (192.114.186.66) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 20 Jan 2006 11:08:51 +0000 Original-Received: from HOME-C4E4A596F7 (IGLD-80-230-64-251.inter.net.il [80.230.64.251]) by romy.inter.net.il (MOS 3.7.3-GA) with ESMTP id DKD55676 (AUTH halo1); Fri, 20 Jan 2006 13:08:45 +0200 (IST) Original-To: djh In-reply-to: <43D0797C.1030604@it.to-be.co.jp> (message from djh on Fri, 20 Jan 2006 14:47:40 +0900) Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Original-Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Xref: news.gmane.org gmane.os.cygwin:73969 gmane.emacs.devel:49310 Archived-At: > Date: Fri, 20 Jan 2006 14:47:40 +0900 > From: djh > > In December of last year, 2005, the cygwin developers deprecated d_ino > out of the dirent.h defined dirent structure. > > This break emac's dired.c (from compiling) > > Ref: http://www.cygwin.com/ml/cygwin/2005-12/msg00205.html Without knowing the full details, I'd risk saying that this was not the best decision. Is there really no way of making d_ino be consistent with what `stat' returns about the same directory? In any case, I think removing the member is a solution that is much worse than the problem: many programs refer to d_ino, but don't require too much from its contents. These programs will now fail to compile. I don't think that the goal of educating the maintainers of Bash and Find (a worthy goal in itself) justifies breaking the other packages. If making d_ino consistent with st_ino is impossible, a better way of dealing with problems in Bash and Find is to make changes in those packages' sources that are specific to Cygwin. > This change causes a "make bootstrap" error in building my emacs vers. > 22.0.50 source. > > "gcc -c -Demacs -DHAVE_CONFIG_H -DUSE_GTK -I. ..snipped...-O2 dired.c > dired.c: In function `directory_files_internal': > dired.c:230: error: structure has no member named `d_ino' > dired.c: In function `file_name_completion': > dired.c:538: error: structure has no member named `d_ino' > make[1]: *** [dired.o] Error 1 " > > Under the prior version of cygwin this built successfully. > > I unfortunatley am not expert enough to suggest any fixes for this, but, > I wanted to bring it to your attension to those of you out there who are > and want emacs to continue to be usable on the newer version of cygwin. The immediate fix seems to be to modify the definition of DIRENTRY_NONEMPTY for Cygwin so that it uses the same trick as on MS-DOS. (Isn't it sad that Cygwin needs old MS-DOS era tricks?)