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>
* 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
probably be obvious which command is displayed for repetition. If you
type just @key{RET}, that repeats the command unchanged. You can also
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.
Once inside the minibuffer for @kbd{C-x @key{ESC} @key{ESC}}, you
can use the usual minibuffer history commands (@pxref{Minibuffer
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}.
@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>
* makefile.w32-in (obj): Add cygw32.o.
......
......@@ -30,6 +30,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <errno.h>
#include <ctype.h>
#include <sys/timeb.h>
#include <mbstring.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>
* config.nt: Sync with autogen/config.in.
......
......@@ -76,7 +76,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#undef CANNOT_DUMP
/* 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
instantly when you try to modify a file that someone else has modified in
......
......@@ -429,7 +429,7 @@ rem
echo Checking whether Windows API headers are too old...
echo #include "windows.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
if (%nocygwin%) == (Y) goto chkapi1
set cf=%usercflags%
......
......@@ -211,7 +211,7 @@ OBJ1_c = $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(OBJ1))
OBJ2_c = $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(OBJ2))
ifdef NOOPT
DEBUG_CFLAGS = -DEMACSDEBUG -fno-crossjumping
DEBUG_CFLAGS = -DEMACSDEBUG -fno-crossjumping -std=gnu99
else
DEBUG_CFLAGS =
endif
......
......@@ -28,7 +28,10 @@ struct group {
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 */
......@@ -120,21 +120,6 @@ extern char *getenv ();
#endif
#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
#define MAXPATHLEN _MAX_PATH
#endif
......@@ -207,6 +192,8 @@ struct sigaction {
/* Internal signals. */
#define emacs_raise(sig) emacs_abort()
extern int sys_wait (int *);
/* termcap.c calls that are emulated. */
#define tputs sys_tputs
#define tgetstr sys_tgetstr
......@@ -251,6 +238,9 @@ typedef int pid_t;
#define stricmp _stricmp
#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
defines _tzname to call a function, but also declares tzname a
2-element array. Having the redirection before including the
......@@ -272,6 +262,10 @@ struct timespec
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
redefinitions using the SDK compilers. */
#ifndef __STDC__
......@@ -300,6 +294,37 @@ struct timespec
#define NSIG 23
#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. */
#define getdisk() (_getdrive () - 1)
#ifdef emacs
......@@ -357,6 +382,7 @@ extern char *get_emacs_configuration_options (void);
#endif
extern int getloadavg (double *, int);
extern int getpagesize (void);
#if defined (__MINGW32__)
......
......@@ -18,8 +18,11 @@ struct passwd {
typedef unsigned uid_t;
typedef uid_t gid_t;
struct passwd * getpwnam (char *);
struct passwd * getpwuid (unsigned);
extern unsigned getuid (void);
extern unsigned geteuid (void);
extern struct passwd * getpwnam (char *);
extern struct passwd * getpwuid (unsigned);
#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>
* xdisp.c (reseat_1): Make the information stored in it->cmp_it
......
......@@ -145,7 +145,7 @@ DEFUN ("cygwin-convert-path-to-windows",
(Lisp_Object path, Lisp_Object absolute_p)
{
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",
......@@ -156,7 +156,7 @@ DEFUN ("cygwin-convert-path-from-windows",
(Lisp_Object path, Lisp_Object absolute_p)
{
return conv_filename_from_w32_unicode (to_unicode (path, &path),
absolute_p == Qnil ? 0 : 1);
EQ (absolute_p, Qnil) ? 0 : 1);
}
void
......
......@@ -60,6 +60,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#if defined (HAVE_TERM_H) && defined (GNU_LINUX)
#include <term.h> /* for tgetent */
#endif
#ifdef WINDOWSNT
#include "w32.h"
#endif
/* Structure to pass dimensions around. Used for character bounding
boxes, glyph matrix dimensions and alike. */
......
......@@ -53,6 +53,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <windows.h>
#include <fcntl.h>
#include <sys/file.h>
#include "w32.h"
#endif /* not WINDOWSNT */
#ifdef MSDOS
......
......@@ -735,6 +735,7 @@ $(BLD)/dispnew.$(O) : \
$(SRC)/disptab.h \
$(SRC)/indent.h \
$(SRC)/termchar.h \
$(SRC)/w32.h \
$(NT_INC)/unistd.h \
$(BUFFER_H) \
$(CHARACTER_H) \
......@@ -832,6 +833,7 @@ $(BLD)/fileio.$(O) : \
$(SRC)/fileio.c \
$(SRC)/blockinput.h \
$(SRC)/commands.h \
$(SRC)/w32.h \
$(NT_INC)/pwd.h \
$(NT_INC)/sys/file.h \
$(NT_INC)/sys/stat.h \
......@@ -1173,6 +1175,7 @@ $(BLD)/w32.$(O) : \
$(SRC)/w32.h \
$(SRC)/w32common.h \
$(SRC)/w32heap.h \
$(SRC)/w32select.h \
$(NT_INC)/pwd.h \
$(NT_INC)/sys/file.h \
$(NT_INC)/sys/time.h \
......@@ -1428,6 +1431,7 @@ $(BLD)/term.$(O) : \
$(SYSSIGNAL_H) \
$(SYSTTY_H) \
$(TERMHOOKS_H) \
$(W32TERM_H) \
$(WINDOW_H)
$(BLD)/terminal.$(O) : \
......@@ -1468,13 +1472,16 @@ $(BLD)/undo.$(O) : \
$(BLD)/unexw32.$(O) : \
$(SRC)/unexw32.c \
$(SRC)/unexec.h \
$(SRC)/w32.h \
$(SRC)/w32common.h \
$(SRC)/w32heap.h \
$(LISP_H) \
$(CONFIG_H)
$(BLD)/vm-limit.$(O) : \
$(SRC)/vm-limit.c \
$(SRC)/mem-limits.h \
$(SRC)/w32heap.h \
$(NT_INC)/unistd.h \
$(CONFIG_H) \
$(LISP_H)
......
......@@ -125,6 +125,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include "xgselect.h"
#endif
#ifdef WINDOWSNT
extern int sys_select (int, SELECT_TYPE *, SELECT_TYPE *, SELECT_TYPE *,
EMACS_TIME *, void *);
#endif
#ifndef WNOHANG
# undef waitpid
# define waitpid(pid, status, options) wait (status)
......
......@@ -66,6 +66,7 @@ static int been_here = -1;
/* The name of the default console device. */
#ifdef WINDOWSNT
#define DEV_TTY "CONOUT$"
#include "w32term.h"
#else
#define DEV_TTY "/dev/tty"
#endif
......
......@@ -22,7 +22,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include "unexec.h"
#include "lisp.h"
#include "w32common.h"
#include "w32.h"
#include <stdio.h>
#include <fcntl.h>
......
......@@ -85,6 +85,8 @@ get_lim_data (void)
#else /* not USG */
#ifdef WINDOWSNT
#include "w32heap.h"
static void
get_lim_data (void)
{
......
......@@ -175,6 +175,7 @@ typedef struct _REPARSE_DATA_BUFFER {
#include "ndir.h"
#include "w32common.h"
#include "w32heap.h"
#include "w32select.h"
#include "systime.h"
#include "dispextern.h" /* for xstrcasecmp */
#include "coding.h" /* for Vlocale_coding_system */
......@@ -198,6 +199,12 @@ static int enable_privilege (LPCTSTR, BOOL, TOKEN_PRIVILEGES *);
static int restore_privilege (TOKEN_PRIVILEGES *);
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.
......@@ -6961,7 +6968,7 @@ emacs_gnutls_pull (gnutls_transport_ptr_t p, void* buf, size_t sz)
{
int n, sc, err;
SELECT_TYPE fdset;
struct timeval timeout;
EMACS_TIME timeout;
struct Lisp_Process *process = (struct Lisp_Process *)p;
int fd = process->infd;
......@@ -6977,8 +6984,7 @@ emacs_gnutls_pull (gnutls_transport_ptr_t p, void* buf, size_t sz)
if (err == EWOULDBLOCK)
{
/* Set a small timeout. */
timeout.tv_sec = 1;
timeout.tv_usec = 0;
timeout = make_emacs_time (1, 0);
FD_ZERO (&fdset);
FD_SET ((int)fd, &fdset);
......
......@@ -146,6 +146,28 @@ extern int _sys_wait_accept (int fd);
extern Lisp_Object QCloaded_from;
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
#include <gnutls/gnutls.h>
......
......@@ -2424,7 +2424,7 @@ w32_msg_pump (deferred_msg * msg_buf)
thread-safe. The next line is okay because the cons
cell is never made into garbage and is not relocated by
GC. */
XSETCAR ((Lisp_Object) ((EMACS_INT) msg.lParam), Qnil);
XSETCAR (XIL ((EMACS_INT) msg.lParam), Qnil);
if (!PostThreadMessage (dwMainThreadId, WM_EMACS_DONE, 0, 0))
emacs_abort ();
break;
......@@ -2432,7 +2432,7 @@ w32_msg_pump (deferred_msg * msg_buf)
{
int vk_code = (int) msg.wParam;
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
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/>. */
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <ctype.h>
#include <io.h>
#include <fcntl.h>
#include <signal.h>
......@@ -68,8 +69,6 @@ extern BOOL WINAPI IsValidLocale (LCID, DWORD);
Lisp_Object Qhigh, Qlow;
typedef void (_CALLBACK_ *signal_handler) (int);
/* Signal handlers...SIG_DFL == 0 so this is initialized correctly. */
static signal_handler sig_handlers[NSIG];
......
......@@ -681,6 +681,9 @@ extern BOOL parse_button (int, int, int *, int *);
extern void w32_sys_ring_bell (struct frame *f);
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
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