]> code.delx.au - gnu-emacs/blobdiff - src/s/darwin.h
Remove NOMULTIPLEJOBS, unused.
[gnu-emacs] / src / s / darwin.h
index 1aefb6bbf09b81bfac234880973b5b36395d7647..016ed343f06af1911baaa6a8ad85404e265d37b3 100644 (file)
@@ -1,6 +1,6 @@
 /* System description header file for Darwin (Mac OS X).
    Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-                 2008 Free Software Foundation, Inc.
+                 2008, 2009, 2010 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -90,6 +90,24 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
  */
 
 #define HAVE_PTYS
+/* Run only once.  We need a `for'-loop because the code uses
+   `continue'.  */
+#define PTY_ITERATION  for (i = 0; i < 1; i++)
+#define PTY_NAME_SPRINTF       /* none */
+#define PTY_TTY_NAME_SPRINTF   /* none */
+/* Note that openpty may fork via grantpt on Mac OS X 10.4/Darwin 8.
+   But we don't have to block SIGCHLD because it is blocked in the
+   implementation of grantpt.  */
+#define PTY_OPEN                                               \
+  do                                                           \
+    {                                                          \
+      int slave;                                               \
+      if (openpty (&fd, &slave, pty_name, NULL, NULL) == -1)   \
+       fd = -1;                                                \
+      else                                                     \
+       emacs_close (slave);                                    \
+    }                                                          \
+  while (0)
 
 /**
  * PTYs only work correctly on Darwin 7 or higher.  So make the
@@ -133,15 +151,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
 #define HAVE_SOCKETS
 
-/* This seems to help in Ctrl-G detection under Cocoa, however at the cost
-   of some quirks that may or may not bother a given user.
-   It was earlier commented that "In Carbon, asynchronous I/O (using SIGIO)
-   can't be used for window events because they don't come from sockets,
-   even though it works fine on tty's.  Uncertain about situation in Cocoa. */
-#ifdef COCOA_EXPERIMENTAL_CTRL_G
-#define NO_SOCK_SIGIO
-#endif
-
 /* Definitions for how to dump.  Copied from nextstep.h.  */
 
 #define UNEXEC unexmacosx.o
@@ -174,12 +183,13 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
    each); under Cocoa 31 commands are required.  */
 #define LD_SWITCH_SYSTEM_TEMACS -prebind LIBS_NSGUI -Xlinker -headerpad -Xlinker HEADERPAD_EXTRA
 
-#define C_SWITCH_SYSTEM_TEMACS -Dtemacs
-
-#ifdef temacs
+#ifdef emacs
 #define malloc unexec_malloc
 #define realloc unexec_realloc
 #define free unexec_free
+/* Don't use posix_memalign because it is not compatible with
+   unexmacosx.c.  */
+#undef HAVE_POSIX_MEMALIGN
 #endif
 
 /* The ncurses library has been moved out of the System framework in
@@ -195,9 +205,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 /* Link this program just by running cc.  */
 #define ORDINARY_LINK
 
-/* We don't have a g library, so override the -lg LIBS_DEBUG switch.  */
-#define LIBS_DEBUG
-
 /* Adding -lm confuses the dynamic linker, so omit it.  */
 #define LIB_MATH