Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Message-ID: <3841EA8D.62A3604D@mdlink.de> Date: Mon, 29 Nov 1999 03:53:01 +0100 From: Helge Hess Organization: MDlink online service center GmbH X-Mailer: Mozilla 4.7 [en] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 To: mlx AT san DOT rr DOT com CC: "Larry Hall (RFK Partners, Inc)" , cygwin AT sourceware DOT cygnus DOT com Subject: Re: windows.h breaks ObjC ? References: <3 DOT 0 DOT 5 DOT 32 DOT 19991128183022 DOT 00ab6100 AT pop DOT ma DOT ultranet DOT com> <9911290226 DOT AA08186 AT mlx DOT com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit MarketLogix wrote: > > 1. I understand that M$ has its need of the "interface" label. > > 2. This is NOT the problem. > > 3. "interface" is distinct from "@interface". Maybe this is the misconception, these two are *not* distinct from the preprocessor's point of view. > 4. No problem with the global name space yet. > > Right ? I don't think so. > 5. Now all of a sudden in the new Cygnus windows api headers > we get this bad boy: > > #define interface struct As you already found out yourself, this is no real problem as this can be undefined/redefined. > What the heck nobody really codes in ObjC anymore anyway right ? No. This is an API compability problem found with a lot of other libraries as well and this problem is rooted in C's concept of defines. > Ah, they didn't create #undef for nothing ... RIGHT ? Yepp. > The first baby steps toward breaking Objective-C compatibility > within Cygwin sources. I think you are overreacting, you can't really 'break' Objective-C compatibility since it is complete ANSI-C and you would have exactly the same problems when using plain ANSI-C (with some other lib). You can easily 'unbreak' this using a small header file. Actually windows.h of cygwin tries to emulate the M$ stuff and therefore needs to provide these macros. If the people are kind they can provide appropriate wrapper headers (eg objc/windows.h or #ifdef OBJC), but personally I don't think this is really necessary. Greetings Helge -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com