emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: fixing non-NS darwin (was: Re: your emacs/src/keyboard.h change)


From: Adrian Robert
Subject: Re: fixing non-NS darwin (was: Re: your emacs/src/keyboard.h change)
Date: Sun, 3 Aug 2008 12:41:22 -0400


On Aug 3, 2008, at 11:59 AM, Dan Nicolaescu wrote:

This code in emacs.c is not right:

#if defined (NS_IMPL_COCOA)
 if (!initialized)
   unexec_init_emacs_zone ();
#endif

it should be done on all MacOSX configs.

I've been looking at this, and made a diff of before and after remove- carbon to see what else might have been affected, since I never realized that the undef MAC_OSX wasn't working.


While at it, can you please get rid of  -DMAC_OSX from src/s/darwin.h?

After some discussion with other developers, I think there will need to be some kind of #define there, analogous to WINDOWSNT in s/ms- w32.h, GNU_LINUX in s/gnu-linux.h, etc.. MAC_OSX is wrong because it could be a non-OS X Darwin system. DARWIN is wrong because that is apparently defined by the system includes and/or compiler on non-OS X Darwin (see below). I don't think just the BSD4_2 that's in darwin.h is specific enough.

I am thinking something like DARWIN_BASED_OS?



And also the -Dtemacs ? (AFAICT just using #ifdef emacs instead
#ifdef temacs has exactly the same effect)

It looks like the entire C_SWITCH_SYSTEM_TEMACS is unused, but LD_SWITCH_SYSTEM_TEMACS *is* used, so perhaps it is kept around for completeness? I'll get rid of the line in darwin.h.


And please add documentation to admin/CPP-DEFINES for the DARWIN macro.

This is not defined anywhere in emacs, but there was this section in an earlier version of darwin.h:

#if 0 /* Don't define DARWIN on Mac OS X because CoreFoundation.h uses
        it to distinguish Mac OS X from bare Darwin.  */
#ifndef DARWIN
#define DARWIN 1
#endif
#endif

Does anyone know where this IS defined? Also, I've been unable to find a version of CoreFoundation.h that makes the check referred to.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]