]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix bug #12805 with compilation error in the cygw32 build.
authorEli Zaretskii <eliz@gnu.org>
Mon, 5 Nov 2012 16:30:45 +0000 (18:30 +0200)
committerEli Zaretskii <eliz@gnu.org>
Mon, 5 Nov 2012 16:30:45 +0000 (18:30 +0200)
 src/makefile.w32-in ($(BLD)/w32fns.$(O)): Depend on $(NT_INC)/unistd.h.
 src/w32fns.c Include unistd.h, to avoid compiler warnings on Cygwin.
 (emacs_abort) [CYGWIN]: Don't call _open_osfhandle; instead, use
 file descriptor 2 for standard error.

src/ChangeLog
src/makefile.w32-in
src/w32fns.c

index d0f42dd2394411961beda2cc4f4ff65422bd3984..1924c08cacb5d0bebda7698fac2d674cc1defbc7 100644 (file)
@@ -1,3 +1,11 @@
+2012-11-05  Eli Zaretskii  <eliz@gnu.org>
+
+       * makefile.w32-in ($(BLD)/w32fns.$(O)): Depend on $(NT_INC)/unistd.h.
+
+       * w32fns.c Include unistd.h, to avoid compiler warnings on Cygwin.
+       (emacs_abort) [CYGWIN]: Don't call _open_osfhandle; instead, use
+       file descriptor 2 for standard error.
+
 2012-11-05  Chong Yidong  <cyd@gnu.org>
 
        * process.c (wait_reading_process_output): Revert previous change.
index 5be1ccb70df8672db73b09e4b37ab4a118043c96..9df5dedb7ea1c98c205600fd755c639478611a69 100644 (file)
@@ -1564,6 +1564,7 @@ $(BLD)/w32fns.$(O) : \
        $(SRC)/w32.h \
        $(SRC)/w32common.h \
        $(SRC)/w32heap.h \
+       $(NT_INC)/unistd.h \
        $(BUFFER_H) \
        $(CCL_H) \
        $(CHARACTER_H) \
index 74bb2375ea5e52dd199c1e69531e41aa167c8da4..18e29ecaaf556b64014be56d10b0bbaf12dd1a9b 100644 (file)
@@ -27,6 +27,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #include <errno.h>
 #include <math.h>
 #include <fcntl.h>
+#include <unistd.h>
 
 #include "lisp.h"
 #include "w32term.h"
@@ -7749,12 +7750,19 @@ emacs_abort (void)
 
        if (i)
          {
+#ifdef CYGWIN
+           int stderr_fd = 2;
+#else
            HANDLE errout = GetStdHandle (STD_ERROR_HANDLE);
-           int stderr_fd = -1, errfile_fd = -1;
+           int stderr_fd = -1;
+#endif
+           int errfile_fd = -1;
            int j;
 
+#ifndef CYGWIN
            if (errout && errout != INVALID_HANDLE_VALUE)
              stderr_fd = _open_osfhandle ((intptr_t)errout, O_APPEND | O_BINARY);
+#endif
            if (stderr_fd >= 0)
              write (stderr_fd, "\r\nBacktrace:\r\n", 14);
            errfile_fd = _open ("emacs_backtrace.txt", O_RDWR | O_CREAT | O_BINARY, S_IREAD | S_IWRITE);