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]