unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
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

             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).