diff options
| -rw-r--r-- | src/ChangeLog | 8 | ||||
| -rw-r--r-- | src/makefile.w32-in | 1 | ||||
| -rw-r--r-- | src/w32fns.c | 10 |
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); |
