Commit 03d24a82 authored by Kenichi Handa's avatar Kenichi Handa

merge trunk

parents b278604e 27067208
2012-10-17 Glenn Morris <rgm@gnu.org>
* mini.texi (Repetition): Further copyedit.
2012-10-17 Dani Moncayo <dmoncayo@gmail.com>
* mini.texi (Repetition): Copyedit.
2012-10-16 Juri Linkov <juri@jurta.org> 2012-10-16 Juri Linkov <juri@jurta.org>
* search.texi (Query Replace): Document multi-buffer replacement * search.texi (Query Replace): Document multi-buffer replacement
......
...@@ -683,13 +683,13 @@ the text for that expression. Even if you don't know Lisp, it will ...@@ -683,13 +683,13 @@ the text for that expression. Even if you don't know Lisp, it will
probably be obvious which command is displayed for repetition. If you probably be obvious which command is displayed for repetition. If you
type just @key{RET}, that repeats the command unchanged. You can also type just @key{RET}, that repeats the command unchanged. You can also
change the command by editing the Lisp expression before you execute change the command by editing the Lisp expression before you execute
it. The repeated command is added to the front of the command history it. The executed command is added to the front of the command history
unless it is identical to the most recent item. unless it is identical to the most recent item.
Once inside the minibuffer for @kbd{C-x @key{ESC} @key{ESC}}, you Once inside the minibuffer for @kbd{C-x @key{ESC} @key{ESC}}, you
can use the usual minibuffer history commands (@pxref{Minibuffer can use the usual minibuffer history commands (@pxref{Minibuffer
History}) to move through the history list. After finding the desired History}) to move through the history list. After finding the desired
previous command, you can edit its expression as usual and then repeat previous command, you can edit its expression as usual and then execute
it by typing @key{RET}. it by typing @key{RET}.
@vindex isearch-resume-in-command-history @vindex isearch-resume-in-command-history
......
2012-10-17 Eli Zaretskii <eliz@gnu.org>
* ntlib.c: Include <mbstring.h>, to avoid compiler warning about
_mbspbrk.
2012-10-08 Eli Zaretskii <eliz@gnu.org> 2012-10-08 Eli Zaretskii <eliz@gnu.org>
* makefile.w32-in (obj): Add cygw32.o. * makefile.w32-in (obj): Add cygw32.o.
......
...@@ -30,6 +30,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ ...@@ -30,6 +30,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <errno.h> #include <errno.h>
#include <ctype.h> #include <ctype.h>
#include <sys/timeb.h> #include <sys/timeb.h>
#include <mbstring.h>
#include "ntlib.h" #include "ntlib.h"
......
2012-10-17 Eli Zaretskii <eliz@gnu.org>
* inc/pwd.h (getuid, geteuid): Add prototypes.
* inc/ms-w32.h (sys_wait, _getpid, gmtgime_r, localtime_r)
(signal_handler, sys_signal, sigemptyset, sigfillset, sigprocmask)
(pthread_sigmask, sigismember, setpgrp, sigaction, alarm)
(sys_kill, getpagesize): Add prototypes for emulated functions.
* inc/grp.h (getgid, getegid): Add prototypes.
* gmake.defs (DEBUG_CFLAGS) [NOOPT]: Add -std=gnu99.
* configure.bat (chkapiN): Avoid compiler warning in junk.c when
compiling with -std=gnu99.
* config.nt (CHECK_LISP_OBJECT_TYPE): Don't undef, so that it
could be used via --cflags switch to configure.bat.
2012-10-08 Juanma Barranquero <lekktu@gmail.com> 2012-10-08 Juanma Barranquero <lekktu@gmail.com>
* config.nt: Sync with autogen/config.in. * config.nt: Sync with autogen/config.in.
......
...@@ -76,7 +76,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ ...@@ -76,7 +76,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#undef CANNOT_DUMP #undef CANNOT_DUMP
/* Define this to enable compile time checks for the Lisp_Object data type. */ /* Define this to enable compile time checks for the Lisp_Object data type. */
#undef CHECK_LISP_OBJECT_TYPE /* #undef CHECK_LISP_OBJECT_TYPE */
/* Define if you want lock files to be written, so that Emacs can tell /* Define if you want lock files to be written, so that Emacs can tell
instantly when you try to modify a file that someone else has modified in instantly when you try to modify a file that someone else has modified in
......
...@@ -429,7 +429,7 @@ rem ...@@ -429,7 +429,7 @@ rem
echo Checking whether Windows API headers are too old... echo Checking whether Windows API headers are too old...
echo #include "windows.h" >junk.c echo #include "windows.h" >junk.c
echo #include "usp10.h" >>junk.c echo #include "usp10.h" >>junk.c
echo test(PIMAGE_NT_HEADERS pHeader) >>junk.c echo void test(PIMAGE_NT_HEADERS pHeader) >>junk.c
echo {PIMAGE_SECTION_HEADER pSection = IMAGE_FIRST_SECTION(pHeader);} >>junk.c echo {PIMAGE_SECTION_HEADER pSection = IMAGE_FIRST_SECTION(pHeader);} >>junk.c
if (%nocygwin%) == (Y) goto chkapi1 if (%nocygwin%) == (Y) goto chkapi1
set cf=%usercflags% set cf=%usercflags%
......
...@@ -211,7 +211,7 @@ OBJ1_c = $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(OBJ1)) ...@@ -211,7 +211,7 @@ OBJ1_c = $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(OBJ1))
OBJ2_c = $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(OBJ2)) OBJ2_c = $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(OBJ2))
ifdef NOOPT ifdef NOOPT
DEBUG_CFLAGS = -DEMACSDEBUG -fno-crossjumping DEBUG_CFLAGS = -DEMACSDEBUG -fno-crossjumping -std=gnu99
else else
DEBUG_CFLAGS = DEBUG_CFLAGS =
endif endif
......
...@@ -28,7 +28,10 @@ struct group { ...@@ -28,7 +28,10 @@ struct group {
gid_t gr_gid; /* group numerical ID */ gid_t gr_gid; /* group numerical ID */
}; };
struct group *getgrgid(gid_t); extern unsigned getgid (void);
extern unsigned getegid (void);
extern struct group *getgrgid(gid_t);
#endif /* _GRP_H */ #endif /* _GRP_H */
...@@ -120,21 +120,6 @@ extern char *getenv (); ...@@ -120,21 +120,6 @@ extern char *getenv ();
#endif #endif
#include <sys/types.h> #include <sys/types.h>
#ifdef _MSC_VER
typedef int sigset_t;
typedef int ssize_t;
#endif
struct sigaction {
int sa_flags;
void (_CALLBACK_ *sa_handler)(int);
sigset_t sa_mask;
};
#define SA_RESTART 0
#define SIG_BLOCK 1
#define SIG_SETMASK 2
#define SIG_UNBLOCK 3
#ifndef MAXPATHLEN #ifndef MAXPATHLEN
#define MAXPATHLEN _MAX_PATH #define MAXPATHLEN _MAX_PATH
#endif #endif
...@@ -207,6 +192,8 @@ struct sigaction { ...@@ -207,6 +192,8 @@ struct sigaction {
/* Internal signals. */ /* Internal signals. */
#define emacs_raise(sig) emacs_abort() #define emacs_raise(sig) emacs_abort()
extern int sys_wait (int *);
/* termcap.c calls that are emulated. */ /* termcap.c calls that are emulated. */
#define tputs sys_tputs #define tputs sys_tputs
#define tgetstr sys_tgetstr #define tgetstr sys_tgetstr
...@@ -251,6 +238,9 @@ typedef int pid_t; ...@@ -251,6 +238,9 @@ typedef int pid_t;
#define stricmp _stricmp #define stricmp _stricmp
#define tzset _tzset #define tzset _tzset
/* We cannot include system header process.h, since there's src/process.h. */
int _getpid (void);
/* Include time.h before redirecting tzname, since MSVC's time.h /* Include time.h before redirecting tzname, since MSVC's time.h
defines _tzname to call a function, but also declares tzname a defines _tzname to call a function, but also declares tzname a
2-element array. Having the redirection before including the 2-element array. Having the redirection before including the
...@@ -272,6 +262,10 @@ struct timespec ...@@ -272,6 +262,10 @@ struct timespec
long int tv_nsec; /* nanoseconds */ long int tv_nsec; /* nanoseconds */
}; };
/* Required for functions in lib/time_r.c, since we don't use lib/time.h. */
extern struct tm *gmtime_r (time_t const * restrict, struct tm * restrict);
extern struct tm *localtime_r (time_t const * restrict, struct tm * restrict);
/* This is hacky, but is necessary to avoid warnings about macro /* This is hacky, but is necessary to avoid warnings about macro
redefinitions using the SDK compilers. */ redefinitions using the SDK compilers. */
#ifndef __STDC__ #ifndef __STDC__
...@@ -300,6 +294,37 @@ struct timespec ...@@ -300,6 +294,37 @@ struct timespec
#define NSIG 23 #define NSIG 23
#endif #endif
#ifdef _MSC_VER
typedef int sigset_t;
typedef int ssize_t;
#endif
typedef void (_CALLBACK_ *signal_handler) (int);
extern signal_handler sys_signal (int, signal_handler);
struct sigaction {
int sa_flags;
void (_CALLBACK_ *sa_handler)(int);
sigset_t sa_mask;
};
#define SA_RESTART 0
#define SIG_BLOCK 1
#define SIG_SETMASK 2
#define SIG_UNBLOCK 3
extern int sigemptyset (sigset_t *);
extern int sigaddset (sigset_t *, int);
extern int sigfillset (sigset_t *);
extern int sigprocmask (int, const sigset_t *, sigset_t *);
extern int pthread_sigmask (int, const sigset_t *, sigset_t *);
extern int sigismember (const sigset_t *, int);
extern int setpgrp (int, int);
extern int sigaction (int, const struct sigaction *, struct sigaction *);
extern int alarm (int);
extern int sys_kill (int, int);
/* For integration with MSDOS support. */ /* For integration with MSDOS support. */
#define getdisk() (_getdrive () - 1) #define getdisk() (_getdrive () - 1)
#ifdef emacs #ifdef emacs
...@@ -357,6 +382,7 @@ extern char *get_emacs_configuration_options (void); ...@@ -357,6 +382,7 @@ extern char *get_emacs_configuration_options (void);
#endif #endif
extern int getloadavg (double *, int); extern int getloadavg (double *, int);
extern int getpagesize (void);
#if defined (__MINGW32__) #if defined (__MINGW32__)
......
...@@ -18,8 +18,11 @@ struct passwd { ...@@ -18,8 +18,11 @@ struct passwd {
typedef unsigned uid_t; typedef unsigned uid_t;
typedef uid_t gid_t; typedef uid_t gid_t;
struct passwd * getpwnam (char *); extern unsigned getuid (void);
struct passwd * getpwuid (unsigned); extern unsigned geteuid (void);
extern struct passwd * getpwnam (char *);
extern struct passwd * getpwuid (unsigned);
#endif /* _PWD_H_ */ #endif /* _PWD_H_ */
......
2012-10-17 Eli Zaretskii <eliz@gnu.org>
* makefile.w32-in ($(BLD)/w32.$(O)):
($(BLD)/vm-limit.$(O)):
($(BLD)/term.$(O)):
($(BLD)/unexw32.$(O)):
($(BLD)/fileio.$(O)):
($(BLD)/dispnew.$(O)): Update dependencies.
* w32term.h (w32_initialize_display_info, initialize_w32_display):
Add prototypes.
* w32proc.c: Include ctype.h.
* w32.h (init_environment, check_windows_init_file)
(syms_of_ntproc, syms_of_ntterm, dostounix_filename)
(unixtodos_filename, init_winsock, srandom, random, sys_pipe)
(set_process_dir, sys_spawnve, register_child, sys_sleep, getwd)
(sys_link): Add prototypes.
* w32.c: Include w32select.h.
(sys_access, e_malloc, sys_select): Add prototypes.
(emacs_gnutls_pull): 'timeout' is now EMACS_TIME, not struct timeval.
* vm-limit.c [WINDOWSNT]: Include w32heap.h.
* unexw32.c: Include lisp.h and w32.h.
* term.c [WINDOWSNT]: Include w32term.h.
* process.c [WINDOWSNT]: Add prototype of sys_select.
* fileio.c [WINDOWSNT]: Include w32.h.
* dispnew.c [WINDOWSNT]: Include w32.h.
* cygw32.c (Fcygwin_convert_path_to_windows)
(Fcygwin_convert_path_from_windows): Use EQ to compare 2
Lisp_Object values. (Bug#12661)
* w32fns.c (w32_msg_pump): Use XIL instead of casting an integer
to Lisp_Object. (Bug#12661)
2012-10-17 Kenichi Handa <handa@gnu.org> 2012-10-17 Kenichi Handa <handa@gnu.org>
* xdisp.c (reseat_1): Make the information stored in it->cmp_it * xdisp.c (reseat_1): Make the information stored in it->cmp_it
......
...@@ -145,7 +145,7 @@ DEFUN ("cygwin-convert-path-to-windows", ...@@ -145,7 +145,7 @@ DEFUN ("cygwin-convert-path-to-windows",
(Lisp_Object path, Lisp_Object absolute_p) (Lisp_Object path, Lisp_Object absolute_p)
{ {
return from_unicode ( return from_unicode (
conv_filename_to_w32_unicode (path, absolute_p == Qnil ? 0 : 1)); conv_filename_to_w32_unicode (path, EQ (absolute_p, Qnil) ? 0 : 1));
} }
DEFUN ("cygwin-convert-path-from-windows", DEFUN ("cygwin-convert-path-from-windows",
...@@ -156,7 +156,7 @@ DEFUN ("cygwin-convert-path-from-windows", ...@@ -156,7 +156,7 @@ DEFUN ("cygwin-convert-path-from-windows",
(Lisp_Object path, Lisp_Object absolute_p) (Lisp_Object path, Lisp_Object absolute_p)
{ {
return conv_filename_from_w32_unicode (to_unicode (path, &path), return conv_filename_from_w32_unicode (to_unicode (path, &path),
absolute_p == Qnil ? 0 : 1); EQ (absolute_p, Qnil) ? 0 : 1);
} }
void void
......
...@@ -60,6 +60,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ ...@@ -60,6 +60,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#if defined (HAVE_TERM_H) && defined (GNU_LINUX) #if defined (HAVE_TERM_H) && defined (GNU_LINUX)
#include <term.h> /* for tgetent */ #include <term.h> /* for tgetent */
#endif #endif
#ifdef WINDOWSNT
#include "w32.h"
#endif
/* Structure to pass dimensions around. Used for character bounding /* Structure to pass dimensions around. Used for character bounding
boxes, glyph matrix dimensions and alike. */ boxes, glyph matrix dimensions and alike. */
......
...@@ -53,6 +53,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ ...@@ -53,6 +53,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <windows.h> #include <windows.h>
#include <fcntl.h> #include <fcntl.h>
#include <sys/file.h> #include <sys/file.h>
#include "w32.h"
#endif /* not WINDOWSNT */ #endif /* not WINDOWSNT */
#ifdef MSDOS #ifdef MSDOS
......
...@@ -735,6 +735,7 @@ $(BLD)/dispnew.$(O) : \ ...@@ -735,6 +735,7 @@ $(BLD)/dispnew.$(O) : \
$(SRC)/disptab.h \ $(SRC)/disptab.h \
$(SRC)/indent.h \ $(SRC)/indent.h \
$(SRC)/termchar.h \ $(SRC)/termchar.h \
$(SRC)/w32.h \
$(NT_INC)/unistd.h \ $(NT_INC)/unistd.h \
$(BUFFER_H) \ $(BUFFER_H) \
$(CHARACTER_H) \ $(CHARACTER_H) \
...@@ -832,6 +833,7 @@ $(BLD)/fileio.$(O) : \ ...@@ -832,6 +833,7 @@ $(BLD)/fileio.$(O) : \
$(SRC)/fileio.c \ $(SRC)/fileio.c \
$(SRC)/blockinput.h \ $(SRC)/blockinput.h \
$(SRC)/commands.h \ $(SRC)/commands.h \
$(SRC)/w32.h \
$(NT_INC)/pwd.h \ $(NT_INC)/pwd.h \
$(NT_INC)/sys/file.h \ $(NT_INC)/sys/file.h \
$(NT_INC)/sys/stat.h \ $(NT_INC)/sys/stat.h \
...@@ -1173,6 +1175,7 @@ $(BLD)/w32.$(O) : \ ...@@ -1173,6 +1175,7 @@ $(BLD)/w32.$(O) : \
$(SRC)/w32.h \ $(SRC)/w32.h \
$(SRC)/w32common.h \ $(SRC)/w32common.h \
$(SRC)/w32heap.h \ $(SRC)/w32heap.h \
$(SRC)/w32select.h \
$(NT_INC)/pwd.h \ $(NT_INC)/pwd.h \
$(NT_INC)/sys/file.h \ $(NT_INC)/sys/file.h \
$(NT_INC)/sys/time.h \ $(NT_INC)/sys/time.h \
...@@ -1428,6 +1431,7 @@ $(BLD)/term.$(O) : \ ...@@ -1428,6 +1431,7 @@ $(BLD)/term.$(O) : \
$(SYSSIGNAL_H) \ $(SYSSIGNAL_H) \
$(SYSTTY_H) \ $(SYSTTY_H) \
$(TERMHOOKS_H) \ $(TERMHOOKS_H) \
$(W32TERM_H) \
$(WINDOW_H) $(WINDOW_H)
$(BLD)/terminal.$(O) : \ $(BLD)/terminal.$(O) : \
...@@ -1468,13 +1472,16 @@ $(BLD)/undo.$(O) : \ ...@@ -1468,13 +1472,16 @@ $(BLD)/undo.$(O) : \
$(BLD)/unexw32.$(O) : \ $(BLD)/unexw32.$(O) : \
$(SRC)/unexw32.c \ $(SRC)/unexw32.c \
$(SRC)/unexec.h \ $(SRC)/unexec.h \
$(SRC)/w32.h \
$(SRC)/w32common.h \ $(SRC)/w32common.h \
$(SRC)/w32heap.h \ $(SRC)/w32heap.h \
$(LISP_H) \
$(CONFIG_H) $(CONFIG_H)
$(BLD)/vm-limit.$(O) : \ $(BLD)/vm-limit.$(O) : \
$(SRC)/vm-limit.c \ $(SRC)/vm-limit.c \
$(SRC)/mem-limits.h \ $(SRC)/mem-limits.h \
$(SRC)/w32heap.h \
$(NT_INC)/unistd.h \ $(NT_INC)/unistd.h \
$(CONFIG_H) \ $(CONFIG_H) \
$(LISP_H) $(LISP_H)
......
...@@ -125,6 +125,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ ...@@ -125,6 +125,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include "xgselect.h" #include "xgselect.h"
#endif #endif
#ifdef WINDOWSNT
extern int sys_select (int, SELECT_TYPE *, SELECT_TYPE *, SELECT_TYPE *,
EMACS_TIME *, void *);
#endif
#ifndef WNOHANG #ifndef WNOHANG
# undef waitpid # undef waitpid
# define waitpid(pid, status, options) wait (status) # define waitpid(pid, status, options) wait (status)
......
...@@ -66,6 +66,7 @@ static int been_here = -1; ...@@ -66,6 +66,7 @@ static int been_here = -1;
/* The name of the default console device. */ /* The name of the default console device. */
#ifdef WINDOWSNT #ifdef WINDOWSNT
#define DEV_TTY "CONOUT$" #define DEV_TTY "CONOUT$"
#include "w32term.h"
#else #else
#define DEV_TTY "/dev/tty" #define DEV_TTY "/dev/tty"
#endif #endif
......
...@@ -22,7 +22,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ ...@@ -22,7 +22,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h> #include <config.h>
#include "unexec.h" #include "unexec.h"
#include "lisp.h"
#include "w32common.h" #include "w32common.h"
#include "w32.h"
#include <stdio.h> #include <stdio.h>
#include <fcntl.h> #include <fcntl.h>
......
...@@ -85,6 +85,8 @@ get_lim_data (void) ...@@ -85,6 +85,8 @@ get_lim_data (void)
#else /* not USG */ #else /* not USG */
#ifdef WINDOWSNT #ifdef WINDOWSNT
#include "w32heap.h"
static void static void
get_lim_data (void) get_lim_data (void)
{ {
......
...@@ -175,6 +175,7 @@ typedef struct _REPARSE_DATA_BUFFER { ...@@ -175,6 +175,7 @@ typedef struct _REPARSE_DATA_BUFFER {
#include "ndir.h" #include "ndir.h"
#include "w32common.h" #include "w32common.h"
#include "w32heap.h" #include "w32heap.h"
#include "w32select.h"
#include "systime.h" #include "systime.h"
#include "dispextern.h" /* for xstrcasecmp */ #include "dispextern.h" /* for xstrcasecmp */
#include "coding.h" /* for Vlocale_coding_system */ #include "coding.h" /* for Vlocale_coding_system */
...@@ -198,6 +199,12 @@ static int enable_privilege (LPCTSTR, BOOL, TOKEN_PRIVILEGES *); ...@@ -198,6 +199,12 @@ static int enable_privilege (LPCTSTR, BOOL, TOKEN_PRIVILEGES *);
static int restore_privilege (TOKEN_PRIVILEGES *); static int restore_privilege (TOKEN_PRIVILEGES *);
static BOOL WINAPI revert_to_self (void); static BOOL WINAPI revert_to_self (void);
extern int sys_access (const char *, int);
extern void *e_malloc (size_t);
extern int sys_select (int, SELECT_TYPE *, SELECT_TYPE *, SELECT_TYPE *,
EMACS_TIME *, void *);
/* Initialization states. /* Initialization states.
...@@ -6961,7 +6968,7 @@ emacs_gnutls_pull (gnutls_transport_ptr_t p, void* buf, size_t sz) ...@@ -6961,7 +6968,7 @@ emacs_gnutls_pull (gnutls_transport_ptr_t p, void* buf, size_t sz)
{ {
int n, sc, err; int n, sc, err;
SELECT_TYPE fdset; SELECT_TYPE fdset;
struct timeval timeout; EMACS_TIME timeout;
struct Lisp_Process *process = (struct Lisp_Process *)p; struct Lisp_Process *process = (struct Lisp_Process *)p;
int fd = process->infd; int fd = process->infd;
...@@ -6977,8 +6984,7 @@ emacs_gnutls_pull (gnutls_transport_ptr_t p, void* buf, size_t sz) ...@@ -6977,8 +6984,7 @@ emacs_gnutls_pull (gnutls_transport_ptr_t p, void* buf, size_t sz)
if (err == EWOULDBLOCK) if (err == EWOULDBLOCK)
{ {
/* Set a small timeout. */ /* Set a small timeout. */
timeout.tv_sec = 1; timeout = make_emacs_time (1, 0);
timeout.tv_usec = 0;
FD_ZERO (&fdset); FD_ZERO (&fdset);
FD_SET ((int)fd, &fdset); FD_SET ((int)fd, &fdset);
......
...@@ -146,6 +146,28 @@ extern int _sys_wait_accept (int fd); ...@@ -146,6 +146,28 @@ extern int _sys_wait_accept (int fd);
extern Lisp_Object QCloaded_from; extern Lisp_Object QCloaded_from;
extern HMODULE w32_delayed_load (Lisp_Object); extern HMODULE w32_delayed_load (Lisp_Object);
extern void init_environment (char **);
extern void check_windows_init_file (void);
extern void syms_of_ntproc (void);
extern void syms_of_ntterm (void);
extern void dostounix_filename (register char *);
extern void unixtodos_filename (register char *);
extern BOOL init_winsock (int load_now);
extern void srandom (int);
extern int random (void);
extern int sys_pipe (int *);
extern void set_process_dir (char *);
extern int sys_spawnve (int, char *, char **, char **);
extern void register_child (int, int);
extern void sys_sleep (int);
extern char *getwd (char *);
extern int sys_link (const char *, const char *);
#ifdef HAVE_GNUTLS #ifdef HAVE_GNUTLS
#include <gnutls/gnutls.h> #include <gnutls/gnutls.h>
......
...@@ -2424,7 +2424,7 @@ w32_msg_pump (deferred_msg * msg_buf) ...@@ -2424,7 +2424,7 @@ w32_msg_pump (deferred_msg * msg_buf)
thread-safe. The next line is okay because the cons thread-safe. The next line is okay because the cons
cell is never made into garbage and is not relocated by cell is never made into garbage and is not relocated by
GC. */ GC. */
XSETCAR ((Lisp_Object) ((EMACS_INT) msg.lParam), Qnil); XSETCAR (XIL ((EMACS_INT) msg.lParam), Qnil);
if (!PostThreadMessage (dwMainThreadId, WM_EMACS_DONE, 0, 0)) if (!PostThreadMessage (dwMainThreadId, WM_EMACS_DONE, 0, 0))
emacs_abort (); emacs_abort ();
break; break;
...@@ -2432,7 +2432,7 @@ w32_msg_pump (deferred_msg * msg_buf) ...@@ -2432,7 +2432,7 @@ w32_msg_pump (deferred_msg * msg_buf)
{ {
int vk_code = (int) msg.wParam; int vk_code = (int) msg.wParam;
int cur_state = (GetKeyState (vk_code) & 1); int cur_state = (GetKeyState (vk_code) & 1);
Lisp_Object new_state = (Lisp_Object) ((EMACS_INT) msg.lParam); Lisp_Object new_state = XIL ((EMACS_INT) msg.lParam);
/* NB: This code must be thread-safe. It is safe to /* NB: This code must be thread-safe. It is safe to
call NILP because symbols are not relocated by GC, call NILP because symbols are not relocated by GC,
......
...@@ -24,6 +24,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ ...@@ -24,6 +24,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <errno.h> #include <errno.h>
#include <ctype.h>
#include <io.h> #include <io.h>
#include <fcntl.h> #include <fcntl.h>
#include <signal.h> #include <signal.h>
...@@ -68,8 +69,6 @@ extern BOOL WINAPI IsValidLocale (LCID, DWORD); ...@@ -68,8 +69,6 @@ extern BOOL WINAPI IsValidLocale (LCID, DWORD);
Lisp_Object Qhigh, Qlow; Lisp_Object Qhigh, Qlow;
typedef void (_CALLBACK_ *signal_handler) (int);
/* Signal handlers...SIG_DFL == 0 so this is initialized correctly. */ /* Signal handlers...SIG_DFL == 0 so this is initialized correctly. */
static signal_handler sig_handlers[NSIG]; static signal_handler sig_handlers[NSIG];
......
...@@ -681,6 +681,9 @@ extern BOOL parse_button (int, int, int *, int *); ...@@ -681,6 +681,9 @@ extern BOOL parse_button (int, int, int *, int *);
extern void w32_sys_ring_bell (struct frame *f); extern void w32_sys_ring_bell (struct frame *f);
extern void x_delete_display (struct w32_display_info *dpyinfo); extern void x_delete_display (struct w32_display_info *dpyinfo);
extern void w32_initialize_display_info (Lisp_Object);
extern void initialize_w32_display (struct terminal *);
/* Keypad command key support. W32 doesn't have virtual keys defined /* Keypad command key support. W32 doesn't have virtual keys defined
for the function keys on the keypad (they are mapped to the standard for the function keys on the keypad (they are mapped to the standard
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment