]> code.delx.au - gnu-emacs/blobdiff - src/s/cygwin.h
Merge from emacs-24; up to 2012-04-21T14:12:27Z!sdl.web@gmail.com
[gnu-emacs] / src / s / cygwin.h
index 4d58542e660888ff39d0a34e7660a443d7af9d23..9310890351e3e4fb42e25fe94a0d1c3f9b364e10 100644 (file)
@@ -1,7 +1,6 @@
 /* System description header file for Cygwin.
 
-Copyright (C) 1985, 1986, 1992, 1999, 2002, 2003, 2004, 2005, 2006,
-  2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+Copyright (C) 1985-1986, 1992, 1999, 2002-2012 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -47,7 +46,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Define HAVE_PTYS if the system supports pty devices.  */
 #define HAVE_PTYS
-#define PTY_ITERATION          for (i = 0; i < 1; i++) /* ick */
+#define PTY_ITERATION          int i; for (i = 0; i < 1; i++) /* ick */
 #define PTY_NAME_SPRINTF       /* none */
 #define PTY_TTY_NAME_SPRINTF   /* none */
 #define PTY_OPEN                                       \
@@ -59,7 +58,8 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
       if (-1 == openpty (&fd, &dummy, pty_name, 0, 0)) \
        fd = -1;                                        \
       sigsetmask (mask);                               \
-      emacs_close (dummy);                             \
+      if (fd >= 0)                                     \
+       emacs_close (dummy);                            \
     }                                                  \
   while (0)
 
@@ -82,24 +82,11 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #define HAVE_SOCKETS
 
-/* vfork() interacts badly with setsid(), causing ptys to fail to
-   change their controlling terminal */
-#define vfork fork
-
-/* This should work (at least when compiling with gcc).  But I have no way
-   or intention to verify or even test it.  If you encounter a problem with
-   it, feel free to change this setting, but please add a comment here about
-   why it needed to be changed.  */
-#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
-
-/* Virtual addresses of pure and impure space can vary, as on Windows.  */
-#define VIRT_ADDR_VARIES
-
 /* Emacs supplies its own malloc, but glib (part of Gtk+) calls
    memalign and on Cygwin, that becomes the Cygwin-supplied memalign.
    As malloc is not the Cygwin malloc, the Cygwin memalign always
    returns ENOSYS.  A workaround is to set G_SLICE=always-malloc. */
 #define G_SLICE_ALWAYS_MALLOC
 
-/* arch-tag: 5ae7ba00-83b0-4ab3-806a-3e845779191b
-   (do not change this comment) */
+/* Send signals to subprocesses by "typing" special chars at them.  */
+#define SIGNALS_VIA_CHARACTERS