From: Adrian Robert <arobert@cogsci.ucsd.edu>
Subject: #defines and MacOS X
Date: Thu, 27 Oct 2005 13:18:31 -0400 [thread overview]
Message-ID: <FA343646-E9DE-4498-BAFA-40AC02181290@cogsci.ucsd.edu> (raw)
Hi,
I've been working on the Emacs.app GNUstep/Cocoa (Nextstep) port of
Emacs, using the unicode-2 branch -- initial release expected in the
next couple of weeks. One issue that comes up is #ifdef constant
naming semantics, because the both ports have historically assumed
they are the only windowing system port on the Mac, and therefore
used constants like "MAC_OS" to delineate their code.
In particular, the Carbon port uses:
MAC_OS
- sometimes relevant to all MacOS, but sometimes just relevant to the
Carbon port on 8/9 and X
MAC_OSX
- sometimes relevant to Darwin and/or OS X, but sometimes just
relevant to Carbon on OS X
TARGET_API_MAC_CARBON
- relevant to Carbon port on OS X only
USE_CARBON_EVENTS
- pertaining to historical use of differing event mechanisms in
Carbon on OS X
Meanwhile, I already updated the Nextstep port to avoid this problem
using:
HAVE_NS
- relevant to NeXTstep window system (on either GNUstep or OS X/Cocoa)
GNUSTEP
- relevant to GNUstep only
COCOA
- relevant to Cocoa / OS X only
I want to change the use of MAC_OS and MAC_OSX to indicate the
operating system, not the GUI API used on it. Therefore, we would get:
MAC_OS_8, MAC_OS_9
- non-graphical code relevant on MacOS 8/9
DARWIN
- non-graphical code relevant on MacOS X, as well as other Darwin
BSD distributions
MAC_OSX
- non-graphical code relevant only on MacOS X
---------
MAC_TOOLBOX
- code relevant to the Classic and Carbon ports on MacOS
CLASSIC
- graphical code for MacOS 8/9 only
CARBON
- graphical code for MacOS X only
HAVE_CARBON_EVENTS
- as before
Obviously there's more than one way to do this (using combinations,
etc.), and I'm in no way wedded to the above proposal. If anyone has
suggestions or preferences, please say so.
Whatever is agreed upon, I'm willing to generate the patches for both
HEAD and the unicode-2 branch.
thanks,
Adrian
next reply other threads:[~2005-10-27 17:18 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-10-27 17:18 Adrian Robert [this message]
2005-10-28 2:28 ` #defines and MacOS X YAMAMOTO Mitsuharu
2005-10-28 15:11 ` Adrian Robert
2005-10-28 8:36 ` Kim F. Storm
2005-10-28 11:22 ` Miles Bader
2005-10-28 11:48 ` Kim F. Storm
2005-10-28 15:22 ` Adrian Robert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=FA343646-E9DE-4498-BAFA-40AC02181290@cogsci.ucsd.edu \
--to=arobert@cogsci.ucsd.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).