diff -ru xemacs-21.5.28.20070726.orig/src/eval.c xemacs-21.5.28.20070726/src/eval.c --- xemacs-21.5.28.20070726.orig/src/eval.c 2007-07-26 15:22:25.000000000 +0200 +++ xemacs-21.5.28.20070726/src/eval.c 2007-07-26 17:15:07.000000000 +0200 @@ -136,6 +136,7 @@ */ #include +#include #include "lisp.h" #include "commands.h" @@ -6007,7 +6008,7 @@ Lisp_Object opaque = XCAR (cons); Lisp_Object lval = XCDR (cons); int *addr = (int *) get_opaque_ptr (opaque); - int val; + intptr_t val; /* In the event that a C integer will always fit in an Emacs int, we haven't ever stored a C integer as an opaque pointer. This #ifdef @@ -6020,7 +6021,7 @@ } else { - val = (int) get_opaque_ptr (lval); + val = (intptr_t) get_opaque_ptr (lval); free_opaque_ptr (lval); } #else /* !(INT_VALBITS < INTBITS) */ diff -ru xemacs-21.5.28.20070726.orig/src/event-unixoid.c xemacs-21.5.28.20070726/src/event-unixoid.c --- xemacs-21.5.28.20070726.orig/src/event-unixoid.c 2007-07-26 15:22:25.000000000 +0200 +++ xemacs-21.5.28.20070726/src/event-unixoid.c 2007-07-26 17:16:53.000000000 +0200 @@ -27,6 +27,7 @@ /* This file has been Mule-ized. */ #include +#include #include "lisp.h" #include "console-stream-impl.h" @@ -362,9 +363,9 @@ the process implementation being used. */ /* We are passed plain old file descs, which are ints, so */ /* if sizeof(EMACS_INT) > sizeof(int) it's OK. */ - infd = (EMACS_INT) inhandle; - outfd = (EMACS_INT) outhandle; - errfd = (EMACS_INT) errhandle; + infd = (EMACS_INT) (intptr_t) inhandle; + outfd = (EMACS_INT) (intptr_t) outhandle; + errfd = (EMACS_INT) (intptr_t) errhandle; *instream = (infd >= 0 ? make_filedesc_input_stream (infd, 0, -1, 0) diff -ru xemacs-21.5.28.20070726.orig/src/process-unix.c xemacs-21.5.28.20070726/src/process-unix.c --- xemacs-21.5.28.20070726.orig/src/process-unix.c 2007-07-26 15:22:26.000000000 +0200 +++ xemacs-21.5.28.20070726/src/process-unix.c 2007-07-26 17:19:24.000000000 +0200 @@ -31,6 +31,7 @@ written by Wolfgang S. Rupprecht */ #include +#include #if !defined (NO_SUBPROCESSES) @@ -847,8 +848,8 @@ void *err, int UNUSED (flags)) { /* if sizeof(EMACS_INT) > sizeof(int) this truncates the value */ - UNIX_DATA(p)->infd = (EMACS_INT) in; - UNIX_DATA(p)->errfd = (EMACS_INT) err; + UNIX_DATA(p)->infd = (EMACS_INT) (intptr_t) in; + UNIX_DATA(p)->errfd = (EMACS_INT) (intptr_t) err; } /* Move the file descriptor FD so that its number is not less than MIN. *