summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog8
-rw-r--r--src/makefile.w32-in1
-rw-r--r--src/w32fns.c10
3 files changed, 18 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index d0f42dd2394..1924c08cacb 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -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.
diff --git a/src/makefile.w32-in b/src/makefile.w32-in
index 5be1ccb70df..9df5dedb7ea 100644
--- a/src/makefile.w32-in
+++ b/src/makefile.w32-in
@@ -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) \
diff --git a/src/w32fns.c b/src/w32fns.c
index 74bb2375ea5..18e29ecaaf5 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -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);