Now on revision 110575. ------------------------------------------------------------ revno: 110575 fixes bug: http://debbugs.gnu.org/12666 committer: Glenn Morris branch nick: trunk timestamp: Wed 2012-10-17 20:50:15 -0700 message: * dired.el (dired-sort-toggle): Some ls implementations only allow a single option string. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-10-18 03:30:04 +0000 +++ lisp/ChangeLog 2012-10-18 03:50:15 +0000 @@ -1,5 +1,8 @@ 2012-10-18 Glenn Morris + * dired.el (dired-sort-toggle): Some ls implementations only allow + a single option string. (Bug#12666) + * minibuffer.el (completion-cycle-threshold): Doc fix. 2012-10-17 Kenichi Handa === modified file 'lisp/dired.el' --- lisp/dired.el 2012-10-04 18:30:08 +0000 +++ lisp/dired.el 2012-10-18 03:50:15 +0000 @@ -3546,8 +3546,15 @@ (setq dired-actual-switches (replace-match "" t t dired-actual-switches 3)))) ;; Now, if we weren't sorting by date before, add the -t switch. + ;; Some simple-minded ls implementations (eg ftp servers) only + ;; allow a single option string, so try not to add " -t" if possible. (unless sorting-by-date - (setq dired-actual-switches (concat dired-actual-switches " -t")))) + (setq dired-actual-switches + (concat dired-actual-switches + (if (string-match-p "\\`-[[:alnum:]]+\\'" + dired-actual-switches) + "t" + " -t"))))) (dired-sort-set-mode-line) (revert-buffer)) ------------------------------------------------------------ revno: 110574 committer: Glenn Morris branch nick: trunk timestamp: Wed 2012-10-17 20:30:04 -0700 message: * lisp/minibuffer.el (completion-cycle-threshold): Doc fix diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-10-17 23:59:24 +0000 +++ lisp/ChangeLog 2012-10-18 03:30:04 +0000 @@ -1,3 +1,7 @@ +2012-10-18 Glenn Morris + + * minibuffer.el (completion-cycle-threshold): Doc fix. + 2012-10-17 Kenichi Handa * international/mule.el (set-keyboard-coding-system): Recover === modified file 'lisp/minibuffer.el' --- lisp/minibuffer.el 2012-10-06 17:29:15 +0000 +++ lisp/minibuffer.el 2012-10-18 03:30:04 +0000 @@ -859,8 +859,8 @@ like `minibuffer-force-complete'. If nil, cycling is never used. If t, cycling is always used. -If an integer, cycling is used as soon as there are fewer completion -candidates than this number." +If an integer, cycling is used so long as there are not more +completion candidates than this number." :version "24.1" :type completion--cycling-threshold-type) @@ -977,7 +977,7 @@ ;; This signal an (intended) error if comps is too ;; short or if completion-cycle-threshold is t. (consp (nthcdr threshold comps))))) - ;; Fewer than completion-cycle-threshold remaining + ;; Not more than completion-cycle-threshold remaining ;; completions: let's cycle. (setq completed t exact t) (completion--cache-all-sorted-completions comps) ------------------------------------------------------------ revno: 110573 fixes bug: http://debbugs.gnu.org/12644 author: Dani Moncayo committer: Glenn Morris branch nick: trunk timestamp: Wed 2012-10-17 20:27:17 -0700 message: * doc/emacs/mini.texi (Completion Options): Fix off-by-one error diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2012-10-17 16:56:12 +0000 +++ doc/emacs/ChangeLog 2012-10-18 03:27:17 +0000 @@ -1,3 +1,7 @@ +2012-10-18 Dani Moncayo + + * mini.texi (Completion Options): Fix off-by-one error. (Bug#12644) + 2012-10-17 Glenn Morris * mini.texi (Repetition): Further copyedit. === modified file 'doc/emacs/mini.texi' --- doc/emacs/mini.texi 2012-10-17 16:56:12 +0000 +++ doc/emacs/mini.texi 2012-10-18 03:27:17 +0000 @@ -550,7 +550,7 @@ completion command replaces that with the next completion alternative, in a cyclic manner. If you give @code{completion-cycle-threshold} a numeric value @var{n}, completion commands switch to this cycling -behavior only when there are fewer than @var{n} alternatives. +behavior only when there are @var{n} or fewer alternatives. @cindex Icomplete mode @findex icomplete-mode ------------------------------------------------------------ revno: 110572 [merge] committer: Kenichi Handa branch nick: trunk timestamp: Thu 2012-10-18 09:01:20 +0900 message: international/mule.el (set-keyboard-coding-system): Recover input meta mode when the new coding system does not use 8-bit. Supply TERMINAL arg to set-input-meta-mode. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-10-17 11:24:34 +0000 +++ lisp/ChangeLog 2012-10-17 23:59:24 +0000 @@ -1,3 +1,9 @@ +2012-10-17 Kenichi Handa + + * international/mule.el (set-keyboard-coding-system): Recover + input meta mode when the new coding system doesn not use 8-bit. + Supply TERMINAL arg to set-input-meta-mode. + 2012-10-17 Michael Heerdegen (tiny change) * wdired.el (wdired-old-marks): New variable. === modified file 'lisp/international/mule.el' --- lisp/international/mule.el 2012-09-24 12:23:25 +0000 +++ lisp/international/mule.el 2012-10-17 23:59:24 +0000 @@ -1355,19 +1355,25 @@ (t (error "Unsupported coding system for keyboard: %s" coding-system))) - (when accept-8-bit - (or saved-meta-mode - (set-terminal-parameter terminal - 'keyboard-coding-saved-meta-mode - (cons (nth 2 (current-input-mode)) - nil))) - (set-input-meta-mode 8)) + (if accept-8-bit + (progn + (or saved-meta-mode + (set-terminal-parameter terminal + 'keyboard-coding-saved-meta-mode + (cons (nth 2 (current-input-mode)) + nil))) + (set-input-meta-mode 8 terminal)) + (when saved-meta-mode + (set-input-meta-mode (car saved-meta-mode) terminal) + (set-terminal-parameter terminal + 'keyboard-coding-saved-meta-mode + nil))) ;; Avoid end-of-line conversion. (setq coding-system (coding-system-change-eol-conversion coding-system 'unix))) (when saved-meta-mode - (set-input-meta-mode (car saved-meta-mode)) + (set-input-meta-mode (car saved-meta-mode) terminal) (set-terminal-parameter terminal 'keyboard-coding-saved-meta-mode nil)))) ------------------------------------------------------------ revno: 110571 committer: Eli Zaretskii branch nick: trunk timestamp: Wed 2012-10-17 23:13:20 +0200 message: Avoid compiler warnings in lib-src/ntlib.c src/ntlib.c: Include , to avoid compiler warning about _mbspbrk. diff: === modified file 'lib-src/ChangeLog' --- lib-src/ChangeLog 2012-10-08 12:21:04 +0000 +++ lib-src/ChangeLog 2012-10-17 21:13:20 +0000 @@ -1,3 +1,8 @@ +2012-10-17 Eli Zaretskii + + * ntlib.c: Include , to avoid compiler warning about + _mbspbrk. + 2012-10-08 Eli Zaretskii * makefile.w32-in (obj): Add cygw32.o. === modified file 'lib-src/ntlib.c' --- lib-src/ntlib.c 2012-09-30 21:36:42 +0000 +++ lib-src/ntlib.c 2012-10-17 21:13:20 +0000 @@ -30,6 +30,7 @@ #include #include #include +#include #include "ntlib.h" ------------------------------------------------------------ revno: 110570 committer: Eli Zaretskii branch nick: trunk timestamp: Wed 2012-10-17 21:02:44 +0200 message: Fix warnings when compiling on MS-Windows with -std=gnu99. src/makefile.w32-in ($(BLD)/w32.$(O)): ($(BLD)/vm-limit.$(O)): ($(BLD)/term.$(O)): ($(BLD)/unexw32.$(O)): ($(BLD)/fileio.$(O)): ($(BLD)/dispnew.$(O)): Update dependencies. src/w32term.h (w32_initialize_display_info, initialize_w32_display): Add prototypes. src/w32proc.c: Include ctype.h. src/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. src/w32.c: Include w32select.h. (sys_access, e_malloc, sys_select): Add prototypes. (emacs_gnutls_pull): 'timeout' is now EMACS_TIME, not struct timeval. src/vm-limit.c [WINDOWSNT]: Include w32heap.h. src/unexw32.c: Include lisp.h and w32.h. src/term.c [WINDOWSNT]: Include w32term.h. src/process.c [WINDOWSNT]: Add prototype of sys_select. src/fileio.c [WINDOWSNT]: Include w32.h. src/dispnew.c [WINDOWSNT]: Include w32.h. nt/inc/pwd.h (getuid, geteuid): Add prototypes. nt/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. nt/inc/grp.h (getgid, getegid): Add prototypes. nt/gmake.defs (DEBUG_CFLAGS) [NOOPT]: Add -std=gnu99. nt/configure.bat (chkapiN): Avoid compiler warning in junk.c when compiling with -std=gnu99. nt/config.nt (CHECK_LISP_OBJECT_TYPE): Don't undef, so that it could be used via --cflags switch to configure.bat. diff: === modified file 'nt/ChangeLog' --- nt/ChangeLog 2012-10-17 11:24:34 +0000 +++ nt/ChangeLog 2012-10-17 19:02:44 +0000 @@ -1,3 +1,22 @@ +2012-10-17 Eli Zaretskii + + * 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 * config.nt: Sync with autogen/config.in. === modified file 'nt/config.nt' --- nt/config.nt 2012-10-08 14:14:22 +0000 +++ nt/config.nt 2012-10-17 19:02:44 +0000 @@ -76,7 +76,7 @@ #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 === modified file 'nt/configure.bat' --- nt/configure.bat 2012-09-18 10:49:33 +0000 +++ nt/configure.bat 2012-10-17 19:02:44 +0000 @@ -429,7 +429,7 @@ 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% === modified file 'nt/gmake.defs' --- nt/gmake.defs 2012-09-30 21:36:42 +0000 +++ nt/gmake.defs 2012-10-17 19:02:44 +0000 @@ -211,7 +211,7 @@ 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 === modified file 'nt/inc/grp.h' --- nt/inc/grp.h 2012-01-19 07:21:25 +0000 +++ nt/inc/grp.h 2012-10-17 19:02:44 +0000 @@ -28,7 +28,10 @@ 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 */ === modified file 'nt/inc/ms-w32.h' --- nt/inc/ms-w32.h 2012-09-30 21:36:42 +0000 +++ nt/inc/ms-w32.h 2012-10-17 19:02:44 +0000 @@ -120,21 +120,6 @@ #endif #include -#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 @@ /* 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 @@ #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 @@ 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 @@ #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 @@ #endif extern int getloadavg (double *, int); +extern int getpagesize (void); #if defined (__MINGW32__) === modified file 'nt/inc/pwd.h' --- nt/inc/pwd.h 2011-01-15 23:16:57 +0000 +++ nt/inc/pwd.h 2012-10-17 19:02:44 +0000 @@ -18,8 +18,11 @@ 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_ */ === modified file 'src/ChangeLog' --- src/ChangeLog 2012-10-17 15:37:55 +0000 +++ src/ChangeLog 2012-10-17 19:02:44 +0000 @@ -1,5 +1,39 @@ 2012-10-17 Eli Zaretskii + * 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) === modified file 'src/dispnew.c' --- src/dispnew.c 2012-10-10 20:09:47 +0000 +++ src/dispnew.c 2012-10-17 19:02:44 +0000 @@ -60,6 +60,10 @@ #if defined (HAVE_TERM_H) && defined (GNU_LINUX) #include /* for tgetent */ #endif + +#ifdef WINDOWSNT +#include "w32.h" +#endif /* Structure to pass dimensions around. Used for character bounding boxes, glyph matrix dimensions and alike. */ === modified file 'src/fileio.c' --- src/fileio.c 2012-10-13 08:55:26 +0000 +++ src/fileio.c 2012-10-17 19:02:44 +0000 @@ -53,6 +53,7 @@ #include #include #include +#include "w32.h" #endif /* not WINDOWSNT */ #ifdef MSDOS === modified file 'src/makefile.w32-in' --- src/makefile.w32-in 2012-10-12 16:32:40 +0000 +++ src/makefile.w32-in 2012-10-17 19:02:44 +0000 @@ -735,6 +735,7 @@ $(SRC)/disptab.h \ $(SRC)/indent.h \ $(SRC)/termchar.h \ + $(SRC)/w32.h \ $(NT_INC)/unistd.h \ $(BUFFER_H) \ $(CHARACTER_H) \ @@ -832,6 +833,7 @@ $(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 @@ $(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 @@ $(SYSSIGNAL_H) \ $(SYSTTY_H) \ $(TERMHOOKS_H) \ + $(W32TERM_H) \ $(WINDOW_H) $(BLD)/terminal.$(O) : \ @@ -1468,13 +1472,16 @@ $(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) === modified file 'src/process.c' --- src/process.c 2012-10-13 00:52:01 +0000 +++ src/process.c 2012-10-17 19:02:44 +0000 @@ -125,6 +125,11 @@ #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) === modified file 'src/term.c' --- src/term.c 2012-10-10 15:10:57 +0000 +++ src/term.c 2012-10-17 19:02:44 +0000 @@ -66,6 +66,7 @@ /* The name of the default console device. */ #ifdef WINDOWSNT #define DEV_TTY "CONOUT$" +#include "w32term.h" #else #define DEV_TTY "/dev/tty" #endif === modified file 'src/unexw32.c' --- src/unexw32.c 2012-10-08 12:53:18 +0000 +++ src/unexw32.c 2012-10-17 19:02:44 +0000 @@ -22,7 +22,9 @@ #include #include "unexec.h" +#include "lisp.h" #include "w32common.h" +#include "w32.h" #include #include === modified file 'src/vm-limit.c' --- src/vm-limit.c 2012-09-30 21:36:42 +0000 +++ src/vm-limit.c 2012-10-17 19:02:44 +0000 @@ -85,6 +85,8 @@ #else /* not USG */ #ifdef WINDOWSNT +#include "w32heap.h" + static void get_lim_data (void) { === modified file 'src/w32.c' --- src/w32.c 2012-10-12 15:30:06 +0000 +++ src/w32.c 2012-10-17 19:02:44 +0000 @@ -175,6 +175,7 @@ #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 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 @@ { 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 @@ 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); === modified file 'src/w32.h' --- src/w32.h 2012-10-07 22:31:58 +0000 +++ src/w32.h 2012-10-17 19:02:44 +0000 @@ -146,6 +146,28 @@ 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 === modified file 'src/w32proc.c' --- src/w32proc.c 2012-10-08 12:53:18 +0000 +++ src/w32proc.c 2012-10-17 19:02:44 +0000 @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -68,8 +69,6 @@ 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]; === modified file 'src/w32term.h' --- src/w32term.h 2012-10-08 12:53:18 +0000 +++ src/w32term.h 2012-10-17 19:02:44 +0000 @@ -681,6 +681,9 @@ 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 ------------------------------------------------------------ revno: 110569 committer: Glenn Morris branch nick: trunk timestamp: Wed 2012-10-17 12:56:12 -0400 message: * doc/emacs/mini.texi (Repetition): Further copyedit. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2012-10-17 16:55:10 +0000 +++ doc/emacs/ChangeLog 2012-10-17 16:56:12 +0000 @@ -1,3 +1,7 @@ +2012-10-17 Glenn Morris + + * mini.texi (Repetition): Further copyedit. + 2012-10-17 Dani Moncayo * mini.texi (Repetition): Copyedit. === modified file 'doc/emacs/mini.texi' --- doc/emacs/mini.texi 2012-10-17 16:55:10 +0000 +++ doc/emacs/mini.texi 2012-10-17 16:56:12 +0000 @@ -683,7 +683,7 @@ 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 ------------------------------------------------------------ revno: 110568 author: Dani Moncayo committer: Glenn Morris branch nick: trunk timestamp: Wed 2012-10-17 12:55:10 -0400 message: * doc/emacs/mini.texi (Repetition): Copyedit. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2012-10-16 23:27:40 +0000 +++ doc/emacs/ChangeLog 2012-10-17 16:55:10 +0000 @@ -1,3 +1,7 @@ +2012-10-17 Dani Moncayo + + * mini.texi (Repetition): Copyedit. + 2012-10-16 Juri Linkov * search.texi (Query Replace): Document multi-buffer replacement === modified file 'doc/emacs/mini.texi' --- doc/emacs/mini.texi 2012-10-06 14:18:03 +0000 +++ doc/emacs/mini.texi 2012-10-17 16:55:10 +0000 @@ -689,7 +689,7 @@ 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 ------------------------------------------------------------ revno: 110567 fixes bug: http://debbugs.gnu.org/12661 committer: Eli Zaretskii branch nick: trunk timestamp: Wed 2012-10-17 17:37:55 +0200 message: Fix bug #12661 with w32 and cygw32 builds under --enable-check-lisp-object-type. src/cygw32.c (Fcygwin_convert_path_to_windows) (Fcygwin_convert_path_from_windows): Use EQ to compare 2 Lisp_Object values. src/w32fns.c (w32_msg_pump): Use XIL instead of casting an integer to Lisp_Object. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-10-17 13:33:48 +0000 +++ src/ChangeLog 2012-10-17 15:37:55 +0000 @@ -1,3 +1,12 @@ +2012-10-17 Eli Zaretskii + + * 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 * xdisp.c (reseat_1): Make the information stored in it->cmp_it === modified file 'src/cygw32.c' --- src/cygw32.c 2012-10-08 12:53:18 +0000 +++ src/cygw32.c 2012-10-17 15:37:55 +0000 @@ -145,7 +145,7 @@ (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 @@ (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 === modified file 'src/w32fns.c' --- src/w32fns.c 2012-10-12 14:14:35 +0000 +++ src/w32fns.c 2012-10-17 15:37:55 +0000 @@ -2424,7 +2424,7 @@ 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 @@ { 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, ------------------------------------------------------------ revno: 110566 [merge] committer: Kenichi Handa branch nick: trunk timestamp: Wed 2012-10-17 23:34:51 +0900 message: xdisp.c (reseat_1): Make the information stored in it->cmp_it invalidate. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-10-17 11:24:34 +0000 +++ src/ChangeLog 2012-10-17 13:33:48 +0000 @@ -1,3 +1,8 @@ +2012-10-17 Kenichi Handa + + * xdisp.c (reseat_1): Make the information stored in it->cmp_it + invalidate. + 2012-10-17 Dmitry Antipov * buffer.c (Fkill_buffer): When unchaining the marker, === modified file 'src/xdisp.c' --- src/xdisp.c 2012-10-08 19:22:42 +0000 +++ src/xdisp.c 2012-10-17 13:30:56 +0000 @@ -6302,6 +6302,8 @@ it->stop_charpos = CHARPOS (pos); it->base_level_stop = CHARPOS (pos); } + /* This make the information stored in it->cmp_it invalidate. */ + it->cmp_it.id = -1; } ------------------------------------------------------------ revno: 110565 committer: Juanma Barranquero branch nick: trunk timestamp: Wed 2012-10-17 13:24:34 +0200 message: Fix ChangeLog typos. diff: === modified file 'ChangeLog' --- ChangeLog 2012-10-15 20:56:07 +0000 +++ ChangeLog 2012-10-17 11:24:34 +0000 @@ -764,7 +764,7 @@ 2012-06-28 Dmitry Antipov - * configure.in: Fix previous change. Remove --enable-asserts. + * configure.in: Fix previous change. Remove --enable-asserts. (CPPFLAGS): Remove conditional -DXASSERTS=1. Add --enable-link-time-optimization. * INSTALL: Mention this. @@ -942,7 +942,7 @@ 2012-06-03 Ulrich Müller - * configure.in (PAXCTL): Check for paxctl. (Bug#11398) + * configure.in (PAXCTL): Check for paxctl. (Bug#11398) 2012-06-01 Paul Eggert @@ -1394,7 +1394,7 @@ 2012-04-17 Dmitry Antipov * configure.in (AC_CHECK_FUNCS): - Add getpwent, endpwent, getgrent, endgrent. (Bug#7900) + Add getpwent, endpwent, getgrent, endgrent. (Bug#7900) 2012-04-16 Glenn Morris @@ -1571,7 +1571,7 @@ 2011-11-04 Glenn Morris - * configure.in: Increase minimum GnuTLS version to 2.6.6. (Bug#9929) + * configure.in: Increase minimum GnuTLS version to 2.6.6. (Bug#9929) Do not include GnuTLS version info in final summary message. 2011-10-31 Eli Zaretskii === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-10-17 09:11:49 +0000 +++ lisp/ChangeLog 2012-10-17 11:24:34 +0000 @@ -611,9 +611,9 @@ * emacs-lisp/eieio-base.el (eieio-persistent-read): New input args specifying the expected class, and whether subclassing is allowed. (eieio-persistent-convert-list-to-object): - (eieio-persistent-validate/fix-slot-value) - (eieio-persistent-slot-type-is-class-p): New functions. - (eieio-named::slot-missing): Doc fix. + (eieio-persistent-validate/fix-slot-value) + (eieio-persistent-slot-type-is-class-p): New functions. + (eieio-named::slot-missing): Doc fix. * emacs-lisp/eieio-datadebug.el (data-debug/eieio-insert-slots): Stop using unused publd variable. @@ -2056,7 +2056,7 @@ * ses.el (ses-widen): * simple.el (count-words--buffer-message): - * net/browse-url.el (browse-url-of-buffer): Use it + * net/browse-url.el (browse-url-of-buffer): Use it. * simple.el (count-words-region): Don't signal an error if there is a non-nil prefix arg and the mark is not set. @@ -16338,7 +16338,7 @@ 2011-06-22 Leo Liu * minibuffer.el (completing-read-function) - (completing-read-default): Move from minibuf.c + (completing-read-default): Move from minibuf.c. 2011-06-22 Richard Stallman @@ -18195,7 +18195,7 @@ Remove unnecessary and incorrect declarations. * emacs-lisp/check-declare.el (check-declare-scan): - Handle byte-compile-initial-macro-environment in bytecomp.el + Handle byte-compile-initial-macro-environment in bytecomp.el. 2011-05-05 Stefan Monnier === modified file 'nt/ChangeLog' --- nt/ChangeLog 2012-10-08 14:14:22 +0000 +++ nt/ChangeLog 2012-10-17 11:24:34 +0000 @@ -32,13 +32,13 @@ (offset_to_section, relocate_offset, OFFSET_TO_RVA) (RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET, PTR_TO_RVA) (OFFSET_TO_PTR, ROUND_UP, ROUND_DOWN) - (copy_executable_and_move_sections, ADJUST_IMPORT_RVA, main): Use - DWORD_PTR instead of DWORD for compatibility with x64. + (copy_executable_and_move_sections, ADJUST_IMPORT_RVA, main): + Use DWORD_PTR instead of DWORD for compatibility with x64. * nmake.defs: Support AMD64. (EMACS_HEAPSIZE, EMACS_PURESIZE, EMACS_MANIFEST): New macros. - * gmake.defs: (EMACS_HEAPSIZE, EMACS_PURESIZE, EMACS_MANIFEST): + * gmake.defs (EMACS_HEAPSIZE, EMACS_PURESIZE, EMACS_MANIFEST): New macros. * addsection.c (pfnCheckSumMappedFile, rva_to_section) @@ -478,7 +478,7 @@ 2012-02-05 Christoph Scholtes - * README.W32: Clarification for inclusion in source tarball. (Bug#9750) + * README.W32: Clarification for inclusion in source tarball (bug#9750). * gmake.defs (PRAGMA_SYSTEM_HEADER): Add for GCC. @@ -487,7 +487,7 @@ * makefile.w32-in (maybe-copy-distfiles) (maybe-copy-distfiles-CMD, maybe-copy-distfiles-SH) (create-tmp-dist-dir): Add to make --distfiles optional. - (dist): Use create-tmp-dist-dir and maybe-copy-distfiles. (Bug#10261) + (dist): Use create-tmp-dist-dir and maybe-copy-distfiles (bug#10261). 2012-02-04 Eli Zaretskii === modified file 'src/ChangeLog' --- src/ChangeLog 2012-10-17 05:22:23 +0000 +++ src/ChangeLog 2012-10-17 11:24:34 +0000 @@ -1,7 +1,7 @@ 2012-10-17 Dmitry Antipov * buffer.c (Fkill_buffer): When unchaining the marker, - reset it's buffer pointer to NULL (Bug#12652). + reset its buffer pointer to NULL (Bug#12652). 2012-10-17 Dmitry Antipov @@ -245,7 +245,7 @@ * nsfont.m (Vfonts_in_cache): Remove, not needed as font.c handles caching. (nsfont_open): Remove setting of Vfonts_in_cache. - (syms_of_nsfont): Remove initialization of Vfonts_in_cache + (syms_of_nsfont): Remove initialization of Vfonts_in_cache. 2012-10-09 Eli Zaretskii @@ -312,7 +312,7 @@ * w32select.h (HAVE_W32SELECT): Remove. * w32select.c, w32proc.c, w32menu.c, w32console.c, w32.c: Include - w32common.h instead of w32heap.h + w32common.h instead of w32heap.h. * w32heap.h (ROUND_UP, ROUND_DOWN, get_page_size) (get_allocation_unit, get_processor_type, get_w32_major_version) @@ -435,7 +435,7 @@ Cygwin builds. Remove w32select declarations. * w32console.c (w32_sys_ring_bell, Fset_message_beep): Move to - w32fns.c. w32console.c is WINDOWSNT-only. + w32fns.c. w32console.c is WINDOWSNT-only. * w32fns.c: Include cygw32.h or w32.h depending on CYGWIN; more NTGUI_UNICODE tweaks. (See above.) Change _snprintf to the more @@ -541,7 +541,7 @@ (ns_clear_frame_area): Remove resize handle code. * nsfns.m (ns_in_resize): Remove. - (x_set_icon_name, ns_set_name, ns_set_name_as_filename): Remove + (x_set_icon_name, ns_set_name, ns_set_name_as_filename): Remove ns_in_resize check. 2012-10-07 Paul Eggert @@ -570,7 +570,7 @@ (initFrameFromEmacs:): tbar_height renamed tibar_height. (windowDidEnterFullScreen:): Toggle toolbar for fullscreen to fix error in drawing background. - (toggleFullScreen:): Remove comment. Rearrange calls. + (toggleFullScreen:): Remove comment. Rearrange calls. Set toolbar values to zero, save old height in tobar_height. Restore tool bar height when leaving fullscreen. (canBecomeMainWindow): New function. @@ -993,7 +993,7 @@ Call setCollectionBehavior if NEW_STYLE_FS. Initialize bwidth and tbar_height. (windowWillUseStandardFrame:defaultFrame:): Update frame parameter - fullscreen. Set maximized_width/height. Act on next_maximized. + fullscreen. Set maximized_width/height. Act on next_maximized. * nsterm.h (MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8): New. (EmacsView): Add variables for fullscreen. @@ -1649,7 +1649,7 @@ 2012-09-19 Paul Eggert * w32inevt.c (w32_console_read_socket): Return -1 on failure, not 0. - Ignore 'expected'. See Eli Zaretskii in + Ignore 'expected'. See Eli Zaretskii in (last line). * frame.c (read_integer): Remove. All uses replaced by strtol/strtoul. @@ -1716,7 +1716,7 @@ (bytes_used_when_full, emacs_blocked_free, emacs_blocked_malloc) (emacs_blocked_realloc, reset_malloc_hooks, uninterrupt_malloc): [!SYSTEM_MALLOC && !SYNC_INPUT]: - Remove. All uses removed. + Remove. All uses removed. (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): Use a different implementation, one that depends on whether the new macro XMALLOC_BLOCK_INPUT_CHECK is defined, not on whether SYNC_INPUT @@ -2006,7 +2006,7 @@ * alloc.c (discard_killed_buffers): New function. (mark_object): Use it for deleted windows and frames. (mark_object): If symbol's value is set up for a killed buffer - or deleted frame, restore it's global binding. + or deleted frame, restore its global binding. * data.c (swap_in_global_binding): Add GC notice. (swap_in_symval_forwarding): Use convenient set_blv_where. * window.c (wset_next_buffers, wset_prev_buffers): Move ... @@ -4313,7 +4313,7 @@ * nsterm.m (ns_set_vertical_scroll_bar, ns_redeem_scroll_bar) (EmacsWindow-accessibilityAttributeValue, EmacsScroller-initFrame:) - (EmacsScroller-dealloc): Adjust to use WVAR. (Bug#12114) + (EmacsScroller-dealloc): Adjust to use WVAR. (Bug#12114) * nsfns.m (ns_set_name_as_filename): Likewise. * nsmenu.m (ns_update_menubar): Likewise. * nsselect.m (symbol_to_nsstring): Adjust to use SVAR. @@ -6409,7 +6409,7 @@ Fix block vector allocation code to allow VECTOR_BLOCK_SIZE values which aren't power of 2. * alloc.c (VECTOR_FREE_LIST_SIZE_MASK): New macro. - Verify it's value and the value of VECTOR_BLOCK_SIZE. Adjust users + Verify its value and the value of VECTOR_BLOCK_SIZE. Adjust users accordingly. 2012-07-03 Stefan Monnier @@ -7578,7 +7578,7 @@ bitfields where appropriate, remove unused fields. * window.h (struct window): Remove unused 'last_mark_x' and 'last_mark_y' fields. Rename 'mini_p' field to 'mini', - change it's type from Lisp_Object to bitfield. + change its type from Lisp_Object to bitfield. Change type of 'force_start', 'optional_new_start', 'last_had_star', 'update_mode_line' and 'start_at_line_beg' fields from Lisp_Object to bitfield. Adjust users accordingly. ------------------------------------------------------------ revno: 110564 author: Michael Heerdegen committer: martin rudalics branch nick: trunk timestamp: Wed 2012-10-17 11:11:49 +0200 message: When renaming a file with wdired move point with file and don't lose mark status (Bug#11795). * wdired.el (wdired-old-marks): New variable. (wdired-change-to-wdired-mode): Locally set wdired-old-marks. (wdired-do-renames): Move point with renamed file and don't lose mark status (Bug#11795). diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-10-16 23:27:40 +0000 +++ lisp/ChangeLog 2012-10-17 09:11:49 +0000 @@ -1,3 +1,10 @@ +2012-10-17 Michael Heerdegen (tiny change) + + * wdired.el (wdired-old-marks): New variable. + (wdired-change-to-wdired-mode): Locally set wdired-old-marks. + (wdired-do-renames): Move point with renamed file and don't lose + mark status (Bug#11795). + 2012-10-16 Juri Linkov * replace.el (query-replace-help): Mention multi-buffer replacement === modified file 'lisp/wdired.el' --- lisp/wdired.el 2012-08-05 04:19:21 +0000 +++ lisp/wdired.el 2012-10-17 09:11:49 +0000 @@ -180,7 +180,7 @@ (defvar wdired-col-perm) ;; Column where the permission bits start (defvar wdired-old-content) (defvar wdired-old-point) - +(defvar wdired-old-marks) (defun wdired-mode () "Writable Dired (WDired) mode. @@ -221,6 +221,8 @@ (error "Not a Dired buffer")) (set (make-local-variable 'wdired-old-content) (buffer-substring (point-min) (point-max))) + (set (make-local-variable 'wdired-old-marks) + (dired-remember-marks (point-min) (point-max))) (set (make-local-variable 'wdired-old-point) (point)) (set (make-local-variable 'query-replace-skip-read-only) t) (set (make-local-variable 'isearch-filter-predicate) @@ -455,7 +457,8 @@ (push (cons tmp file-new) residue)))) (t (setq progress t) - (let ((file-ori (car rename))) + (let* ((file-ori (car rename)) + (old-mark (cdr (assoc file-ori wdired-old-marks)))) (if wdired-use-interactive-rename (wdired-search-and-rename file-ori file-new) ;; If dired-rename-file autoloads dired-aux while @@ -466,12 +469,17 @@ (condition-case err (let ((dired-backup-overwrite nil)) (dired-rename-file file-ori file-new - overwrite)) + overwrite) + (dired-remove-file file-ori) + (dired-add-file file-new (if (integerp dired-keep-marker-rename) + dired-keep-marker-rename + old-mark))) (error (setq errors (1+ errors)) (dired-log (concat "Rename `" file-ori "' to `" file-new "' failed:\n%s\n") - err))))))))) + err) + (dired-add-entry file-ori old-mark))))))))) errors)) ------------------------------------------------------------ revno: 110563 committer: Dmitry Antipov branch nick: trunk timestamp: Wed 2012-10-17 09:22:23 +0400 message: * buffer.c (Fkill_buffer): When unchaining the marker, reset it's buffer pointer to NULL (Bug#12652). diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-10-17 04:58:15 +0000 +++ src/ChangeLog 2012-10-17 05:22:23 +0000 @@ -1,5 +1,10 @@ 2012-10-17 Dmitry Antipov + * buffer.c (Fkill_buffer): When unchaining the marker, + reset it's buffer pointer to NULL (Bug#12652). + +2012-10-17 Dmitry Antipov + Do not verify indirection counters of killed buffers (Bug#12579). * buffer.h (BUFFER_CHECK_INDIRECTION): New macro. * buffer.c (compact_buffer, set_buffer_internal_1): Use it. === modified file 'src/buffer.c' --- src/buffer.c 2012-10-17 04:58:15 +0000 +++ src/buffer.c 2012-10-17 05:22:23 +0000 @@ -1881,19 +1881,20 @@ if (b->base_buffer) { - { /* Unchain all markers that belong to this indirect buffer. - Don't unchain the markers that belong to the base buffer - or its other indirect buffers. */ - struct Lisp_Marker **mp; - for (mp = &BUF_MARKERS (b); *mp; ) - { - struct Lisp_Marker *m = *mp; - if (m->buffer == b) + /* Unchain all markers that belong to this indirect buffer. + Don't unchain the markers that belong to the base buffer + or its other indirect buffers. */ + struct Lisp_Marker **mp = &BUF_MARKERS (b); + while ((m = *mp)) + { + if (m->buffer == b) + { + m->buffer = NULL; *mp = m->next; - else - mp = &m->next; - } - } + } + else + mp = &m->next; + } } else { ------------------------------------------------------------ Use --include-merged or -n0 to see merged revisions.