aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2016-05-01 18:09:29 -0700
committerPaul Eggert2016-05-01 18:09:29 -0700
commitc3ed7cea0a43ab86c9d3b1627878055844bc8656 (patch)
tree4a46db8032e1b359be5284822828d12814d96e27
parent07fafe1edbba4a5eecbe133313b2eb6ec15e5c55 (diff)
parent16e5e8e4ea4ad46157fcdeafb16f245124fba375 (diff)
downloademacs-c3ed7cea0a43ab86c9d3b1627878055844bc8656.tar.gz
emacs-c3ed7cea0a43ab86c9d3b1627878055844bc8656.zip
Merge from origin/emacs-25
16e5e8e Fix last change to isearch-update (bug#23406) b755d98 Autoload cursor-sensor-inhibit (bug#23406) b52ebd4 org-map-entries: Fix org-agenda-prepare-buffers call 86aa409 Followup for last commit in the user manual 7004459 Improve doc string of 'set-goal-column' ccdaf04 Fix the MSDOS build ffe701c Remove \= from format string (bug#18190) 1c58fa1 Fix variable-pitch font on MS-Windows c6077bf Restore follow-scroll-up/down to scrolling by the combined si... b671e21 Revert unneeded change which harms syntactic parsing. This f... 48b24c9 Correct indentation of ids in a C++ enum after a protection k... 5c3534f * lisp/window.el (window--process-window-list): No-op if no p... 734fb3a Port dumping to NetBSD with PaX 0255a70 Don't mistake `for' inside a function for a part of array com... # Conflicts: # src/Makefile.in
-rw-r--r--config.bat27
-rw-r--r--configure.ac38
-rw-r--r--doc/emacs/basic.texi9
-rw-r--r--lisp/emacs-lisp/cursor-sensor.el1
-rw-r--r--lisp/emacs-lisp/eieio.el2
-rw-r--r--lisp/eshell/esh-cmd.el4
-rw-r--r--lisp/faces.el6
-rw-r--r--lisp/follow.el138
-rw-r--r--lisp/international/mule-cmds.el2
-rw-r--r--lisp/isearch.el3
-rw-r--r--lisp/man.el4
-rw-r--r--lisp/org/org.el4
-rw-r--r--lisp/progmodes/cc-engine.el20
-rw-r--r--lisp/progmodes/compile.el2
-rw-r--r--lisp/progmodes/js.el6
-rw-r--r--lisp/simple.el3
-rw-r--r--lisp/term/internal.el30
-rw-r--r--lisp/textmodes/ispell.el2
-rw-r--r--lisp/vc/diff.el2
-rw-r--r--lisp/window.el58
-rw-r--r--msdos/sed1v2.inp119
-rw-r--r--msdos/sed2v2.inp7
-rw-r--r--msdos/sed3v2.inp13
-rw-r--r--msdos/sed6.inp28
-rw-r--r--msdos/sedadmin.inp14
-rw-r--r--msdos/sedleim.inp10
-rw-r--r--msdos/sedlibmk.inp34
-rw-r--r--msdos/sedlisp.inp4
-rw-r--r--src/Makefile.in18
-rw-r--r--src/atimer.c4
-rw-r--r--src/conf_post.h3
-rw-r--r--src/deps.mk4
-rw-r--r--src/dosfns.h4
-rw-r--r--src/emacs.c1
-rw-r--r--src/filelock.c19
-rw-r--r--src/fns.c5
-rw-r--r--src/frame.c11
-rw-r--r--src/lread.c4
-rw-r--r--src/msdos.c36
-rw-r--r--src/msdos.h14
-rw-r--r--src/process.c39
-rw-r--r--src/w16select.c5
-rw-r--r--test/manual/indent/js.js8
43 files changed, 479 insertions, 286 deletions
diff --git a/config.bat b/config.bat
index 04fce0f2988..a5bea7135ae 100644
--- a/config.bat
+++ b/config.bat
@@ -174,7 +174,7 @@ junk
174If ErrorLevel 1 Goto xmlDone 174If ErrorLevel 1 Goto xmlDone
175Echo Configuring with libxml2 ... 175Echo Configuring with libxml2 ...
176sed -e "/#undef HAVE_LIBXML2/s/^.*$/#define HAVE_LIBXML2 1/" <config.h2 >config.h3 176sed -e "/#undef HAVE_LIBXML2/s/^.*$/#define HAVE_LIBXML2 1/" <config.h2 >config.h3
177mv config.h3 config.h2 177sed -e "/#define EMACS_CONFIG_FEATURES/s/^.*$/#define EMACS_CONFIG_FEATURES \"LIBXML2\"/" <config.h3 >config.h2
178set libxml=1 178set libxml=1
179:xmlDone 179:xmlDone
180rm -f junk.c junk junk.exe 180rm -f junk.c junk junk.exe
@@ -194,7 +194,7 @@ if exist dir.h ren dir.h vmsdir.h
194 194
195rem Create "makefile" from "makefile.in". 195rem Create "makefile" from "makefile.in".
196rm -f Makefile makefile.tmp 196rm -f Makefile makefile.tmp
197copy Makefile.in+lisp.mk+deps.mk makefile.tmp 197copy Makefile.in+deps.mk makefile.tmp
198sed -f ../msdos/sed1v2.inp <makefile.tmp >Makefile 198sed -f ../msdos/sed1v2.inp <makefile.tmp >Makefile
199rm -f makefile.tmp 199rm -f makefile.tmp
200 200
@@ -227,6 +227,10 @@ rem ----------------------------------------------------------------------
227Echo Configuring the library source directory... 227Echo Configuring the library source directory...
228cd lib-src 228cd lib-src
229sed -f ../msdos/sed3v2.inp <Makefile.in >Makefile 229sed -f ../msdos/sed3v2.inp <Makefile.in >Makefile
230mv Makefile makefile.tmp
231sed -n -e "/^AC_INIT/s/[^,]*, \([^,]*\).*/@set emver=\1/p" ../configure.ac > emver.bat
232call emver.bat
233sed -e "s/@version@/%emver%/g" <makefile.tmp >Makefile
230if "%X11%" == "" goto libsrc2a 234if "%X11%" == "" goto libsrc2a
231mv Makefile makefile.tmp 235mv Makefile makefile.tmp
232sed -f ../msdos/sed3x.inp <makefile.tmp >Makefile 236sed -f ../msdos/sed3x.inp <makefile.tmp >Makefile
@@ -252,16 +256,23 @@ cd ..
252rem ---------------------------------------------------------------------- 256rem ----------------------------------------------------------------------
253Echo Configuring the doc directory, expect one "File not found" message... 257Echo Configuring the doc directory, expect one "File not found" message...
254cd doc 258cd doc
259Rem Rename files like djtar on plain DOS filesystem would.
260If Exist emacs\emacsver.texi.in update emacs/emacsver.texi.in emacs/emacsver.in
261If Exist man\emacs.1.in update man/emacs.1.in man/emacs.in
262If Exist ..\etc\refcards\emacsver.tex.in update ../etc/refcards/emacsver.tex.in ../etc/refcards/emacsver.in
255Rem The two variants for lispintro below is for when the shell 263Rem The two variants for lispintro below is for when the shell
256Rem supports long file names but DJGPP does not 264Rem supports long file names but DJGPP does not
257for %%d in (emacs lispref lispintro lispintr misc) do sed -f ../msdos/sed6.inp < %%d\Makefile.in > %%d\Makefile 265for %%d in (emacs lispref lispintro lispintr misc) do sed -e "s/@version@/%emver%/g" -f ../msdos/sed6.inp < %%d\Makefile.in > %%d\Makefile
266Rem produce emacs.1 from emacs.in
267If Exist man\emacs.1 goto manOk
268sed -e "s/@version@/%emver%/g" -e "s/@PACKAGE_BUGREPORT@/bug-gnu-emacs@gnu.org/g" < man\emacs.in > man\emacs.1
269:manOk
258cd .. 270cd ..
259rem ---------------------------------------------------------------------- 271rem ----------------------------------------------------------------------
260Echo Configuring the lib directory... 272Echo Configuring the lib directory...
261If Exist build-aux\snippet\c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h 273If Exist build-aux\snippet\c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h
262cd lib 274cd lib
263Rem Rename files like djtar on plain DOS filesystem would. 275Rem Rename files like djtar on plain DOS filesystem would.
264If Exist build-aux\snippet\c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h
265If Exist alloca.in.h update alloca.in.h alloca.in-h 276If Exist alloca.in.h update alloca.in.h alloca.in-h
266If Exist byteswap.in.h update byteswap.in.h byteswap.in-h 277If Exist byteswap.in.h update byteswap.in.h byteswap.in-h
267If Exist dirent.in.h update dirent.in.h dirent.in-h 278If Exist dirent.in.h update dirent.in.h dirent.in-h
@@ -286,6 +297,7 @@ If Exist sys_types.in.h update sys_types.in.h sys_types.in-h
286If Exist sys_time.in.h update sys_time.in.h sys_time.in-h 297If Exist sys_time.in.h update sys_time.in.h sys_time.in-h
287If Exist time.in.h update time.in.h time.in-h 298If Exist time.in.h update time.in.h time.in-h
288If Exist unistd.in.h update unistd.in.h unistd.in-h 299If Exist unistd.in.h update unistd.in.h unistd.in-h
300Rem Only repository has the msdos/autogen directory
289If Exist Makefile.in sed -f ../msdos/sedlibcf.inp < Makefile.in > makefile.tmp 301If Exist Makefile.in sed -f ../msdos/sedlibcf.inp < Makefile.in > makefile.tmp
290If Exist ..\msdos\autogen\Makefile.in sed -f ../msdos/sedlibcf.inp < ..\msdos\autogen\Makefile.in > makefile.tmp 302If Exist ..\msdos\autogen\Makefile.in sed -f ../msdos/sedlibcf.inp < ..\msdos\autogen\Makefile.in > makefile.tmp
291sed -f ../msdos/sedlibmk.inp < makefile.tmp > Makefile 303sed -f ../msdos/sedlibmk.inp < makefile.tmp > Makefile
@@ -311,6 +323,12 @@ If Not Exist admin\unidata goto noadmin
311Echo Configuring the admin/unidata directory... 323Echo Configuring the admin/unidata directory...
312cd admin\unidata 324cd admin\unidata
313sed -f ../../msdos/sedadmin.inp < Makefile.in > Makefile 325sed -f ../../msdos/sedadmin.inp < Makefile.in > Makefile
326Echo Configuring the admin/charsets directory...
327cd ..\charsets
328sed -f ../../msdos/sedadmin.inp < Makefile.in > Makefile
329Echo Configuring the admin/grammars directory...
330cd ..\grammars
331sed -f ../../msdos/sedadmin.inp < Makefile.in > Makefile
314cd ..\.. 332cd ..\..
315:noadmin 333:noadmin
316rem ---------------------------------------------------------------------- 334rem ----------------------------------------------------------------------
@@ -345,3 +363,4 @@ set nodebug=
345set djgpp_ver= 363set djgpp_ver=
346set sys_malloc= 364set sys_malloc=
347set libxml= 365set libxml=
366set emver=
diff --git a/configure.ac b/configure.ac
index 5a6a72a0263..448c48d9caa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1159,16 +1159,9 @@ AC_PATH_PROG(GZIP_PROG, gzip)
1159test $with_compress_install != yes && test -n "$GZIP_PROG" && \ 1159test $with_compress_install != yes && test -n "$GZIP_PROG" && \
1160 GZIP_PROG=" # $GZIP_PROG # (disabled by configure --without-compress-install)" 1160 GZIP_PROG=" # $GZIP_PROG # (disabled by configure --without-compress-install)"
1161 1161
1162PAXCTL_dumped=
1163PAXCTL_notdumped=
1162if test $opsys = gnu-linux; then 1164if test $opsys = gnu-linux; then
1163 AC_PATH_PROG(PAXCTL, paxctl,,
1164 [$PATH$PATH_SEPARATOR/sbin$PATH_SEPARATOR/usr/sbin])
1165 if test "X$PAXCTL" != X; then
1166 AC_MSG_CHECKING([whether binaries have a PT_PAX_FLAGS header])
1167 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
1168 [if $PAXCTL -v conftest$EXEEXT >/dev/null 2>&1; then AC_MSG_RESULT(yes)
1169 else AC_MSG_RESULT(no); PAXCTL=""; fi])
1170 fi
1171
1172 if test "${SETFATTR+set}" != set; then 1165 if test "${SETFATTR+set}" != set; then
1173 AC_CACHE_CHECK([for setfattr], 1166 AC_CACHE_CHECK([for setfattr],
1174 [emacs_cv_prog_setfattr], 1167 [emacs_cv_prog_setfattr],
@@ -1179,6 +1172,7 @@ if test $opsys = gnu-linux; then
1179 emacs_cv_prog_setfattr=no 1172 emacs_cv_prog_setfattr=no
1180 fi]) 1173 fi])
1181 if test "$emacs_cv_prog_setfattr" = yes; then 1174 if test "$emacs_cv_prog_setfattr" = yes; then
1175 PAXCTL_notdumped='$(SETFATTR) -n user.pax.flags -v er'
1182 SETFATTR=setfattr 1176 SETFATTR=setfattr
1183 else 1177 else
1184 SETFATTR= 1178 SETFATTR=
@@ -1187,6 +1181,32 @@ if test $opsys = gnu-linux; then
1187 AC_SUBST([SETFATTR]) 1181 AC_SUBST([SETFATTR])
1188 fi 1182 fi
1189fi 1183fi
1184case $opsys,$PAXCTL_notdumped in
1185 gnu-linux, | netbsd,)
1186 AC_PATH_PROG([PAXCTL], [paxctl], [],
1187 [$PATH$PATH_SEPARATOR/sbin$PATH_SEPARATOR/usr/sbin])
1188 if test -n "$PAXCTL"; then
1189 if test "$opsys" = netbsd; then
1190 PAXCTL_dumped='$(PAXCTL) +a'
1191 PAXCTL_notdumped=$PAXCTL_dumped
1192 else
1193 AC_MSG_CHECKING([whether binaries have a PT_PAX_FLAGS header])
1194 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
1195 [if $PAXCTL -v conftest$EXEEXT >/dev/null 2>&1; then
1196 AC_MSG_RESULT([yes])
1197 else
1198 AC_MSG_RESULT([no])
1199 PAXCTL=
1200 fi])
1201 if test -n "$PAXCTL"; then
1202 PAXCTL_dumped='$(PAXCTL) -zex'
1203 PAXCTL_notdumped='$(PAXCTL) -r'
1204 fi
1205 fi
1206 fi;;
1207esac
1208AC_SUBST([PAXCTL_dumped])
1209AC_SUBST([PAXCTL_notdumped])
1190 1210
1191## Need makeinfo >= 4.7 (?) to build the manuals. 1211## Need makeinfo >= 4.7 (?) to build the manuals.
1192if test "$MAKEINFO" != "no"; then 1212if test "$MAKEINFO" != "no"; then
diff --git a/doc/emacs/basic.texi b/doc/emacs/basic.texi
index 68581d03a85..b6939be4905 100644
--- a/doc/emacs/basic.texi
+++ b/doc/emacs/basic.texi
@@ -337,10 +337,11 @@ move to the column number specified by the argument's numeric value.
337@kindex C-x C-n 337@kindex C-x C-n
338@findex set-goal-column 338@findex set-goal-column
339Use the current column of point as the @dfn{semipermanent goal column} 339Use the current column of point as the @dfn{semipermanent goal column}
340for @kbd{C-n} and @kbd{C-p} (@code{set-goal-column}). When a 340for @kbd{C-n} and @kbd{C-p} (@code{set-goal-column}) in the current
341semipermanent goal column is in effect, those commands always try to 341buffer. When a semipermanent goal column is in effect, those commands
342move to this column, or as close as possible to it, after moving 342always try to move to this column, or as close as possible to it,
343vertically. The goal column remains in effect until canceled. 343after moving vertically. The goal column remains in effect until
344canceled.
344 345
345@item C-u C-x C-n 346@item C-u C-x C-n
346Cancel the goal column. Henceforth, @kbd{C-n} and @kbd{C-p} try to 347Cancel the goal column. Henceforth, @kbd{C-n} and @kbd{C-p} try to
diff --git a/lisp/emacs-lisp/cursor-sensor.el b/lisp/emacs-lisp/cursor-sensor.el
index f1ab82ecc4a..2231179de1c 100644
--- a/lisp/emacs-lisp/cursor-sensor.el
+++ b/lisp/emacs-lisp/cursor-sensor.el
@@ -31,6 +31,7 @@
31 31
32;;; Code: 32;;; Code:
33 33
34;;;###autoload
34(defvar cursor-sensor-inhibit nil) 35(defvar cursor-sensor-inhibit nil)
35 36
36(defun cursor-sensor--intangible-p (pos) 37(defun cursor-sensor--intangible-p (pos)
diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el
index 47aff333d44..80ac8eff322 100644
--- a/lisp/emacs-lisp/eieio.el
+++ b/lisp/emacs-lisp/eieio.el
@@ -235,7 +235,7 @@ This method is obsolete."
235 (let ((f (intern (format "%s-child-p" name)))) 235 (let ((f (intern (format "%s-child-p" name))))
236 `((defalias ',f ',testsym2) 236 `((defalias ',f ',testsym2)
237 (make-obsolete 237 (make-obsolete
238 ',f ,(format "use (cl-typep ... \\='%s) instead" name) 238 ',f ,(format "use (cl-typep ... '%s) instead" name)
239 "25.1")))) 239 "25.1"))))
240 240
241 ;; When using typep, (typep OBJ 'myclass) returns t for objects which 241 ;; When using typep, (typep OBJ 'myclass) returns t for objects which
diff --git a/lisp/eshell/esh-cmd.el b/lisp/eshell/esh-cmd.el
index 60615131e20..d3613d31405 100644
--- a/lisp/eshell/esh-cmd.el
+++ b/lisp/eshell/esh-cmd.el
@@ -800,7 +800,7 @@ This macro calls itself recursively, with NOTFIRST non-nil."
800(defmacro eshell-do-pipelines-synchronously (pipeline) 800(defmacro eshell-do-pipelines-synchronously (pipeline)
801 "Execute the commands in PIPELINE in sequence synchronously. 801 "Execute the commands in PIPELINE in sequence synchronously.
802Output of each command is passed as input to the next one in the pipeline. 802Output of each command is passed as input to the next one in the pipeline.
803This is used on systems where `start-process' is not supported." 803This is used on systems where async subprocesses are not supported."
804 (when (setq pipeline (cadr pipeline)) 804 (when (setq pipeline (cadr pipeline))
805 `(progn 805 `(progn
806 ,(when (cdr pipeline) 806 ,(when (cdr pipeline)
@@ -838,7 +838,7 @@ This is used on systems where `start-process' is not supported."
838 "Execute the commands in PIPELINE, connecting each to one another." 838 "Execute the commands in PIPELINE, connecting each to one another."
839 `(let ((eshell-in-pipeline-p t) tailproc) 839 `(let ((eshell-in-pipeline-p t) tailproc)
840 (progn 840 (progn
841 ,(if (fboundp 'start-process) 841 ,(if (fboundp 'make-process)
842 `(eshell-do-pipelines ,pipeline) 842 `(eshell-do-pipelines ,pipeline)
843 `(let ((tail-handles (eshell-create-handles 843 `(let ((tail-handles (eshell-create-handles
844 (car (aref eshell-current-handles 844 (car (aref eshell-current-handles
diff --git a/lisp/faces.el b/lisp/faces.el
index 1ceba483a57..3e26eadc6bb 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -2319,7 +2319,11 @@ If you set `term-file-prefix' to nil, this function does nothing."
2319 :group 'basic-faces) 2319 :group 'basic-faces)
2320 2320
2321(defface variable-pitch 2321(defface variable-pitch
2322 '((t :family "Sans Serif")) 2322 '((((type w32))
2323 ;; This is a kludgey workaround for an issue discussed in
2324 ;; http://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00746.html.
2325 :font "-outline-Arial-normal-normal-normal-sans-*-*-*-*-p-*-iso8859-1")
2326 (t :family "Sans Serif"))
2323 "The basic variable-pitch face." 2327 "The basic variable-pitch face."
2324 :group 'basic-faces) 2328 :group 'basic-faces)
2325 2329
diff --git a/lisp/follow.el b/lisp/follow.el
index 5801f79341e..c510e5a848b 100644
--- a/lisp/follow.el
+++ b/lisp/follow.el
@@ -399,11 +399,11 @@ virtual window. This is accomplished by two main techniques:
399 makes it possible to walk between windows using normal cursor 399 makes it possible to walk between windows using normal cursor
400 movement commands. 400 movement commands.
401 401
402Follow mode comes to its prime when used on a large screen and two 402Follow mode comes to its prime when used on a large screen and two or
403side-by-side windows are used. The user can, with the help of Follow 403more side-by-side windows are used. The user can, with the help of
404mode, use two full-height windows as though they would have been 404Follow mode, use these full-height windows as though they were one.
405one. Imagine yourself editing a large function, or section of text, 405Imagine yourself editing a large function, or section of text, and
406and being able to use 144 lines instead of the normal 72... (your 406being able to use 144 or 216 lines instead of the normal 72... (your
407mileage may vary). 407mileage may vary).
408 408
409To split one large window into two side-by-side windows, the commands 409To split one large window into two side-by-side windows, the commands
@@ -532,6 +532,80 @@ Return the new position."
532;; position... (This would also be corrected if we would have had a 532;; position... (This would also be corrected if we would have had a
533;; good redisplay abstraction.) 533;; good redisplay abstraction.)
534 534
535(defun follow-scroll-up-arg (arg)
536 "Scroll the text in a follow mode window chain up by ARG lines.
537If ARG is nil, scroll the size of the current window.
538
539This is an internal function for `follow-scroll-up' and
540`follow-scroll-up-window'."
541 (let ((opoint (point)) (owin (selected-window)))
542 (while
543 ;; If we are too near EOB, try scrolling the previous window.
544 (condition-case nil (progn (scroll-up arg) nil)
545 (end-of-buffer
546 (condition-case nil (progn (follow-previous-window) t)
547 (error
548 (select-window owin)
549 (goto-char opoint)
550 (signal 'end-of-buffer nil))))))
551 (unless (and scroll-preserve-screen-position
552 (get this-command 'scroll-command))
553 (goto-char opoint))
554 (setq follow-fixed-window t)))
555
556(defun follow-scroll-down-arg (arg)
557 "Scroll the text in a follow mode window chain down by ARG lines.
558If ARG is nil, scroll the size of the current window.
559
560This is an internal function for `follow-scroll-down' and
561`follow-scroll-down-window'."
562 (let ((opoint (point)))
563 (scroll-down arg)
564 (unless (and scroll-preserve-screen-position
565 (get this-command 'scroll-command))
566 (goto-char opoint))
567 (setq follow-fixed-window t)))
568
569;;;###autoload
570(defun follow-scroll-up-window (&optional arg)
571 "Scroll text in a Follow mode window up by that window's size.
572The other windows in the window chain will scroll synchronously.
573
574If called with no ARG, the `next-screen-context-lines' last lines of
575the window will be visible after the scroll.
576
577If called with an argument, scroll ARG lines up.
578Negative ARG means scroll downward.
579
580Works like `scroll-up' when not in Follow mode."
581 (interactive "P")
582 (cond ((not follow-mode)
583 (scroll-up arg))
584 ((eq arg '-)
585 (follow-scroll-down-window))
586 (t (follow-scroll-up-arg arg))))
587(put 'follow-scroll-up-window 'scroll-command t)
588
589;;;###autoload
590(defun follow-scroll-down-window (&optional arg)
591 "Scroll text in a Follow mode window down by that window's size.
592The other windows in the window chain will scroll synchronously.
593
594If called with no ARG, the `next-screen-context-lines' top lines of
595the window in the chain will be visible after the scroll.
596
597If called with an argument, scroll ARG lines down.
598Negative ARG means scroll upward.
599
600Works like `scroll-down' when not in Follow mode."
601 (interactive "P")
602 (cond ((not follow-mode)
603 (scroll-down arg))
604 ((eq arg '-)
605 (follow-scroll-up-window))
606 (t (follow-scroll-down-arg arg))))
607(put 'follow-scroll-down-window 'scroll-command t)
608
535;;;###autoload 609;;;###autoload
536(defun follow-scroll-up (&optional arg) 610(defun follow-scroll-up (&optional arg)
537 "Scroll text in a Follow mode window chain up. 611 "Scroll text in a Follow mode window chain up.
@@ -546,23 +620,18 @@ Works like `scroll-up' when not in Follow mode."
546 (interactive "P") 620 (interactive "P")
547 (cond ((not follow-mode) 621 (cond ((not follow-mode)
548 (scroll-up arg)) 622 (scroll-up arg))
549 ((eq arg '-) 623 (arg (follow-scroll-up-arg arg))
550 (follow-scroll-down)) 624 (t
551 (t 625 (let* ((windows (follow-all-followers))
552 (let ((opoint (point)) (owin (selected-window))) 626 (end (window-end (car (reverse windows)))))
553 (while 627 (if (eq end (point-max))
554 ;; If we are too near EOB, try scrolling the previous window. 628 (signal 'end-of-buffer nil)
555 (condition-case nil (progn (scroll-up arg) nil) 629 (select-window (car windows))
556 (end-of-buffer 630 ;; `window-end' might return nil.
557 (condition-case nil (progn (follow-previous-window) t) 631 (if end
558 (error 632 (goto-char end))
559 (select-window owin) 633 (vertical-motion (- next-screen-context-lines))
560 (goto-char opoint) 634 (set-window-start (car windows) (point)))))))
561 (signal 'end-of-buffer nil))))))
562 (unless (and scroll-preserve-screen-position
563 (get this-command 'scroll-command))
564 (goto-char opoint))
565 (setq follow-fixed-window t)))))
566(put 'follow-scroll-up 'scroll-command t) 635(put 'follow-scroll-up 'scroll-command t)
567 636
568;;;###autoload 637;;;###autoload
@@ -579,15 +648,22 @@ Works like `scroll-down' when not in Follow mode."
579 (interactive "P") 648 (interactive "P")
580 (cond ((not follow-mode) 649 (cond ((not follow-mode)
581 (scroll-down arg)) 650 (scroll-down arg))
582 ((eq arg '-) 651 (arg (follow-scroll-down-arg arg))
583 (follow-scroll-up)) 652 (t
584 (t 653 (let* ((windows (follow-all-followers))
585 (let ((opoint (point))) 654 (win (car (reverse windows)))
586 (scroll-down arg) 655 (start (window-start (car windows))))
587 (unless (and scroll-preserve-screen-position 656 (if (eq start (point-min))
588 (get this-command 'scroll-command)) 657 (signal 'beginning-of-buffer nil)
589 (goto-char opoint)) 658 (select-window win)
590 (setq follow-fixed-window t))))) 659 (goto-char start)
660 (vertical-motion (- (- (window-height win)
661 (if header-line-format 2 1)
662 next-screen-context-lines)))
663 (set-window-start win (point))
664 (goto-char start)
665 (vertical-motion (- next-screen-context-lines 1))
666 (setq follow-internal-force-redisplay t))))))
591(put 'follow-scroll-down 'scroll-command t) 667(put 'follow-scroll-down 'scroll-command t)
592 668
593(declare-function comint-adjust-point "comint" (window)) 669(declare-function comint-adjust-point "comint" (window))
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index 2ce21a88731..f2bb8e25695 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -72,7 +72,7 @@
72 (let ((map (make-sparse-keymap "Set Coding System"))) 72 (let ((map (make-sparse-keymap "Set Coding System")))
73 (bindings--define-key map [set-buffer-process-coding-system] 73 (bindings--define-key map [set-buffer-process-coding-system]
74 '(menu-item "For I/O with Subprocess" set-buffer-process-coding-system 74 '(menu-item "For I/O with Subprocess" set-buffer-process-coding-system
75 :visible (fboundp 'start-process) 75 :visible (fboundp 'make-process)
76 :enable (get-buffer-process (current-buffer)) 76 :enable (get-buffer-process (current-buffer))
77 :help "How to en/decode I/O from/to subprocess connected to this buffer")) 77 :help "How to en/decode I/O from/to subprocess connected to this buffer"))
78 (bindings--define-key map [set-next-selection-coding-system] 78 (bindings--define-key map [set-next-selection-coding-system]
diff --git a/lisp/isearch.el b/lisp/isearch.el
index 5257a23223f..b2223e7b308 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -840,7 +840,6 @@ See the command `isearch-forward-symbol' for more information."
840 (isearch-update))))) 840 (isearch-update)))))
841 841
842 842
843(defvar cursor-sensor-inhibit)
844;; isearch-mode only sets up incremental search for the minor mode. 843;; isearch-mode only sets up incremental search for the minor mode.
845;; All the work is done by the isearch-mode commands. 844;; All the work is done by the isearch-mode commands.
846 845
@@ -973,8 +972,6 @@ The last thing is to trigger a new round of lazy highlighting."
973 (setq cursor-sensor-inhibit (delq 'isearch cursor-sensor-inhibit)))) 972 (setq cursor-sensor-inhibit (delq 'isearch cursor-sensor-inhibit))))
974 (setq isearch--current-buffer (current-buffer)) 973 (setq isearch--current-buffer (current-buffer))
975 (make-local-variable 'cursor-sensor-inhibit) 974 (make-local-variable 'cursor-sensor-inhibit)
976 (unless (boundp 'cursor-sensor-inhibit)
977 (setq cursor-sensor-inhibit nil))
978 ;; Suspend things like cursor-intangible during Isearch so we can search 975 ;; Suspend things like cursor-intangible during Isearch so we can search
979 ;; even within intangible text. 976 ;; even within intangible text.
980 (push 'isearch cursor-sensor-inhibit)) 977 (push 'isearch cursor-sensor-inhibit))
diff --git a/lisp/man.el b/lisp/man.el
index b483dd12e8a..2b2ee99a9be 100644
--- a/lisp/man.el
+++ b/lisp/man.el
@@ -619,7 +619,7 @@ This is necessary if one wants to dump man.el with Emacs."
619 ;; `call-process' below sends it to /dev/null, 619 ;; `call-process' below sends it to /dev/null,
620 ;; so we don't need `2>' even with DOS shells 620 ;; so we don't need `2>' even with DOS shells
621 ;; which do support stderr redirection. 621 ;; which do support stderr redirection.
622 ((not (fboundp 'start-process)) " %s") 622 ((not (fboundp 'make-process)) " %s")
623 ((concat " %s 2>" null-device))))) 623 ((concat " %s 2>" null-device)))))
624 (flist Man-filter-list)) 624 (flist Man-filter-list))
625 (while (and flist (car flist)) 625 (while (and flist (car flist))
@@ -1080,7 +1080,7 @@ Return the buffer in which the manpage will appear."
1080 "[cleaning...]") 1080 "[cleaning...]")
1081 'face 'mode-line-emphasis))) 1081 'face 'mode-line-emphasis)))
1082 (Man-start-calling 1082 (Man-start-calling
1083 (if (fboundp 'start-process) 1083 (if (fboundp 'make-process)
1084 (let ((proc (start-process 1084 (let ((proc (start-process
1085 manual-program buffer 1085 manual-program buffer
1086 (if (memq system-type '(cygwin windows-nt)) 1086 (if (memq system-type '(cygwin windows-nt))
diff --git a/lisp/org/org.el b/lisp/org/org.el
index b0e1e2047da..1921a59bbd0 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -15069,7 +15069,7 @@ a *different* entry, you cannot use these techniques."
15069 (if (not scope) 15069 (if (not scope)
15070 (progn 15070 (progn
15071 (org-agenda-prepare-buffers 15071 (org-agenda-prepare-buffers
15072 (list (buffer-file-name (current-buffer)))) 15072 (and buffer-file-name (list buffer-file-name)))
15073 (setq res (org-scan-tags func matcher todo-only start-level))) 15073 (setq res (org-scan-tags func matcher todo-only start-level)))
15074 ;; Get the right scope 15074 ;; Get the right scope
15075 (cond 15075 (cond
@@ -15081,7 +15081,7 @@ a *different* entry, you cannot use these techniques."
15081 (setq scope (org-agenda-files t)) 15081 (setq scope (org-agenda-files t))
15082 (setq scope (org-add-archive-files scope))) 15082 (setq scope (org-add-archive-files scope)))
15083 ((eq scope 'file) 15083 ((eq scope 'file)
15084 (setq scope (list (buffer-file-name)))) 15084 (setq scope (and buffer-file-name (list buffer-file-name))))
15085 ((eq scope 'file-with-archives) 15085 ((eq scope 'file-with-archives)
15086 (setq scope (org-add-archive-files (list (buffer-file-name)))))) 15086 (setq scope (org-add-archive-files (list (buffer-file-name))))))
15087 (org-agenda-prepare-buffers scope) 15087 (org-agenda-prepare-buffers scope)
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index c6aa56e11ff..76a0b201816 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -3440,7 +3440,7 @@ comment at the start of cc-engine.el for more info."
3440 (< c-state-old-cpp-beg here)) 3440 (< c-state-old-cpp-beg here))
3441 (c-with-all-but-one-cpps-commented-out 3441 (c-with-all-but-one-cpps-commented-out
3442 c-state-old-cpp-beg 3442 c-state-old-cpp-beg
3443 (min c-state-old-cpp-end here) 3443 c-state-old-cpp-end
3444 (c-invalidate-state-cache-1 here)) 3444 (c-invalidate-state-cache-1 here))
3445 (c-with-cpps-commented-out 3445 (c-with-cpps-commented-out
3446 (c-invalidate-state-cache-1 here)))) 3446 (c-invalidate-state-cache-1 here))))
@@ -5835,6 +5835,7 @@ comment at the start of cc-engine.el for more info."
5835 ;; 5835 ;;
5836 ;; This macro might do hidden buffer changes. 5836 ;; This macro might do hidden buffer changes.
5837 `(let (res) 5837 `(let (res)
5838 (setq c-last-identifier-range nil)
5838 (while (if (setq res ,(if (eq type 'type) 5839 (while (if (setq res ,(if (eq type 'type)
5839 `(c-forward-type) 5840 `(c-forward-type)
5840 `(c-forward-name))) 5841 `(c-forward-name)))
@@ -9024,11 +9025,11 @@ comment at the start of cc-engine.el for more info."
9024 (not (looking-at "="))))) 9025 (not (looking-at "=")))))
9025 b-pos))) 9026 b-pos)))
9026 9027
9027(defun c-backward-colon-prefixed-type () 9028(defun c-backward-typed-enum-colon ()
9028 ;; We're at the token after what might be a type prefixed with a colon. Try 9029 ;; We're at a "{" which might be the opening brace of a enum which is
9029 ;; moving backward over this type and the colon. On success, return t and 9030 ;; strongly typed (by a ":" followed by a type). If this is the case, leave
9030 ;; leave point before colon; on failure, leave point unchanged. Will clobber 9031 ;; point before the colon and return t. Otherwise leave point unchanged and return nil.
9031 ;; match data. 9032 ;; Match data will be clobbered.
9032 (let ((here (point)) 9033 (let ((here (point))
9033 (colon-pos nil)) 9034 (colon-pos nil))
9034 (save-excursion 9035 (save-excursion
@@ -9037,7 +9038,10 @@ comment at the start of cc-engine.el for more info."
9037 (or (not (looking-at "\\s)")) 9038 (or (not (looking-at "\\s)"))
9038 (c-go-up-list-backward)) 9039 (c-go-up-list-backward))
9039 (cond 9040 (cond
9040 ((eql (char-after) ?:) 9041 ((and (eql (char-after) ?:)
9042 (save-excursion
9043 (c-backward-syntactic-ws)
9044 (c-on-identifier)))
9041 (setq colon-pos (point)) 9045 (setq colon-pos (point))
9042 (forward-char) 9046 (forward-char)
9043 (c-forward-syntactic-ws) 9047 (c-forward-syntactic-ws)
@@ -9061,7 +9065,7 @@ comment at the start of cc-engine.el for more info."
9061 (let ((here (point)) 9065 (let ((here (point))
9062 up-sexp-pos before-identifier) 9066 up-sexp-pos before-identifier)
9063 (when c-recognize-post-brace-list-type-p 9067 (when c-recognize-post-brace-list-type-p
9064 (c-backward-colon-prefixed-type)) 9068 (c-backward-typed-enum-colon))
9065 (while 9069 (while
9066 (and 9070 (and
9067 (eq (c-backward-token-2) 0) 9071 (eq (c-backward-token-2) 0)
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index cc04fe946b9..f2e397a4136 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -1743,7 +1743,7 @@ Returns the compilation buffer created."
1743 (funcall compilation-process-setup-function)) 1743 (funcall compilation-process-setup-function))
1744 (and outwin (compilation-set-window-height outwin)) 1744 (and outwin (compilation-set-window-height outwin))
1745 ;; Start the compilation. 1745 ;; Start the compilation.
1746 (if (fboundp 'start-process) 1746 (if (fboundp 'make-process)
1747 (let ((proc 1747 (let ((proc
1748 (if (eq mode t) 1748 (if (eq mode t)
1749 ;; comint uses `start-file-process'. 1749 ;; comint uses `start-file-process'.
diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el
index 8c93ffa8731..48eb3e778e1 100644
--- a/lisp/progmodes/js.el
+++ b/lisp/progmodes/js.el
@@ -1892,9 +1892,11 @@ In particular, return the buffer position of the first `for' kwd."
1892 ;; To skip arbitrary expressions we need the parser, 1892 ;; To skip arbitrary expressions we need the parser,
1893 ;; so we'll just guess at it. 1893 ;; so we'll just guess at it.
1894 (if (and (> end (point)) ; Not empty literal. 1894 (if (and (> end (point)) ; Not empty literal.
1895 (re-search-forward "[^,]]* \\(for\\) " end t) 1895 (re-search-forward "[^,]]* \\(for\\_>\\)" end t)
1896 ;; Not inside comment or string literal. 1896 ;; Not inside comment or string literal.
1897 (not (nth 8 (parse-partial-sexp bracket (point))))) 1897 (let ((status (parse-partial-sexp bracket (point))))
1898 (and (= 1 (car status))
1899 (not (nth 8 status)))))
1898 (match-beginning 1))))))) 1900 (match-beginning 1)))))))
1899 1901
1900(defun js--array-comp-indentation (bracket for-kwd) 1902(defun js--array-comp-indentation (bracket for-kwd)
diff --git a/lisp/simple.el b/lisp/simple.el
index 1247cb25da2..e2570625f32 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -6421,7 +6421,8 @@ Those commands will move to this position in the line moved to
6421rather than trying to keep the same horizontal position. 6421rather than trying to keep the same horizontal position.
6422With a non-nil argument ARG, clears out the goal column 6422With a non-nil argument ARG, clears out the goal column
6423so that \\[next-line] and \\[previous-line] resume vertical motion. 6423so that \\[next-line] and \\[previous-line] resume vertical motion.
6424The goal column is stored in the variable `goal-column'." 6424The goal column is stored in the variable `goal-column'.
6425This is a buffer-local setting."
6425 (interactive "P") 6426 (interactive "P")
6426 (if arg 6427 (if arg
6427 (progn 6428 (progn
diff --git a/lisp/term/internal.el b/lisp/term/internal.el
index f73a107df87..0fd0f2237a5 100644
--- a/lisp/term/internal.el
+++ b/lisp/term/internal.el
@@ -233,13 +233,13 @@
233 "U*!" "U*'" "R*;" "!:" ":'" "!*" nil nil nil "w*j" 233 "U*!" "U*'" "R*;" "!:" ":'" "!*" nil nil nil "w*j"
234 nil nil "w*?" nil "O*!" "O*'" "W*!" "W*'" "W*J" "/*" 234 nil nil "w*?" nil "O*!" "O*'" "W*!" "W*'" "W*J" "/*"
235 ";;" nil nil nil "1N" "1M" "3M" "4M" "6M" nil ; Gen Punct 235 ";;" nil nil nil "1N" "1M" "3M" "4M" "6M" nil ; Gen Punct
236 nil "1T" "1H" nil nil nil "LRM" "RLM" "-1" nil 236 nil "1T" "1H" nil nil nil "LRM" "RLM" "-" "-"
237 nil "--" "---" "===" "!2" "=2" "6`" "'9" ".9" "9'" 237 "-" "--" "---" "===" "!2" "=2" "'" "'" ".9" "9'"
238 "``" "''" ":9" "9``" "/-" "/=" "sb" "3b" nil ".." 238 "\"" "\"" ":9" "9``" "/-" "/=" "sb" "3b" nil ".."
239 "..." ".-" "LSep" "PSep" "LR[" "RL[" "PDF" "LRO" "RLO" 255 239 "..." ".-" "LSep" "PSep" "LR[" "RL[" "PDF" "LRO" "RLO" 255
240 "%o" "%oo" "'" "''" "\"'" "`" "``" "```" ".^" "<," 240 "%o" "%oo" "'" "''" "\"'" "`" "``" "```" ".^" "<,"
241 ",>" ":X" "!!" "?!" "'-" nil nil nil nil "-b" 241 ",>" ":X" "!!" "?!" "'-" nil nil nil nil "-b"
242 "/f" nil nil nil nil nil nil nil nil nil 242 "/f" nil nil "??" "?!" "!?" nil nil nil nil
243 nil nil nil nil nil nil nil nil nil nil 243 nil nil nil nil nil nil nil nil nil nil
244 nil nil nil nil nil nil nil nil nil nil 244 nil nil nil nil nil nil nil nil nil nil
245 nil nil nil nil nil nil nil nil nil nil 245 nil nil nil nil nil nil nil nil nil nil
@@ -265,17 +265,17 @@
265 "oK" "AO" nil nil "Est" nil nil nil nil nil 265 "oK" "AO" nil nil "Est" nil nil nil nil nil
266 nil "Aleph" "Bet" "Gimel" "Dalet" "=i=" nil nil nil nil 266 nil "Aleph" "Bet" "Gimel" "Dalet" "=i=" nil nil nil nil
267 nil nil nil nil nil nil nil nil nil nil 267 nil nil nil nil nil nil nil nil nil nil
268 nil nil nil nil nil nil nil nil nil nil 268 nil nil nil nil nil nil nil nil "1/7" "1/9"
269 nil "1/3" "2/3" "1/5" "2/5" "3/5" "4/5" "1/6" "5/6" "1/8" 269 "1/10" "1/3" "2/3" "1/5" "2/5" "3/5" "4/5" "1/6" "5/6" "1/8"
270 "3/8" "5/8" "7/8" "1/" ".I" "II" "III" "IV" ".V" "VI" 270 "3/8" "5/8" "7/8" "1/" ".I" "II" "III" "IV" ".V" "VI"
271 "VII" "VIII" "IX" "X" "XI" "XII" ".L" ".C" ".D" ".M" 271 "VII" "VIII" "IX" "X" "XI" "XII" ".L" ".C" ".D" ".M"
272 ".i" "ii" "iii" "iv" ".v" "vi" "vii" "viii" "ix" ".x" 272 ".i" "ii" "iii" "iv" ".v" "vi" "vii" "viii" "ix" ".x"
273 "xi" ".l" ".c" ".d" ".m" "CD" "DD" "CoD" "CI" nil 273 "xi" "xii" ".l" ".c" ".d" ".m" "CD" "DD" "CoD" "CI"
274 nil nil nil nil nil nil nil nil nil nil 274 nil nil nil nil nil nil nil nil nil nil
275 nil "<-" "|^" "->" "|v" "<->" "v|^" "^\\" "/^" "\\v" 275 nil nil "<-" "|^" "->" "|v" "<->" "v|^" "^\\" "/^"
276 "v/" "<-/" "/->" "<~" "~>" "<<-" "|^^" "->>" "|vv" "<-<" 276 "\\v" "v/" "<-/" "/->" "<~" "~>" "<<-" "|^^" "->>" "|vv"
277 ">->" "<-|" "_|^" "|->" "-|v" "_v|^" "<-?" "?->" "<-o" "o->" 277 "<-<" ">->" "<-|" "_|^" "|->" "-|v" "_v|^" "<-?" "?->" "<-o"
278 "<~>" "<-/>" nil nil nil nil nil nil nil nil 278 "o->" "<~>" "<-/>" nil nil nil nil nil nil nil
279 nil nil nil nil nil nil nil nil nil nil 279 nil nil nil nil nil nil nil nil nil nil
280 nil nil nil nil nil nil nil nil nil nil 280 nil nil nil nil nil nil nil nil nil nil
281 nil nil nil "<=/" "<=/>" "/=>" "<=" "||^" "=>" "||v" 281 nil nil nil "<=/" "<=/>" "/=>" "<=" "||^" "=>" "||v"
@@ -299,7 +299,7 @@
299 "~<'" "`>~" "/<'" "/`>" "(C" ")C" "/(C" "/)C" "(_" ")_" 299 "~<'" "`>~" "/<'" "/`>" "(C" ")C" "/(C" "/)C" "(_" ")_"
300 "/(_" "/)_" nil nil nil nil nil nil nil nil 300 "/(_" "/)_" nil nil nil nil nil nil nil nil
301 nil nil nil "0+" "0-" "0x" "0/" "0." "0o" "0*" 301 nil nil nil "0+" "0-" "0x" "0/" "0." "0o" "0*"
302 "0=" "0_" nil nil nil nil "|T" "T|" "-T" "_T" 302 "0=" "0_" nil nil nil nil "|-" "-|" "-T" "_T"
303 nil nil nil nil nil nil nil nil nil nil 303 nil nil nil nil nil nil nil nil nil nil
304 nil nil nil nil nil nil nil nil nil "-,-" 304 nil nil nil nil nil nil nil nil nil "-,-"
305 nil "XOR" "NAND" "NOR" nil nil nil nil nil nil 305 nil "XOR" "NAND" "NOR" nil nil nil nil nil nil
@@ -357,8 +357,10 @@
357 "M-o" "N-o" "O-o" "P-o" "Q-o" "R-o" "S-o" "T-o" "U-o" "V-o" 357 "M-o" "N-o" "O-o" "P-o" "Q-o" "R-o" "S-o" "T-o" "U-o" "V-o"
358 "W-o" "X-o" "Y-o" "Z-o" "a-o" "b-o" "c-o" "d-o" "e-o" "f-o" 358 "W-o" "X-o" "Y-o" "Z-o" "a-o" "b-o" "c-o" "d-o" "e-o" "f-o"
359 "g-o" "h-o" "i-o" "j-o" "k-o" "l-o" "m-o" "n-o" "o-o" "p-o" 359 "g-o" "h-o" "i-o" "j-o" "k-o" "l-o" "m-o" "n-o" "o-o" "p-o"
360 "q-o" "r-o" "s-o" "t-o" "u-o" "v-o" "w-o" "x-o" "y-o" "z-o" 360 "q-o" "r-o" "s-o" "t-o" "u-o" "v-o" "w-o" "x-o" "y-o" "z-o" "0-o" ]
361 "0-o" ] 361 )
362 (9733 9734
363 ["-!-" "-*-"]
362 ) 364 )
363 ) 365 )
364 366
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index a139c061f59..284fea4acd5 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -996,7 +996,7 @@ and added as a submenu of the \"Edit\" menu.")
996(defvar ispell-async-processp (and (fboundp 'delete-process) 996(defvar ispell-async-processp (and (fboundp 'delete-process)
997 (fboundp 'process-send-string) 997 (fboundp 'process-send-string)
998 (fboundp 'accept-process-output) 998 (fboundp 'accept-process-output)
999 ;;(fboundp 'start-process) 999 ;;(fboundp 'make-process)
1000 ;;(fboundp 'set-process-filter) 1000 ;;(fboundp 'set-process-filter)
1001 ;;(fboundp 'process-kill-without-query) 1001 ;;(fboundp 'process-kill-without-query)
1002 ) 1002 )
diff --git a/lisp/vc/diff.el b/lisp/vc/diff.el
index a8c3fcca2fc..6b316c4073c 100644
--- a/lisp/vc/diff.el
+++ b/lisp/vc/diff.el
@@ -167,7 +167,7 @@ Possible values are:
167 (setq default-directory thisdir) 167 (setq default-directory thisdir)
168 (let ((inhibit-read-only t)) 168 (let ((inhibit-read-only t))
169 (insert command "\n")) 169 (insert command "\n"))
170 (if (and (not no-async) (fboundp 'start-process)) 170 (if (and (not no-async) (fboundp 'make-process))
171 (let ((proc (start-process "Diff" buf shell-file-name 171 (let ((proc (start-process "Diff" buf shell-file-name
172 shell-command-switch command))) 172 shell-command-switch command)))
173 (set-process-filter proc 'diff-process-filter) 173 (set-process-filter proc 'diff-process-filter)
diff --git a/lisp/window.el b/lisp/window.el
index 9f63e86ce95..bd5275bffc9 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -8585,38 +8585,40 @@ A window is associated with a process if that window is
8585displaying that processes's buffer." 8585displaying that processes's buffer."
8586 (let ((processes (process-list)) 8586 (let ((processes (process-list))
8587 (process-windows nil)) 8587 (process-windows nil))
8588 (walk-windows 8588 (if processes
8589 (lambda (window) 8589 (walk-windows
8590 (let ((buffer (window-buffer window)) 8590 (lambda (window)
8591 (iter processes)) 8591 (let ((buffer (window-buffer window))
8592 (while (let ((process (car iter))) 8592 (iter processes))
8593 (if (and (process-live-p process) 8593 (while (let ((process (car iter)))
8594 (eq buffer (process-buffer process))) 8594 (if (and (process-live-p process)
8595 (let ((procwin (assq process process-windows))) 8595 (eq buffer (process-buffer process)))
8596 ;; Add this window to the list of windows 8596 (let ((procwin (assq process process-windows)))
8597 ;; displaying process. 8597 ;; Add this window to the list of windows
8598 (if procwin 8598 ;; displaying process.
8599 (push window (cdr procwin)) 8599 (if procwin
8600 (push (list process window) process-windows)) 8600 (push window (cdr procwin))
8601 ;; We found our process for this window, so 8601 (push (list process window) process-windows))
8602 ;; stop iterating over the process list. 8602 ;; We found our process for this window, so
8603 nil) 8603 ;; stop iterating over the process list.
8604 (setf iter (cdr iter))))))) 8604 nil)
8605 1 t) 8605 (setf iter (cdr iter)))))))
8606 1 t))
8606 process-windows)) 8607 process-windows))
8607 8608
8608(defun window--adjust-process-windows () 8609(defun window--adjust-process-windows ()
8609 "Update process window sizes to match the current window configuration." 8610 "Update process window sizes to match the current window configuration."
8610 (dolist (procwin (window--process-window-list)) 8611 (when (fboundp 'process-list)
8611 (let ((process (car procwin))) 8612 (dolist (procwin (window--process-window-list))
8612 (with-demoted-errors "Error adjusting window size: %S" 8613 (let ((process (car procwin)))
8613 (with-current-buffer (process-buffer process) 8614 (with-demoted-errors "Error adjusting window size: %S"
8614 (let ((size (funcall 8615 (with-current-buffer (process-buffer process)
8615 (or (process-get process 'adjust-window-size-function) 8616 (let ((size (funcall
8616 window-adjust-process-window-size-function) 8617 (or (process-get process 'adjust-window-size-function)
8617 process (cdr procwin)))) 8618 window-adjust-process-window-size-function)
8618 (when size 8619 process (cdr procwin))))
8619 (set-process-window-size process (cdr size) (car size))))))))) 8620 (when size
8621 (set-process-window-size process (cdr size) (car size))))))))))
8620 8622
8621(add-hook 'window-configuration-change-hook 'window--adjust-process-windows) 8623(add-hook 'window-configuration-change-hook 'window--adjust-process-windows)
8622 8624
diff --git a/msdos/sed1v2.inp b/msdos/sed1v2.inp
index 71646821a59..383105a3f30 100644
--- a/msdos/sed1v2.inp
+++ b/msdos/sed1v2.inp
@@ -15,32 +15,24 @@
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16# 16#
17# ---------------------------------------------------------------------- 17# ----------------------------------------------------------------------
18s/^#.*//
19s/^[ \f\t][ \f\t]*$// 18s/^[ \f\t][ \f\t]*$//
20s/^ / / 19s/^ / /
21s/\.h\.in/.h-in/ 20s/\.h\.in/.h-in/
22/^MAKE *=/s/^/# /
23/^SHELL *=/s/^/# / 21/^SHELL *=/s/^/# /
24/^srcdir *=/s/@[^@\n]*@/./ 22/^srcdir *=/s/@[^@\n]*@/./
25/^abs_builddir *=/s|@abs_builddir@|../src| 23/^top_srcdir *=/s/@[^@\n]*@/../
26/^VPATH *=/s/@[^@\n]*@/./ 24/^CC *=/s/@[^@\n]*@/gcc -std=gnu99/
27/^CC *=/s/@[^@\n]*@/gcc/
28/^CPP *=/s/@[^@\n]*@/gcc -e/
29/^CFLAGS *=/s/@[^@\n]*@/-O2 -gcoff/ 25/^CFLAGS *=/s/@[^@\n]*@/-O2 -gcoff/
30/^ALL_CFLAGS *=/s/@[^@\n]*@//g 26/^ALL_CFLAGS *=/s/@[^@\n]*@//g
31/^ALL_CFLAGS *=/s/ -I\.//g 27/^ALL_CFLAGS *=/s/ -I\.//g
32/^CPPFLAGS *=/s|@[^@\n]*@|-I../msdos| 28/^CPPFLAGS *=/s|@[^@\n]*@|-I../msdos|
33/^LDFLAGS *=/s/@[^@\n]*@// 29/^LDFLAGS *=/s/@[^@\n]*@//
34/^LD_FIRSTFLAG *=/s/@[^@\n]*@//
35/^LIBS *=/s/@[^@\n]*@//
36/^LIBES *=/,/^ *$/ {
37 s/@[^@\n]*@//g
38}
39/^LIBOBJS *=/s/@[^@\n]*@// 30/^LIBOBJS *=/s/@[^@\n]*@//
40/^C_SWITCH_MACHINE *=/s/@C_SWITCH_MACHINE@// 31/^C_SWITCH_MACHINE *=/s/@C_SWITCH_MACHINE@//
41/^C_SWITCH_SYSTEM *=/s/@C_SWITCH_SYSTEM@// 32/^C_SWITCH_SYSTEM *=/s/@C_SWITCH_SYSTEM@//
42/^GNUSTEP_CFLAGS *=/s/@GNUSTEP_CFLAGS@// 33/^GNUSTEP_CFLAGS *=/s/@GNUSTEP_CFLAGS@//
43/^C_SWITCH_X_SITE *=/s/@C_SWITCH_X_SITE@// 34/^C_SWITCH_X_SITE *=/s/@C_SWITCH_X_SITE@//
35/^PNG_CFLAGS *=/s/@PNG_CFLAGS@//
44/^WARN_CFLAGS *=/s/@WARN_CFLAGS@// 36/^WARN_CFLAGS *=/s/@WARN_CFLAGS@//
45/^WERROR_CFLAGS *=/s/@WERROR_CFLAGS@// 37/^WERROR_CFLAGS *=/s/@WERROR_CFLAGS@//
46/^PROFILING_CFLAGS *=/s/@PROFILING_CFLAGS@// 38/^PROFILING_CFLAGS *=/s/@PROFILING_CFLAGS@//
@@ -64,6 +56,7 @@ s/ *@LIBPNG@//
64s/ *@LIBGIF@// 56s/ *@LIBGIF@//
65s/ *@LIBXPM@// 57s/ *@LIBXPM@//
66/^XFT_LIBS *=/s/@XFT_LIBS@// 58/^XFT_LIBS *=/s/@XFT_LIBS@//
59/^XCB_LIBS *=/s/@XCB_LIBS@//
67/^FONTCONFIG_CFLAGS *=/s/@FONTCONFIG_CFLAGS@// 60/^FONTCONFIG_CFLAGS *=/s/@FONTCONFIG_CFLAGS@//
68/^FONTCONFIG_LIBS *=/s/@FONTCONFIG_LIBS@// 61/^FONTCONFIG_LIBS *=/s/@FONTCONFIG_LIBS@//
69/^FREETYPE_CFLAGS *=/s/@FREETYPE_CFLAGS@// 62/^FREETYPE_CFLAGS *=/s/@FREETYPE_CFLAGS@//
@@ -78,7 +71,8 @@ s/ *@LIBXPM@//
78/^NOTIFY_OBJ *=/s/@NOTIFY_OBJ@// 71/^NOTIFY_OBJ *=/s/@NOTIFY_OBJ@//
79/^SETTINGS_CFLAGS *=/s/@SETTINGS_CFLAGS@// 72/^SETTINGS_CFLAGS *=/s/@SETTINGS_CFLAGS@//
80/^SETTINGS_LIBS *=/s/@SETTINGS_LIBS@// 73/^SETTINGS_LIBS *=/s/@SETTINGS_LIBS@//
81/^GFILENOTIFY_LIBS *=/s/@GFILENOTIFY_LIBS@// 74/^NOTIFY_LIBS *=/s/@NOTIFY_LIBS@//
75/^NOTIFY_CFLAGS *=/s/@NOTIFY_CFLAGS@//
82/^GTK_OBJ *=/s/@GTK_OBJ@// 76/^GTK_OBJ *=/s/@GTK_OBJ@//
83/^LIBS_TERMCAP *=/s/@LIBS_TERMCAP@// 77/^LIBS_TERMCAP *=/s/@LIBS_TERMCAP@//
84/^TERMCAP_OBJ *=/s/@TERMCAP_OBJ@/termcap.o tparam.o/ 78/^TERMCAP_OBJ *=/s/@TERMCAP_OBJ@/termcap.o tparam.o/
@@ -92,7 +86,7 @@ s/ *@LIBXPM@//
92/^XGSELOBJ *=/s/@XGSELOBJ@// 86/^XGSELOBJ *=/s/@XGSELOBJ@//
93/^TOOLKIT_LIBW *=/s/@TOOLKIT_LIBW@// 87/^TOOLKIT_LIBW *=/s/@TOOLKIT_LIBW@//
94/^LIBSOUND *=/s/@LIBSOUND@// 88/^LIBSOUND *=/s/@LIBSOUND@//
95/^LIBS_GNUSTEP *=/s/@LIBS_GNUSTEP@// 89/^LIBS_GNUSTEP *=/s/=.*$/=/
96/^CFLAGS_SOUND *=/s/@CFLAGS_SOUND@// 90/^CFLAGS_SOUND *=/s/@CFLAGS_SOUND@//
97/^RSVG_LIBS *=/s/@RSVG_LIBS@// 91/^RSVG_LIBS *=/s/@RSVG_LIBS@//
98/^RSVG_CFLAGS *=/s/@RSVG_CFLAGS@// 92/^RSVG_CFLAGS *=/s/@RSVG_CFLAGS@//
@@ -101,15 +95,23 @@ s/ *@LIBXPM@//
101/^LIBXML2_LIBS *=/s/@LIBXML2_LIBS@// 95/^LIBXML2_LIBS *=/s/@LIBXML2_LIBS@//
102/^LIBXML2_CFLAGS *=/s/@LIBXML2_CFLAGS@// 96/^LIBXML2_CFLAGS *=/s/@LIBXML2_CFLAGS@//
103/^WIDGET_OBJ *=/s/@WIDGET_OBJ@// 97/^WIDGET_OBJ *=/s/@WIDGET_OBJ@//
98/^XWIDGETS_OBJ *=/s/@XWIDGETS_OBJ@//
99/^WEBKIT_LIBS *=/s/@WEBKIT_LIBS@//
100/^WEBKIT_CFLAGS *=/s/@WEBKIT_CFLAGS@//
101/^CAIRO_LIBS *=/s/@CAIRO_LIBS@//
102/^CAIRO_CFLAGS *=/s/@CAIRO_CFLAGS@//
103/^XFIXES_LIBS *=/s/@XFIXES_LIBS@//
104/^XFIXES_CFLAGS *=/s/@XFIXES_CFLAGS@//
104/^CYGWIN_OBJ *=/s/@CYGWIN_OBJ@// 105/^CYGWIN_OBJ *=/s/@CYGWIN_OBJ@//
105/^WINDOW_SYSTEM_OBJ *=/s/@WINDOW_SYSTEM_OBJ@// 106/^WINDOW_SYSTEM_OBJ *=/s/@WINDOW_SYSTEM_OBJ@//
106/^MSDOS_OBJ *=/s/= */= dosfns.o msdos.o w16select.o/ 107/^MSDOS_OBJ *=/s/= */= dosfns.o msdos.o w16select.o/
107/^NS_OBJ *=/s/@NS_OBJ@// 108/^NS_OBJ *=/s/@NS_OBJ@//
108/^NS_OBJC_OBJ *=/s/@NS_OBJC_OBJ@// 109/^NS_OBJC_OBJ *=/s/@NS_OBJC_OBJ@//
109/^GNU_OBJC_CFLAGS*=/s/@GNU_OBJC_CFLAGS@// 110/^GNU_OBJC_CFLAGS*=/s/=.*$/=/
110/^LIBRESOLV *=/s/@LIBRESOLV@// 111/^LIBRESOLV *=/s/@LIBRESOLV@//
112/^LIBMODULES *=/s/@LIBMODULES@//
113/^MODULES_OBJ *=/s/@MODULES_OBJ@//
111/^LIBSELINUX_LIBS *=/s/@LIBSELINUX_LIBS@// 114/^LIBSELINUX_LIBS *=/s/@LIBSELINUX_LIBS@//
112/^LIB_PTHREAD_SIGMASK *=/s/@[^@\n]*@//
113/^LIB_CLOCK_GETTIME *=/s/@[^@\n]*@//g 115/^LIB_CLOCK_GETTIME *=/s/@[^@\n]*@//g
114/^LIB_TIMER_TIME *=/s/@[^@\n]*@//g 116/^LIB_TIMER_TIME *=/s/@[^@\n]*@//g
115/^LIB_EXECINFO *=/s/@[^@\n]*@//g 117/^LIB_EXECINFO *=/s/@[^@\n]*@//g
@@ -145,65 +147,59 @@ s/ *@LIBXPM@//
145/^W32_LIBS *=/s/@W32_LIBS@// 147/^W32_LIBS *=/s/@W32_LIBS@//
146/^version *=/s/@[^@\n]*@// 148/^version *=/s/@[^@\n]*@//
147/^EMACSRES *=/s/@EMACSRES@// 149/^EMACSRES *=/s/@EMACSRES@//
148/^EMACS_MANIFEST *=/s/@EMACS_MANIFEST@//
149/^W32_RES_LINK *=/s/@W32_RES_LINK@// 150/^W32_RES_LINK *=/s/@W32_RES_LINK@//
150/^CM_OBJ *=/s/@CM_OBJ@/cm.o/ 151/^CM_OBJ *=/s/@CM_OBJ@/cm.o/
151/^@SET_MAKE@$/s/@SET_MAKE@// 152/^@SET_MAKE@$/s/@SET_MAKE@//
152/^TEMACS_POST_LINK *=/s/@TEMACS_POST_LINK@/stubedit temacs.exe minstack=1024k/
153/^ADDSECTION *=/s/@ADDSECTION@// 153/^ADDSECTION *=/s/@ADDSECTION@//
154/^ [ ]*\$(libsrc)\/make-docfile.*>.*\/DOC/s!make-docfile!make-docfile -o $(etc)/DOC! 154/^AM_DEFAULT_VERBOSITY *=/s/@AM_DEFAULT_VERBOSITY@/1/
155/^ [ ]*\$(libsrc)\/make-docfile.*>.*gl.tmp/s!make-docfile!make-docfile -o gl.tmp! 155/^[Aa][Mm]_/s/@AM_V@/$(V)/
156/^.\$(libsrc)\/make-doc/s!>.*$!! 156/^[Aa][Mm]_/s/@AM_DEFAULT_V@/$(AM_DEFAULT_VERBOSITY)/
157/^ [ ]*\$(libsrc)\/make-docfile /s!`[^`]*`!$(lisp); cd ../src! 157/^AUTO_DEPEND *=/s/@AUTO_DEPEND@/yes/
158/^[ ]*$/d 158/^PAXCTL_if_present *=/s/=.*$/=@Rem/
159/^\$(leimdir)\/leim-list.el: /s/bootstrap-emacs\$(EXEEXT)/temacs$(EXEEXT) $(BOOTSTRAPEMACS)/ 159/^lisp\.mk:/,/^$/c\
160lisp.mk: $(lispsource)/loadup.el\
161 @rm -f $@\
162 ${AM_V_GEN}printf 'shortlisp = \\n' > $@\
163 ${AM_V_GEN}sed -n 's/^[ \t]*(load "\([^"]*\)".*/\1/p' $< | sed -e "s/$/.elc \/" -e "s/\.el\.elc/.el/" >> $@\
164 ${AM_V_GEN}djecho "" >> $@
165
166#"
167
168/^ [ ]*\$(AM_V_at)\$(libsrc)\/make-docfile -d/s!make-docfile!make-docfile -o $(etc)/DOC!
169/ > \$(etc)\/DOC *$/s/ >.*$//
170/^ [ ]*\$(AM_V_GLOBALS)\$(libsrc)\/make-docfile.*>.*globals.tmp/s!make-docfile!make-docfile -o globals.tmp!
171/^ [ ]*\$(AM_V_GLOBALS)\$(libsrc)\/make-doc/s!>.*$!!
172/^\$(libsrc)\/make-docfile\$(EXEEXT): /i\
173 cd ../src
174/^\$(leimdir)\/leim-list.el: /s/bootstrap-emacs\$(EXEEXT)/b-emacs$(EXEEXT)/
160/^ if test -f/,/^ fi$/c\ 175/^ if test -f/,/^ fi$/c\
161 command.com /c if exist .gdbinit rm -f _gdbinit 176 command.com /c if exist .gdbinit rm -f _gdbinit
162/^ *test "X\$(PAXCTL)" = X/d 177/^ *\$(PAXCTL_if_present) -zex/d
163/^ *test "\$(CANNOT_DUMP)" = "yes"/d 178/^ *ln /s/ln /cp /
164/^ if test "\$(CANNOT_DUMP)" =/,/^ else /d 179/^ *\$(SETFATTR_if_present) -n/d
165/^ *\$(SETFATTR) -n/d
166/^ -\{0,1\} *ln /s/bootstrap-emacs\$(EXEEXT).*$/bootstrap-emacs$(EXEEXT)/
167/^ fi/d 180/^ fi/d
181/^ *\$(RUN_TEMACS) /i\
182 stubedit temacs.exe minstack=1024k
168/^ *LC_ALL=C \$(RUN_TEMACS)/i\ 183/^ *LC_ALL=C \$(RUN_TEMACS)/i\
169 stubedit temacs.exe minstack=1024k 184 stubedit temacs.exe minstack=1024k
170/^ *LC_ALL=C.*\$(RUN_TEMACS)/s/LC_ALL=C/set &;/ 185/^ *LC_ALL=C.*\$(RUN_TEMACS)/s/LC_ALL=C/set &;/
171/-batch -l loadup/a\ 186/-batch -l loadup/a\
172 stubify emacs\ 187 stubify emacs\
173 stubedit emacs.exe minstack=2048k 188 stubedit emacs.exe minstack=3072k
174s/ || exit 1\; \\$//
175s/ || true\; \\$//
176s/ @true *$/ @rem/ 189s/ @true *$/ @rem/
177s/^ [^ ]*move-if-change / update / 190s/^ [^ ]*move-if-change / update /
178/^ echo[ ][ ]*timestamp/s/echo /djecho / 191/^ [^ ]*echo[ ][ ]*timestamp/s/echo /djecho /
179/^ .*djecho timestamp/a\ 192/^ .*djecho timestamp/a\
180 @rm -f gl.tmp 193 @rm -f globals.tmp
181/^ cd ..\/leim && \$(MAKE)/i\
182 $(RUN_TEMACS) -batch -l loadup dump\
183 stubify emacs\
184 stubedit emacs.exe minstack=2048k\
185 rm -f b-emacs$(EXEEXT)\
186 cp emacs$(EXEEXT) b-emacs$(EXEEXT)
187/^ cd ..\/leim && \$(MAKE)/c\
188 $(MAKE) $(MFLAGS) -C ../leim leim-list.el EMACS=$(bootstrap_exe)
189/^ cd ..\/admin\/unidata && \$(MAKE)/c\
190 $(MAKE) $(MFLAGS) -C ../admin/unidata all EMACS="../$(bootstrap_exe)"
191/^ cd \$(lib) && \$(MAKE)/c\
192 $(MAKE) $(MFLAGS) -C $(lib) libgnu.a
193/^RUN_TEMACS *=/s|`/bin/pwd`|.|
194/^ *@\$(MKDEPDIR) *$/d 194/^ *@\$(MKDEPDIR) *$/d
195/^ mv \.\/\.gdbinit/d 195/^ mv \.\/\.gdbinit/d
196/^ if test -f/,/^ fi$/c\ 196/^ if test -f/,/^ fi$/c\
197 command.com /c if exist .gdbinit rm -f _gdbinit 197 command.com /c if exist .gdbinit rm -f _gdbinit
198/^ #/d 198/^ #/d
199/^ cd.*make-docfile/s!$!; cd ../src!
200/^ @: /d 199/^ @: /d
201/^ -\{0,1\} *ln /s/ln /cp / 200/^ -\{0,1\} *ln /s/ln /cp /
202/^[ ]touch /s/touch/djecho $@ >/ 201/^[ ]touch /s/touch/djecho $@ >/
203s/@YMF_PASS_LDFLAGS@/flags/ 202s/@YMF_PASS_LDFLAGS@/flags/
204s/@lisp_frag@//
205s/@deps_frag@//
206s/@ns_frag@//
207s/@PRE_EDIT_LDFLAGS@// 203s/@PRE_EDIT_LDFLAGS@//
208s/@POST_EDIT_LDFLAGS@// 204s/@POST_EDIT_LDFLAGS@//
209s/bootstrap-emacs/b-emacs/ 205s/bootstrap-emacs/b-emacs/
@@ -211,21 +207,24 @@ s/bootstrap-temacs/b-temacs/
211s/bootstrap-doc/b-doc/ 207s/bootstrap-doc/b-doc/
212/rm -f bootstrap-emacs/s/b-emacs/b-emacs b-emacs.exe/ 208/rm -f bootstrap-emacs/s/b-emacs/b-emacs b-emacs.exe/
213s/echo.*buildobj.lst/dj&/ 209s/echo.*buildobj.lst/dj&/
214/ --load loadup bootstrap/i\
215 stubedit temacs.exe minstack=1024k
216/ --load loadup bootstrap/a\ 210/ --load loadup bootstrap/a\
217 stubify emacs 211 stubify emacs
218/^ mv -f emacs/a\ 212/^ mv -f emacs/a\
219 stubedit b-emacs.exe minstack=3072k\ 213 stubedit b-emacs.exe minstack=3072k\
220 djecho bootlisp > bootlisp 214 djecho bootlisp > bootlisp
221/^ -\{0,1\}rm -f/s/\\#/#/ 215/^ -\{0,1\}rm -f/s/\\#/#/
222/^ @\{0,1\}cd ..\/lisp;.*[^\]$/s|$|\; cd ../src|
223/^ *THEFILE=/s|$|\; cd ../src|
224/^ echo.* buildobj.h/s|echo |djecho | 216/^ echo.* buildobj.h/s|echo |djecho |
225/^buildobj\.h:/,/^ mv /{ 217/^buildobj\.h:/,/^ *\$(AM_V_at)mv /{
226 /^ *for /,/^ *done /c\ 218 /^ *\$(AM_V_GEN)for /,/^ *done /c\
227 djecho "$(ALLOBJS)" | sed -e 's/^ */"/' -e 's/ *$$/"/' -e 's/ */", "/g' >>$@.tmp 219 djecho "$(ALLOBJS)" | sed -e 's/^ */"/' -e 's/ *$$/"/' -e 's/ */", "/g' >>$@.tmp
228} 220}
221# Remove or replace dependencies we cannot have
222/^\.PRECIOUS: /s!\.\./config.status !!
223/^\.\.\/config.status: /d
224/^Makefile: /s!\.\./config.status !!
225/^\$(top_srcdir)\/aclocal\.m4 /,/^doc\.o:/c\
226\
227doc.o: buildobj.h
229# Make the GCC command line fit one screen line 228# Make the GCC command line fit one screen line
230/^[ ][ ]*\$(GNUSTEP_CFLAGS)/d 229/^[ ][ ]*\$(GNUSTEP_CFLAGS)/d
231/^[ ][ ]*\$(GCONF_CFLAGS)/d 230/^[ ][ ]*\$(GCONF_CFLAGS)/d
@@ -233,7 +232,13 @@ s/echo.*buildobj.lst/dj&/
233s/\$(LIBOTF_CFLAGS) \$(M17N_FLT_CFLAGS) \$(DEPFLAGS) // 232s/\$(LIBOTF_CFLAGS) \$(M17N_FLT_CFLAGS) \$(DEPFLAGS) //
234s/ \$(C_SWITCH_X_SITE)// 233s/ \$(C_SWITCH_X_SITE)//
235s/ \$(DBUS_CFLAGS)// 234s/ \$(DBUS_CFLAGS)//
236s| -I\$(srcdir)/../lib|| 235s/ \$(PNG_CFLAGS) //
236s/ \$(XINERAMA_CFLAGS)//
237s/ \$(XFIXES_CFLAGS)//
238s/ \$(FREETYPE_CFLAGS)//
239s/ \$(FONTCONFIG_CFLAGS)//
240s| -I\$(srcdir)/\.\./lib||
241s| -I\$(top_srcdir)/lib||
237# Add our local inttypes.h to prerequisites where needed 242# Add our local inttypes.h to prerequisites where needed
238/^lread\.o:/s|lread\.c|& ../msdos/inttypes.h| 243/^lread\.o:/s|lread\.c|& ../msdos/inttypes.h|
239/^ *test "X/d 244/^ *test "X/d
diff --git a/msdos/sed2v2.inp b/msdos/sed2v2.inp
index 6079aab2604..d1a6eaba5de 100644
--- a/msdos/sed2v2.inp
+++ b/msdos/sed2v2.inp
@@ -64,7 +64,7 @@
64/^#undef PACKAGE_NAME/s/^.*$/#define PACKAGE_NAME ""/ 64/^#undef PACKAGE_NAME/s/^.*$/#define PACKAGE_NAME ""/
65/^#undef PACKAGE_STRING/s/^.*$/#define PACKAGE_STRING ""/ 65/^#undef PACKAGE_STRING/s/^.*$/#define PACKAGE_STRING ""/
66/^#undef PACKAGE_TARNAME/s/^.*$/#define PACKAGE_TARNAME ""/ 66/^#undef PACKAGE_TARNAME/s/^.*$/#define PACKAGE_TARNAME ""/
67/^#undef PACKAGE_VERSION/s/^.*$/#define PACKAGE_VERSION ""/ 67/^#undef PACKAGE_VERSION/s/^.*$/#define PACKAGE_VERSION VERSION/
68/^#undef PENDING_OUTPUT_COUNT/s/^.*$/#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_ptr - (FILE)->_base)/ 68/^#undef PENDING_OUTPUT_COUNT/s/^.*$/#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_ptr - (FILE)->_base)/
69/^#undef VERSION/s/^.*$/#define VERSION "25.1.50"/ 69/^#undef VERSION/s/^.*$/#define VERSION "25.1.50"/
70/^#undef SYSTEM_TYPE/s/^.*$/#define SYSTEM_TYPE "ms-dos"/ 70/^#undef SYSTEM_TYPE/s/^.*$/#define SYSTEM_TYPE "ms-dos"/
@@ -82,7 +82,6 @@
82/^#undef HAVE_SIGNED_SIG_ATOMIC_T *$/s/^.*$/#define HAVE_SIGNED_SIG_ATOMIC_T 1/ 82/^#undef HAVE_SIGNED_SIG_ATOMIC_T *$/s/^.*$/#define HAVE_SIGNED_SIG_ATOMIC_T 1/
83/^#undef HAVE_SIGNED_WINT_T *$/s/^.*$/#define HAVE_SIGNED_WINT_T 1/ 83/^#undef HAVE_SIGNED_WINT_T *$/s/^.*$/#define HAVE_SIGNED_WINT_T 1/
84/^#undef HAVE_UNSIGNED_LONG_LONG_INT *$/s/^.*$/#define HAVE_UNSIGNED_LONG_LONG_INT 1/ 84/^#undef HAVE_UNSIGNED_LONG_LONG_INT *$/s/^.*$/#define HAVE_UNSIGNED_LONG_LONG_INT 1/
85/^#undef HAVE_WCHAR_H *$/s/^.*$/#define HAVE_WCHAR_H 1/
86/^#undef DEVICE_SEP *$/s/^.*$/#define DEVICE_SEP ':'/ 85/^#undef DEVICE_SEP *$/s/^.*$/#define DEVICE_SEP ':'/
87/^#undef IS_DIRECTORY_SEP *$/s,^.*$,#define IS_DIRECTORY_SEP(_c_) ((_c_) == '/' || (_c_) == '\\\\'), 86/^#undef IS_DIRECTORY_SEP *$/s,^.*$,#define IS_DIRECTORY_SEP(_c_) ((_c_) == '/' || (_c_) == '\\\\'),
88/^#undef IS_DEVICE_SEP *$/s/^.*$/#define IS_DEVICE_SEP(_c_) ((_c_) == ':')/ 87/^#undef IS_DEVICE_SEP *$/s/^.*$/#define IS_DEVICE_SEP(_c_) ((_c_) == ':')/
@@ -91,6 +90,7 @@
91/^#undef NULL_DEVICE *$/s/^.*$/#define NULL_DEVICE "nul"/ 90/^#undef NULL_DEVICE *$/s/^.*$/#define NULL_DEVICE "nul"/
92/^#undef SEPCHAR *$/s/^.*$/#define SEPCHAR '\;'/ 91/^#undef SEPCHAR *$/s/^.*$/#define SEPCHAR '\;'/
93/^#undef USER_FULL_NAME *$/s/^.*$/#define USER_FULL_NAME (getenv ("NAME"))/ 92/^#undef USER_FULL_NAME *$/s/^.*$/#define USER_FULL_NAME (getenv ("NAME"))/
93/^# *undef _GNU_SOURCE *$/s/^.*$/#define _GNU_SOURCE 1/
94/^#undef inline/s/^.*$/#define inline __inline__/ 94/^#undef inline/s/^.*$/#define inline __inline__/
95/^#undef my_strftime/s/^.*$/#define my_strftime nstrftime/ 95/^#undef my_strftime/s/^.*$/#define my_strftime nstrftime/
96/^#undef restrict/s/^.*$/#define restrict __restrict/ 96/^#undef restrict/s/^.*$/#define restrict __restrict/
@@ -101,6 +101,7 @@
101s/^#undef STACK_DIRECTION *$/#define STACK_DIRECTION -1/ 101s/^#undef STACK_DIRECTION *$/#define STACK_DIRECTION -1/
102s/^#undef EMACS_CONFIGURATION *$/#define EMACS_CONFIGURATION "i386-pc-msdosdjgpp"/ 102s/^#undef EMACS_CONFIGURATION *$/#define EMACS_CONFIGURATION "i386-pc-msdosdjgpp"/
103s/^#undef EMACS_CONFIG_OPTIONS *$/#define EMACS_CONFIG_OPTIONS "msdos"/ 103s/^#undef EMACS_CONFIG_OPTIONS *$/#define EMACS_CONFIG_OPTIONS "msdos"/
104s/^#undef EMACS_CONFIG_FEATURES *$/#define EMACS_CONFIG_FEATURES ""/
104s/^#undef PROTOTYPES *$/#define PROTOTYPES 1/ 105s/^#undef PROTOTYPES *$/#define PROTOTYPES 1/
105s/^#undef POINTER_TYPE *$/#define POINTER_TYPE void/ 106s/^#undef POINTER_TYPE *$/#define POINTER_TYPE void/
106/^#undef HAVE_INTTYPES_H/c\ 107/^#undef HAVE_INTTYPES_H/c\
@@ -115,12 +116,14 @@ s/^#undef POINTER_TYPE *$/#define POINTER_TYPE void/
115#else\ 116#else\
116#undef HAVE_STDINT_H\ 117#undef HAVE_STDINT_H\
117#endif 118#endif
119s/^#undef HAVE_C_VARARRAYS *$/#define HAVE_C_VARARRAYS 1/
118s/^#undef HAVE_DECL_STRTOLL *$/#define HAVE_DECL_STRTOLL 1/ 120s/^#undef HAVE_DECL_STRTOLL *$/#define HAVE_DECL_STRTOLL 1/
119s/^#undef HAVE_DECL_STRTOULL *$/#define HAVE_DECL_STRTOULL 1/ 121s/^#undef HAVE_DECL_STRTOULL *$/#define HAVE_DECL_STRTOULL 1/
120s/^#undef HAVE_DECL_STRTOIMAX *$/#define HAVE_DECL_STRTOIMAX 1/ 122s/^#undef HAVE_DECL_STRTOIMAX *$/#define HAVE_DECL_STRTOIMAX 1/
121s/^#undef HAVE_DECL_STRTOUMAX *$/#define HAVE_DECL_STRTOUMAX 1/ 123s/^#undef HAVE_DECL_STRTOUMAX *$/#define HAVE_DECL_STRTOUMAX 1/
122s/^#undef HAVE_STRTOLL *$/#define HAVE_STRTOLL 1/ 124s/^#undef HAVE_STRTOLL *$/#define HAVE_STRTOLL 1/
123s/^#undef HAVE_STRTOULL *$/#define HAVE_STRTOULL 1/ 125s/^#undef HAVE_STRTOULL *$/#define HAVE_STRTOULL 1/
126s/^#undef HAVE_PUTENV *$/#define HAVE_PUTENV 1/
124/^#undef HAVE_SIGSET_T *$/s/^.*$/#define HAVE_SIGSET_T 1/ 127/^#undef HAVE_SIGSET_T *$/s/^.*$/#define HAVE_SIGSET_T 1/
125/^#undef HAVE_SNPRINTF/c\ 128/^#undef HAVE_SNPRINTF/c\
126#if __DJGPP__ > 2 || __DJGPP_MINOR__ > 3\ 129#if __DJGPP__ > 2 || __DJGPP_MINOR__ > 3\
diff --git a/msdos/sed3v2.inp b/msdos/sed3v2.inp
index 711f8fedba6..49f2b761984 100644
--- a/msdos/sed3v2.inp
+++ b/msdos/sed3v2.inp
@@ -15,11 +15,8 @@
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16# 16#
17# ---------------------------------------------------------------------- 17# ----------------------------------------------------------------------
18/^# DIST: /d
19/^SHELL *=/s/^/# / 18/^SHELL *=/s/^/# /
20/^CC *=/s/=.*$/=gcc/ 19/^CC *=/s/=.*$/=gcc -std=gnu99/
21s/-DVERSION[^ ]* //
22/^configname *=/s/=.*$/=msdos/
23/^archlibdir *=/s!=.*$!=/emacs/bin! 20/^archlibdir *=/s!=.*$!=/emacs/bin!
24/^bindir *=/s!=.*$!=/emacs/bin! 21/^bindir *=/s!=.*$!=/emacs/bin!
25/^libdir *=/s!=.*$!=/emacs/bin! 22/^libdir *=/s!=.*$!=/emacs/bin!
@@ -38,12 +35,17 @@ s/-DVERSION[^ ]* //
38/^LIB_CLOCK_GETTIME *=/s/@[^@\n]*@//g 35/^LIB_CLOCK_GETTIME *=/s/@[^@\n]*@//g
39/^LIB_TIMER_TIME *=/s/@[^@\n]*@//g 36/^LIB_TIMER_TIME *=/s/@[^@\n]*@//g
40/^CFLAGS *=/s!=.*$!=-O2 -g! 37/^CFLAGS *=/s!=.*$!=-O2 -g!
38/^CPPFLAGS *=/s/@CPPFLAGS@//
39/^LDFLAGS *=/s/@LDFLAGS@//
41/^C_SWITCH_SYSTEM *=/s!=.*$!=-DMSDOS -I../msdos! 40/^C_SWITCH_SYSTEM *=/s!=.*$!=-DMSDOS -I../msdos!
42/^C_SWITCH_MACHINE *=/s/@C_SWITCH_MACHINE@// 41/^C_SWITCH_MACHINE *=/s/@C_SWITCH_MACHINE@//
43/^WARN_CFLAGS *=/s/@WARN_CFLAGS@// 42/^WARN_CFLAGS *=/s/@WARN_CFLAGS@//
44/^WERROR_CFLAGS *=/s/@WERROR_CFLAGS@// 43/^WERROR_CFLAGS *=/s/@WERROR_CFLAGS@//
45/^UPDATE_MANIFEST *=/s/@UPDATE_MANIFEST@// 44/^UPDATE_MANIFEST *=/s/@UPDATE_MANIFEST@//
46/^PROFILING_CFLAGS *=/s/@PROFILING_CFLAGS@// 45/^PROFILING_CFLAGS *=/s/@PROFILING_CFLAGS@//
46/^AM_DEFAULT_VERBOSITY *=/s/@AM_DEFAULT_VERBOSITY@/1/
47/^[Aa][Mm]_/s/@AM_V@/$(V)/
48/^[Aa][Mm]_/s/@AM_DEFAULT_V@/$(AM_DEFAULT_VERBOSITY)/
47/^ALLOCA *=/s!@ALLOCA@!! 49/^ALLOCA *=/s!@ALLOCA@!!
48/^EXEEXT *=/s!@EXEEXT@!.exe! 50/^EXEEXT *=/s!@EXEEXT@!.exe!
49/^CLIENTW *=/s/@CLIENTW@// 51/^CLIENTW *=/s/@CLIENTW@//
@@ -56,9 +58,6 @@ s/-DVERSION[^ ]* //
56/^GETOPT_H *=/s!@GETOPT_H@!getopt.h! 58/^GETOPT_H *=/s!@GETOPT_H@!getopt.h!
57/^GETOPTOBJS *=/s!@GETOPTOBJS@!getopt.o getopt1.o! 59/^GETOPTOBJS *=/s!@GETOPTOBJS@!getopt.o getopt1.o!
58/^INSTALLABLES/s/emacsclient[^ ]* *// 60/^INSTALLABLES/s/emacsclient[^ ]* *//
59s!^ \./! !
60/^UTILITIES *=/,/^$/{ 61/^UTILITIES *=/,/^$/{
61 s/movemail[^ ]* *// 62 s/movemail[^ ]* *//
62} 63}
63/^insrcdir=/s/^.*$/\#&/
64/^ *\$(insrcdir) ||/s,\$(insrcdir) ||,command.com /c if not exist $(<F),
diff --git a/msdos/sed6.inp b/msdos/sed6.inp
index 5df8c2776b9..a209d7ac6b9 100644
--- a/msdos/sed6.inp
+++ b/msdos/sed6.inp
@@ -19,28 +19,16 @@
19/^srcdir *=/s/@[^@\n]*@/./ 19/^srcdir *=/s/@[^@\n]*@/./
20/^VPATH *=/s/@[^@\n]*@/./ 20/^VPATH *=/s/@[^@\n]*@/./
21/^MAKEINFO *=/s/@[^@\n]*@/makeinfo/ 21/^MAKEINFO *=/s/@[^@\n]*@/makeinfo/
22/^INFO_EXT *=/s/@[^@\n]*@/.info/ 22/^AM_DEFAULT_VERBOSITY *=/s/@AM_DEFAULT_VERBOSITY@/1/
23/^INFO_OPTS *=/s/@[^@\n]*@/--no-split/ 23/^[Aa][Mm]_/s/@AM_V@/$(V)/
24/^[Aa][Mm]_/s/@AM_DEFAULT_V@/$(AM_DEFAULT_VERBOSITY)/
24/^ENVADD/,/^$/c\ 25/^ENVADD/,/^$/c\
25ENVADD =\ 26ENVADD =\
26export TEXINPUTS := $(srcdir)";"$(TEXINPUTS)\ 27export TEXINPUTS := $(srcdir)";"$(texinfodir)";"$(TEXINPUTS)\
27export MAKEINFO := $(MAKEINFO) $(MAKEINFO_OPTS) 28export MAKEINFO := $(MAKEINFO) $(MAKEINFO_OPTS)
28/^SHELL *=/s/^/# / 29/^SHELL *=/s/^/# /
29/^elisp.dvi:/,/^$/ { 30/^doc-emacsver:/,/^$/ {
30 /^ *if \[ *\a${permuted_index}/,/^ *fi *$/c\ 31 s/emacsver\.texi\.in/emacsver.in/g
31 command.com /c 'if not a${permuted_index}==a sh ./permute-index' \ 32 s/\.texi\.\$\$\$\$/.tmp/g
32 command.com /c 'if not a${permuted_index}==a mv permuted.fns elisp.fns' \ 33 s/[^ ]*move-if-change/update/
33 command.com /c 'if not a${permuted_index}==a texindex elisp.tp' \
34 command.com /c 'if a${permuted_index}==a texindex elisp.??'
35} 34}
36/^index.texi:/,/^$/ {
37 /^ *if \[ *\a${permuted_index}/,/^ *fi *$/c\
38 command.com /c 'if not a${permuted_index}==a cp -p ./index.perm index.texi' \
39 command.com /c 'if a${permuted_index}==a cp -p ./index.unperm index.texi'
40}
41/^maintainer-clean:/,/^$/ {
42 s/^ for file in $(INFO_TARGETS)\; do rm -f.*$/ rm -f $(INFO_TARGETS)/
43}
44
45/^mkinfodir *=/s| @.*$|@command.com /c if not exist ..\\..\\info\\emacs$(INFO_EXT) mkdir ..\\..\\info|
46
diff --git a/msdos/sedadmin.inp b/msdos/sedadmin.inp
index 95c7c0636fb..77812e8f757 100644
--- a/msdos/sedadmin.inp
+++ b/msdos/sedadmin.inp
@@ -15,15 +15,11 @@
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16# 16#
17# ---------------------------------------------------------------------- 17# ----------------------------------------------------------------------
18/^SHELL *=/s/^/# / 18/^SHELL *=/s!@SHELL@!/bin/sh!
19/^AWK *=/s/@AWK@/gawk/
19/^srcdir *=/s/@[^@\n]*@/./ 20/^srcdir *=/s/@[^@\n]*@/./
20/^top_srcdir *=/s|@[^@\n]*@|../..| 21/^top_srcdir *=/s|@[^@\n]*@|../..|
21/^top_builddir *=/s|@[^@\n]*@|../..| 22/^top_builddir *=/s|@[^@\n]*@|../..|
22 23/^AM_DEFAULT_VERBOSITY *=/s/@AM_DEFAULT_VERBOSITY@/1/
23/^ *-if /,/^ *fi/d 24/^[Aa][Mm]_/s/@AM_V@/$(V)/
24/^ *if test -f charprop/,/^ *fi/c\ 25/^[Aa][Mm]_/s/@AM_DEFAULT_V@/$(AM_DEFAULT_VERBOSITY)/
25 rm -f uni-*.el
26/^ *if test -f \${DSTDIR/,/^ *fi/c\
27 rm -f ${DSTDIR}/uni-*.el ${DSTDIR}/charprop.el
28/^ *cp `sed -n/c\
29 cp uni-*.el ${DSTDIR}
diff --git a/msdos/sedleim.inp b/msdos/sedleim.inp
index fcfcd08b55e..ecbfd4a112b 100644
--- a/msdos/sedleim.inp
+++ b/msdos/sedleim.inp
@@ -19,6 +19,11 @@
19SHELL=/xyzzy/command\ 19SHELL=/xyzzy/command\
20MAKESHELL=/xyzzy/command 20MAKESHELL=/xyzzy/command
21 21
22/^EXEEXT *=/s/@EXEEXT@/.exe/
23/^AM_DEFAULT_VERBOSITY *=/s/@AM_DEFAULT_VERBOSITY@/1/
24/^[Aa][Mm]_/s/@AM_V@/$(V)/
25/^[Aa][Mm]_/s/@AM_DEFAULT_V@/$(AM_DEFAULT_VERBOSITY)/
26
22/^srcdir=/s|srcdir=@srcdir@|srcdir := $(subst \\,/,$(shell cd))| 27/^srcdir=/s|srcdir=@srcdir@|srcdir := $(subst \\,/,$(shell cd))|
23 28
24# Need a relative directory name for the md command, otherwise it 29# Need a relative directory name for the md command, otherwise it
@@ -33,7 +38,6 @@ s|\([ ]\)echo|\1djecho|g
33export EMACSLOADPATH=\ 38export EMACSLOADPATH=\
34RUN_EMACS = ${EMACS} -batch --no-site-file --no-site-lisp 39RUN_EMACS = ${EMACS} -batch --no-site-file --no-site-lisp
35 40
36/^MKDIR_P *=/s,@MKDIR_P@,-command.com /c md, 41/^MKDIR_P *=/s,@MKDIR_P@,gmkdir -p,
37 42
38/MKDIR_P.* \${leimdir}\/.*$/s|\${leimdir}/|$(rel_leimdir)\\| 43/^\${leimdir}\/quail \${leimdir}\/ja-dic: *$/s|\${leimdir}/|$(rel_leimdir)\\|
39/MKDIR_P.* \$(leimdir)\/.*$/s|\$(leimdir)/|$(rel_leimdir)\\|
diff --git a/msdos/sedlibmk.inp b/msdos/sedlibmk.inp
index a5f938189be..9d71ef0e669 100644
--- a/msdos/sedlibmk.inp
+++ b/msdos/sedlibmk.inp
@@ -146,7 +146,7 @@ am__cd = cd
146/^ARFLAGS *=/s/@[^@\n]*@/cru/ 146/^ARFLAGS *=/s/@[^@\n]*@/cru/
147/^AWK *=/s/@[^@\n]*@/gawk/ 147/^AWK *=/s/@[^@\n]*@/gawk/
148/^CANNOT_DUMP *=/s/@[^@\n]*@/no/ 148/^CANNOT_DUMP *=/s/@[^@\n]*@/no/
149/^CC *=/s/@[^@\n]*@/gcc/ 149/^CC *=/s/@[^@\n]*@/gcc -std=gnu99/
150/^CPP *=/s/@[^@\n]*@/gcc -e/ 150/^CPP *=/s/@[^@\n]*@/gcc -e/
151/^CPPFLAGS *=/s/@[^@\n]*@// 151/^CPPFLAGS *=/s/@[^@\n]*@//
152/^CCDEPMODE *=/s/@[^@\n]*@/depmode=gcc3/ 152/^CCDEPMODE *=/s/@[^@\n]*@/depmode=gcc3/
@@ -163,7 +163,6 @@ am__cd = cd
163/^WERROR_CFLAGS *=/s/@WERROR_CFLAGS@// 163/^WERROR_CFLAGS *=/s/@WERROR_CFLAGS@//
164/^DEFS *=/s/@[^@\n]*@// 164/^DEFS *=/s/@[^@\n]*@//
165/^DEPDIR *=/s/@[^@\n]*@/deps/ 165/^DEPDIR *=/s/@[^@\n]*@/deps/
166/^DEPFLAGS *=/s/@[^@\n]*@/-MMD -MF ${DEPDIR}\/$*.d/
167/^ECHO_N *=/s/@[^@\n]*@/-n/ 166/^ECHO_N *=/s/@[^@\n]*@/-n/
168/^EXEEXT *=/s/@[^@\n]*@/.exe/ 167/^EXEEXT *=/s/@[^@\n]*@/.exe/
169/^EXECINFO_H *=/s/@[^@\n]*@/execinfo.h/ 168/^EXECINFO_H *=/s/@[^@\n]*@/execinfo.h/
@@ -190,7 +189,9 @@ am__cd = cd
190/^GNULIB_GL_UNISTD_H_GETOPT *=/s/@GNULIB_GL_UNISTD_H_GETOPT@/1/ 189/^GNULIB_GL_UNISTD_H_GETOPT *=/s/@GNULIB_GL_UNISTD_H_GETOPT@/1/
191/^GNULIB_MEMRCHR *=/s/@GNULIB_MEMRCHR@/1/ 190/^GNULIB_MEMRCHR *=/s/@GNULIB_MEMRCHR@/1/
192/^GNULIB_MKOSTEMP *=/s/@GNULIB_MKOSTEMP@/1/ 191/^GNULIB_MKOSTEMP *=/s/@GNULIB_MKOSTEMP@/1/
192/^GNULIB_MKTIME *=/s/@GNULIB_MKTIME@/1/
193/^GNULIB_TIME_R *=/s/@GNULIB_TIME_R@/1/ 193/^GNULIB_TIME_R *=/s/@GNULIB_TIME_R@/1/
194/^GNULIB_TIME_RZ *=/s/@GNULIB_TIME_RZ@/1/
194/^GNULIB_UNSETENV *=/s/@GNULIB_UNSETENV@/1/ 195/^GNULIB_UNSETENV *=/s/@GNULIB_UNSETENV@/1/
195/^GNULIB_[^ =]* *= *@/s/@[^@\n]*@/0/ 196/^GNULIB_[^ =]* *= *@/s/@[^@\n]*@/0/
196/^GSETTINGS_CFLAGS *=/s/@[^@\n]*@// 197/^GSETTINGS_CFLAGS *=/s/@[^@\n]*@//
@@ -218,6 +219,7 @@ am__cd = cd
218/^HAVE_LONG_LONG_INT *=/s/@HAVE_LONG_LONG_INT@/1/ 219/^HAVE_LONG_LONG_INT *=/s/@HAVE_LONG_LONG_INT@/1/
219/^HAVE_LSTAT *=/s/@HAVE_LSTAT@/HAVE_LSTAT/ 220/^HAVE_LSTAT *=/s/@HAVE_LSTAT@/HAVE_LSTAT/
220/^HAVE_MAKEINFO *=/s/@HAVE_MAKEINFO@/yes/ 221/^HAVE_MAKEINFO *=/s/@HAVE_MAKEINFO@/yes/
222/^HAVE_MAX_ALIGN_T *=/s/@HAVE_MAX_ALIGN_T@/0/
221/^HAVE_MEMCHR *=/s/@HAVE_MEMCHR@/1/ 223/^HAVE_MEMCHR *=/s/@HAVE_MEMCHR@/1/
222/^HAVE_MKFIFO *=/s/@HAVE_MKFIFO@/1/ 224/^HAVE_MKFIFO *=/s/@HAVE_MKFIFO@/1/
223/^HAVE_MKNOD *=/s/@HAVE_MKNOD@/1/ 225/^HAVE_MKNOD *=/s/@HAVE_MKNOD@/1/
@@ -272,8 +274,7 @@ am__cd = cd
272/^NEXT_AS_FIRST_DIRECTIVE_FCNTL_H *=/s/@[^@\n]*@/<fcntl.h>/ 274/^NEXT_AS_FIRST_DIRECTIVE_FCNTL_H *=/s/@[^@\n]*@/<fcntl.h>/
273/^NEXT_AS_FIRST_DIRECTIVE_GETOPT_H *=/s/@[^@\n]*@/<getopt.h>/ 275/^NEXT_AS_FIRST_DIRECTIVE_GETOPT_H *=/s/@[^@\n]*@/<getopt.h>/
274/^NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H *=/s/@[^@\n]*@/<signal.h>/ 276/^NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H *=/s/@[^@\n]*@/<signal.h>/
275/^NEXT_AS_FIRST_DIRECTIVE_STDARG_H *=/s/@[^@\n]*@// 277/^NEXT_AS_FIRST_DIRECTIVE_STDDEF_H *=/s/@[^@\n]*@/<stddef.h>/
276/^NEXT_AS_FIRST_DIRECTIVE_STDDEF_H *=/s/@[^@\n]*@//
277/^NEXT_AS_FIRST_DIRECTIVE_STDINT_H *=/s/@[^@\n]*@/<stdint.h>/ 278/^NEXT_AS_FIRST_DIRECTIVE_STDINT_H *=/s/@[^@\n]*@/<stdint.h>/
278/^NEXT_AS_FIRST_DIRECTIVE_STDIO_H *=/s/@[^@\n]*@/<stdio.h>/ 279/^NEXT_AS_FIRST_DIRECTIVE_STDIO_H *=/s/@[^@\n]*@/<stdio.h>/
279/^NEXT_AS_FIRST_DIRECTIVE_STDLIB_H *=/s/@[^@\n]*@/<stdlib.h>/ 280/^NEXT_AS_FIRST_DIRECTIVE_STDLIB_H *=/s/@[^@\n]*@/<stdlib.h>/
@@ -288,9 +289,8 @@ am__cd = cd
288/^NEXT_ERRNO_H *=/s/@[^@\n]*@// 289/^NEXT_ERRNO_H *=/s/@[^@\n]*@//
289/^NEXT_FCNTL_H *=/s/@[^@\n]*@/<fcntl.h>/ 290/^NEXT_FCNTL_H *=/s/@[^@\n]*@/<fcntl.h>/
290/^NEXT_GETOPT_H *=/s/@[^@\n]*@/<getopt.h>/ 291/^NEXT_GETOPT_H *=/s/@[^@\n]*@/<getopt.h>/
291/^NEXT_STDARG_H *=/s/@[^@\n]*@//
292/^NEXT_SIGNAL_H *=/s/@[^@\n]*@/<signal.h>/ 292/^NEXT_SIGNAL_H *=/s/@[^@\n]*@/<signal.h>/
293/^NEXT_STDDEF_H *=/s/@[^@\n]*@// 293/^NEXT_STDDEF_H *=/s/@[^@\n]*@/<stddef.h>/
294/^NEXT_STDIO_H *=/s/@[^@\n]*@/<stdio.h>/ 294/^NEXT_STDIO_H *=/s/@[^@\n]*@/<stdio.h>/
295/^NEXT_STDINT_H *=/s/@[^@\n]*@/<stdint.h>/ 295/^NEXT_STDINT_H *=/s/@[^@\n]*@/<stdint.h>/
296/^NEXT_STDLIB_H *=/s/@[^@\n]*@/<stdlib.h>/ 296/^NEXT_STDLIB_H *=/s/@[^@\n]*@/<stdlib.h>/
@@ -307,7 +307,8 @@ am__cd = cd
307/^PTHREAD_H_DEFINES_STRUCT_TIMESPEC *=/s/@[^@\n]*@/0/ 307/^PTHREAD_H_DEFINES_STRUCT_TIMESPEC *=/s/@[^@\n]*@/0/
308/^PTRDIFF_T_SUFFIX *=/s/@[^@\n]*@// 308/^PTRDIFF_T_SUFFIX *=/s/@[^@\n]*@//
309/^RANLIB *=/s/@[^@\n]*@/ranlib/ 309/^RANLIB *=/s/@[^@\n]*@/ranlib/
310# We never want any gnulib replacement functions 310/^REPLACE_MKTIME *=/s/@[^@\n]*@/1/
311# We don't want any other gnulib replacement functions
311/^REPLACE_[^ =]* *= *@/s/@[^@\n]*@/0/ 312/^REPLACE_[^ =]* *= *@/s/@[^@\n]*@/0/
312/^SIG_ATOMIC_T_SUFFIX *=/s/@SIG_ATOMIC_T_SUFFIX@// 313/^SIG_ATOMIC_T_SUFFIX *=/s/@SIG_ATOMIC_T_SUFFIX@//
313/^SIZE_T_SUFFIX *=/s/@SIZE_T_SUFFIX@/u/ 314/^SIZE_T_SUFFIX *=/s/@SIZE_T_SUFFIX@/u/
@@ -316,15 +317,14 @@ am__cd = cd
316/^DIRENT_H *=/s/@[^@\n]*@// 317/^DIRENT_H *=/s/@[^@\n]*@//
317/^ERRNO_H *=/s/@[^@\n]*@// 318/^ERRNO_H *=/s/@[^@\n]*@//
318/^EXECINFO_H *=/s/@[^@\n]*@/execinfo.h/ 319/^EXECINFO_H *=/s/@[^@\n]*@/execinfo.h/
319/^STDBOOL_H *=/s/@[^@\n]*@//
320/^STDALIGN_H *=/s/@[^@\n]*@/stdalign.h/ 320/^STDALIGN_H *=/s/@[^@\n]*@/stdalign.h/
321/^STDARG_H *=/s/@[^@\n]*@// 321/^STDDEF_H *=/s/@[^@\n]*@/stddef.h/
322/^STDDEF_H *=/s/@[^@\n]*@//
323/^STDINT_H *=/s/@[^@\n]*@/stdint.h/ 322/^STDINT_H *=/s/@[^@\n]*@/stdint.h/
324/^SYS_TIME_H_DEFINES_STRUCT_TIMESPEC *=/s/@[^@\n]*@/0/ 323/^SYS_TIME_H_DEFINES_STRUCT_TIMESPEC *=/s/@[^@\n]*@/0/
325/^TIME_H_DEFINES_STRUCT_TIMESPEC *=/s/@[^@\n]*@/0/ 324/^TIME_H_DEFINES_STRUCT_TIMESPEC *=/s/@[^@\n]*@/0/
326/^UNISTD_H_HAVE_WINSOCK2_H *=/s/@[^@\n]*@/0/ 325/^UNISTD_H_HAVE_WINSOCK2_H *=/s/@[^@\n]*@/0/
327/^UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS *=/s/@[^@\n]*@/0/ 326/^UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS *=/s/@[^@\n]*@/0/
327/^UNISTD_H_DEFINES_STRUCT_TIMESPEC *=/s/@[^@\n]*@/0/
328/^UNDEFINE_STRTOK_R *=/s/@UNDEFINE_STRTOK_R@/0/ 328/^UNDEFINE_STRTOK_R *=/s/@UNDEFINE_STRTOK_R@/0/
329/^WCHAR_T_SUFFIX *=/s/@WCHAR_T_SUFFIX@/h/ 329/^WCHAR_T_SUFFIX *=/s/@WCHAR_T_SUFFIX@/h/
330/^WINT_T_SUFFIX *=/s/@WINT_T_SUFFIX@// 330/^WINT_T_SUFFIX *=/s/@WINT_T_SUFFIX@//
@@ -334,7 +334,7 @@ am__cd = cd
334/am__append_[1-9][0-9]* *=.*gettext\.h/s/@[^@\n]*@/\#/ 334/am__append_[1-9][0-9]* *=.*gettext\.h/s/@[^@\n]*@/\#/
335/am__append_2 *=.*verify\.h/s/@[^@\n]*@// 335/am__append_2 *=.*verify\.h/s/@[^@\n]*@//
336/^@gl_GNULIB_ENABLED_tempname_TRUE@/s/@[^@\n]*@// 336/^@gl_GNULIB_ENABLED_tempname_TRUE@/s/@[^@\n]*@//
337/^gl_LIBOBJS *=/s/@[^@\n]*@/getopt.o getopt1.o memrchr.o sig2str.o time_r.o getloadavg.o pthread_sigmask.o mkostemp.o fpending.o fdatasync.o execinfo.o/ 337/^gl_LIBOBJS *=/s/@[^@\n]*@/getopt.o getopt1.o memrchr.o sig2str.o time_r.o time_rz.o timegm.o mktime.o getloadavg.o pthread_sigmask.o mkostemp.o fpending.o fdatasync.o execinfo.o/
338/^am__append_[1-9][0-9]* *=/,/^[^ ]/{ 338/^am__append_[1-9][0-9]* *=/,/^[^ ]/{
339 s/ *inttypes\.h// 339 s/ *inttypes\.h//
340 s| *sys/select\.h|| 340 s| *sys/select\.h||
@@ -342,13 +342,13 @@ am__cd = cd
342} 342}
343/^am_libgnu_a_OBJECTS *=/,/^[^ ]/{ 343/^am_libgnu_a_OBJECTS *=/,/^[^ ]/{
344 s/allocator\.\$(OBJEXT) // 344 s/allocator\.\$(OBJEXT) //
345 s/binary-io\.\$(OBJEXT) //
346 s/careadlinkat\.\$(OBJEXT) // 345 s/careadlinkat\.\$(OBJEXT) //
347 s/pipe2\.\$(OBJEXT) // 346 s/pipe2\.\$(OBJEXT) //
348 s/acl-errno-valid\.\$(OBJEXT) // 347 s/acl-errno-valid\.\$(OBJEXT) //
349 s/file-has-acl\.\$(OBJEXT) // 348 s/acl-internal\.\$(OBJEXT) //
349 s/get-permissions\.\$(OBJEXT) //
350 s/set-permissions\.\$(OBJEXT) //
350 s/qcopy-acl\.\$(OBJEXT) // 351 s/qcopy-acl\.\$(OBJEXT) //
351 s/qset-acl\.\$(OBJEXT) //
352 s/openat-die\.\$(OBJEXT) // 352 s/openat-die\.\$(OBJEXT) //
353 s/save-cwd\.\$(OBJEXT) // 353 s/save-cwd\.\$(OBJEXT) //
354} 354}
@@ -396,13 +396,9 @@ s/^@GL_GENERATE_ERRNO_H_TRUE@/\#/
396s/^@GL_GENERATE_ERRNO_H_FALSE@// 396s/^@GL_GENERATE_ERRNO_H_FALSE@//
397s/^@GL_GENERATE_EXECINFO_H_TRUE@// 397s/^@GL_GENERATE_EXECINFO_H_TRUE@//
398s/^@GL_GENERATE_EXECINFO_H_FALSE@/\#/ 398s/^@GL_GENERATE_EXECINFO_H_FALSE@/\#/
399s/^@GL_GENERATE_STDBOOL_H_TRUE@/\#/
400s/^@GL_GENERATE_STDBOOL_H_FALSE@//
401s/^@GL_GENERATE_STDALIGN_H_TRUE@// 399s/^@GL_GENERATE_STDALIGN_H_TRUE@//
402s/^@GL_GENERATE_STDALIGN_H_FALSE@/\#/ 400s/^@GL_GENERATE_STDALIGN_H_FALSE@/\#/
403s/^@GL_GENERATE_STDARG_H_TRUE@/\#/ 401s/^@GL_GENERATE_STDDEF_H_TRUE@//
404s/^@GL_GENERATE_STDARG_H_FALSE@/\#/
405s/^@GL_GENERATE_STDDEF_H_TRUE@/\#/
406s/^@GL_GENERATE_STDDEF_H_FALSE@/\#/ 402s/^@GL_GENERATE_STDDEF_H_FALSE@/\#/
407s/^@GL_GENERATE_STDINT_H_TRUE@// 403s/^@GL_GENERATE_STDINT_H_TRUE@//
408s/^@GL_GENERATE_STDINT_H_FALSE@/\#/ 404s/^@GL_GENERATE_STDINT_H_FALSE@/\#/
diff --git a/msdos/sedlisp.inp b/msdos/sedlisp.inp
index 7fa476eb072..17aa168e843 100644
--- a/msdos/sedlisp.inp
+++ b/msdos/sedlisp.inp
@@ -23,5 +23,9 @@ export FNCASE=y
23/^lisp *=/s|\$(srcdir)|$(CURDIR)| 23/^lisp *=/s|\$(srcdir)|$(CURDIR)|
24/^srcdir *=/s|@srcdir@|.| 24/^srcdir *=/s|@srcdir@|.|
25/^top_srcdir *=/s|@top_srcdir@|./..| 25/^top_srcdir *=/s|@top_srcdir@|./..|
26/^EXEEXT *=/s/@EXEEXT@/.exe/
26/^XARGS_LIMIT *=/s|@XARGS_LIMIT@|| 27/^XARGS_LIMIT *=/s|@XARGS_LIMIT@||
28/^AM_DEFAULT_VERBOSITY *=/s/@AM_DEFAULT_VERBOSITY@/1/
29/^[Aa][Mm]_/s/@AM_V@/$(V)/
30/^[Aa][Mm]_/s/@AM_DEFAULT_V@/$(AM_DEFAULT_VERBOSITY)/
27 31
diff --git a/src/Makefile.in b/src/Makefile.in
index fc9360a5bde..8639effde86 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -114,8 +114,9 @@ TEMACS_LDFLAGS = $(LD_SWITCH_SYSTEM) $(LD_SWITCH_SYSTEM_TEMACS)
114## around this, newer ones setfattr. See Bug#11398 and Bug#16343. 114## around this, newer ones setfattr. See Bug#11398 and Bug#16343.
115PAXCTL = @PAXCTL@ 115PAXCTL = @PAXCTL@
116SETFATTR = @SETFATTR@ 116SETFATTR = @SETFATTR@
117PAXCTL_if_present = $(or $(PAXCTL),: paxctl) 117## Commands to set PaX flags on dumped and not-dumped instances of Emacs.
118SETFATTR_if_present = $(or $(SETFATTR),: setfattr) 118PAXCTL_dumped = @PAXCTL_dumped@
119PAXCTL_notdumped = @PAXCTL_notdumped@
119 120
120## Some systems define this to request special libraries. 121## Some systems define this to request special libraries.
121LIBS_SYSTEM=@LIBS_SYSTEM@ 122LIBS_SYSTEM=@LIBS_SYSTEM@
@@ -542,7 +543,9 @@ ifeq ($(CANNOT_DUMP),yes)
542 ln -f temacs$(EXEEXT) $@ 543 ln -f temacs$(EXEEXT) $@
543else 544else
544 LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump 545 LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump
545 $(PAXCTL_if_present) -zex $@ 546 ifneq ($(PAXCTL_dumped),)
547 $(PAXCTL_dumped) $@
548 endif
546 ln -f $@ bootstrap-emacs$(EXEEXT) 549 ln -f $@ bootstrap-emacs$(EXEEXT)
547endif 550endif
548 551
@@ -606,8 +609,9 @@ temacs$(EXEEXT): $(LIBXMENU) $(ALLOBJS) \
606 -o temacs $(ALLOBJS) $(LIBEGNU_ARCHIVE) $(W32_RES_LINK) $(LIBES) 609 -o temacs $(ALLOBJS) $(LIBEGNU_ARCHIVE) $(W32_RES_LINK) $(LIBES)
607 $(MKDIR_P) $(etc) 610 $(MKDIR_P) $(etc)
608ifneq ($(CANNOT_DUMP),yes) 611ifneq ($(CANNOT_DUMP),yes)
609 $(PAXCTL_if_present) -r $@ 612 ifneq ($(PAXCTL_notdumped),)
610 $(SETFATTR_if_present) -n user.pax.flags -v er $@ 613 $(PAXCTL_notdumped) $@
614 endif
611endif 615endif
612 616
613## The following oldxmenu-related rules are only (possibly) used if 617## The following oldxmenu-related rules are only (possibly) used if
@@ -748,7 +752,9 @@ ifeq ($(CANNOT_DUMP),yes)
748 ln -f temacs$(EXEEXT) $@ 752 ln -f temacs$(EXEEXT) $@
749else 753else
750 $(RUN_TEMACS) --batch $(BUILD_DETAILS) --load loadup bootstrap 754 $(RUN_TEMACS) --batch $(BUILD_DETAILS) --load loadup bootstrap
751 $(PAXCTL_if_present) -zex emacs$(EXEEXT) 755 ifneq ($(PAXCTL_dumped),)
756 $(PAXCTL_dumped) emacs$(EXEEXT)
757 endif
752 mv -f emacs$(EXEEXT) $@ 758 mv -f emacs$(EXEEXT) $@
753endif 759endif
754 @: Compile some files earlier to speed up further compilation. 760 @: Compile some files earlier to speed up further compilation.
diff --git a/src/atimer.c b/src/atimer.c
index 70d9bf52bc2..64c9e8ab6cb 100644
--- a/src/atimer.c
+++ b/src/atimer.c
@@ -30,6 +30,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
30# include <sys/timerfd.h> 30# include <sys/timerfd.h>
31#endif 31#endif
32 32
33#ifdef MSDOS
34#include "msdos.h"
35#endif
36
33/* Free-list of atimer structures. */ 37/* Free-list of atimer structures. */
34 38
35static struct atimer *free_atimers; 39static struct atimer *free_atimers;
diff --git a/src/conf_post.h b/src/conf_post.h
index 047e3575e19..5d3394fafce 100644
--- a/src/conf_post.h
+++ b/src/conf_post.h
@@ -134,6 +134,9 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
134# define HAVE_LSTAT 1 134# define HAVE_LSTAT 1
135#else 135#else
136# define lstat stat 136# define lstat stat
137/* DJGPP 2.03 and older don't have the next two. */
138# define EOVERFLOW ERANGE
139# define SIZE_MAX 4294967295U
137#endif 140#endif
138 141
139/* We must intercept 'opendir' calls to stash away the directory name, 142/* We must intercept 'opendir' calls to stash away the directory name,
diff --git a/src/deps.mk b/src/deps.mk
index 0295e705a9c..72f68cabfc3 100644
--- a/src/deps.mk
+++ b/src/deps.mk
@@ -35,7 +35,7 @@
35### Code: 35### Code:
36 36
37atimer.o: atimer.c atimer.h syssignal.h systime.h lisp.h blockinput.h \ 37atimer.o: atimer.c atimer.h syssignal.h systime.h lisp.h blockinput.h \
38 globals.h ../lib/unistd.h $(config_h) 38 globals.h ../lib/unistd.h msdos.h $(config_h)
39bidi.o: bidi.c buffer.h character.h dispextern.h msdos.h lisp.h \ 39bidi.o: bidi.c buffer.h character.h dispextern.h msdos.h lisp.h \
40 globals.h $(config_h) 40 globals.h $(config_h)
41buffer.o: buffer.c buffer.h region-cache.h commands.h window.h \ 41buffer.o: buffer.c buffer.h region-cache.h commands.h window.h \
@@ -92,7 +92,7 @@ editfns.o: editfns.c window.h buffer.h systime.h $(INTERVALS_H) character.h \
92emacs.o: emacs.c commands.h systty.h syssignal.h blockinput.h process.h \ 92emacs.o: emacs.c commands.h systty.h syssignal.h blockinput.h process.h \
93 termhooks.h buffer.h atimer.h systime.h $(INTERVALS_H) lisp.h $(config_h) \ 93 termhooks.h buffer.h atimer.h systime.h $(INTERVALS_H) lisp.h $(config_h) \
94 globals.h ../lib/unistd.h window.h dispextern.h keyboard.h keymap.h \ 94 globals.h ../lib/unistd.h window.h dispextern.h keyboard.h keymap.h \
95 frame.h coding.h gnutls.h msdos.h unexec.h 95 frame.h coding.h gnutls.h msdos.h dosfns.h unexec.h
96fileio.o: fileio.c window.h buffer.h systime.h $(INTERVALS_H) character.h \ 96fileio.o: fileio.c window.h buffer.h systime.h $(INTERVALS_H) character.h \
97 coding.h msdos.h blockinput.h atimer.h lisp.h $(config_h) frame.h \ 97 coding.h msdos.h blockinput.h atimer.h lisp.h $(config_h) frame.h \
98 commands.h globals.h ../lib/unistd.h 98 commands.h globals.h ../lib/unistd.h
diff --git a/src/dosfns.h b/src/dosfns.h
index 9fbf7eda192..849fb91a7af 100644
--- a/src/dosfns.h
+++ b/src/dosfns.h
@@ -24,6 +24,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
24extern unsigned char dos_country_info[DOS_COUNTRY_INFO]; 24extern unsigned char dos_country_info[DOS_COUNTRY_INFO];
25extern int dos_memory_info (unsigned long *, unsigned long *, 25extern int dos_memory_info (unsigned long *, unsigned long *,
26 unsigned long *, unsigned long *); 26 unsigned long *, unsigned long *);
27void dos_cleanup (void);
28void syms_of_dosfns (void);
29void init_dosfns (void);
30
27#ifndef HAVE_X_WINDOWS 31#ifndef HAVE_X_WINDOWS
28extern int msdos_stdcolor_idx (const char *); 32extern int msdos_stdcolor_idx (const char *);
29extern Lisp_Object msdos_stdcolor_name (int); 33extern Lisp_Object msdos_stdcolor_name (int);
diff --git a/src/emacs.c b/src/emacs.c
index a7cbb32e141..3e0cf596402 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -54,6 +54,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
54 54
55#ifdef MSDOS 55#ifdef MSDOS
56#include <binary-io.h> 56#include <binary-io.h>
57#include "dosfns.h"
57#endif 58#endif
58 59
59#ifdef HAVE_LIBSYSTEMD 60#ifdef HAVE_LIBSYSTEMD
diff --git a/src/filelock.c b/src/filelock.c
index 6db6daa3bba..62017188b33 100644
--- a/src/filelock.c
+++ b/src/filelock.c
@@ -53,6 +53,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
53#include "w32.h" /* for dostounix_filename */ 53#include "w32.h" /* for dostounix_filename */
54#endif 54#endif
55 55
56#ifndef MSDOS
57
56#ifdef HAVE_UTMP_H 58#ifdef HAVE_UTMP_H
57#include <utmp.h> 59#include <utmp.h>
58#endif 60#endif
@@ -732,6 +734,19 @@ unlock_file (Lisp_Object fn)
732 SAFE_FREE (); 734 SAFE_FREE ();
733} 735}
734 736
737#else /* MSDOS */
738void
739lock_file (Lisp_Object fn)
740{
741}
742
743void
744unlock_file (Lisp_Object fn)
745{
746}
747
748#endif /* MSDOS */
749
735void 750void
736unlock_all_files (void) 751unlock_all_files (void)
737{ 752{
@@ -795,6 +810,9 @@ The value is nil if the FILENAME is not locked,
795t if it is locked by you, else a string saying which user has locked it. */) 810t if it is locked by you, else a string saying which user has locked it. */)
796 (Lisp_Object filename) 811 (Lisp_Object filename)
797{ 812{
813#ifdef MSDOS
814 return Qnil;
815#else
798 Lisp_Object ret; 816 Lisp_Object ret;
799 char *lfname; 817 char *lfname;
800 int owner; 818 int owner;
@@ -815,6 +833,7 @@ t if it is locked by you, else a string saying which user has locked it. */)
815 833
816 SAFE_FREE (); 834 SAFE_FREE ();
817 return ret; 835 return ret;
836#endif
818} 837}
819 838
820void 839void
diff --git a/src/fns.c b/src/fns.c
index b21e93d109a..5217b068882 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -34,8 +34,13 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
34#include "intervals.h" 34#include "intervals.h"
35#include "window.h" 35#include "window.h"
36 36
37#if __GNUC__ >= 4
37static void sort_vector_copy (Lisp_Object, ptrdiff_t, 38static void sort_vector_copy (Lisp_Object, ptrdiff_t,
38 Lisp_Object [restrict], Lisp_Object [restrict]); 39 Lisp_Object [restrict], Lisp_Object [restrict]);
40#else
41static void sort_vector_copy (Lisp_Object, ptrdiff_t,
42 Lisp_Object [], Lisp_Object []);
43#endif
39static bool internal_equal (Lisp_Object, Lisp_Object, int, bool, Lisp_Object); 44static bool internal_equal (Lisp_Object, Lisp_Object, int, bool, Lisp_Object);
40 45
41DEFUN ("identity", Fidentity, Sidentity, 1, 1, 0, 46DEFUN ("identity", Fidentity, Sidentity, 1, 1, 0,
diff --git a/src/frame.c b/src/frame.c
index 9c8926c42c7..1c5c12c7e29 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -509,10 +509,13 @@ adjust_frame_size (struct frame *f, int new_width, int new_height, int inhibit,
509 block_input (); 509 block_input ();
510 510
511#ifdef MSDOS 511#ifdef MSDOS
512 /* We only can set screen dimensions to certain values supported 512 /* We only can set screen dimensions to certain values supported by
513 by our video hardware. Try to find the smallest size greater 513 our video hardware. Try to find the smallest size greater or
514 or equal to the requested dimensions. */ 514 equal to the requested dimensions, while accounting for the fact
515 dos_set_window_size (&new_lines, &new_cols); 515 that the menu-bar lines are not counted in the frame height. */
516 int dos_new_lines = new_lines + FRAME_TOP_MARGIN (f);
517 dos_set_window_size (&dos_new_lines, &new_cols);
518 new_lines = dos_new_lines - FRAME_TOP_MARGIN (f);
516#endif 519#endif
517 520
518 if (new_windows_width != old_windows_width) 521 if (new_windows_width != old_windows_width)
diff --git a/src/lread.c b/src/lread.c
index 44507281f2f..98a4d69894b 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -47,6 +47,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
47 47
48#ifdef MSDOS 48#ifdef MSDOS
49#include "msdos.h" 49#include "msdos.h"
50#if __DJGPP__ == 2 && __DJGPP_MINOR__ < 5
51# define INFINITY __builtin_inf()
52# define NAN __builtin_nan("")
53#endif
50#endif 54#endif
51 55
52#ifdef HAVE_NS 56#ifdef HAVE_NS
diff --git a/src/msdos.c b/src/msdos.c
index 84e8c39ec0c..62411ea2f6d 100644
--- a/src/msdos.c
+++ b/src/msdos.c
@@ -59,6 +59,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
59#include <libc/dosio.h> /* for _USE_LFN */ 59#include <libc/dosio.h> /* for _USE_LFN */
60#include <conio.h> /* for cputs */ 60#include <conio.h> /* for cputs */
61 61
62#if (__DJGPP__ + (__DJGPP_MINOR__ > 3)) >= 3
63#define SYS_ENVIRON _environ
64#else
65#define SYS_ENVIRON environ
66#endif
67
62#include "msdos.h" 68#include "msdos.h"
63#include "systime.h" 69#include "systime.h"
64#include "frame.h" 70#include "frame.h"
@@ -422,8 +428,6 @@ static unsigned long screen_old_address = 0;
422/* Segment and offset of the virtual screen. If 0, DOS/V is NOT loaded. */ 428/* Segment and offset of the virtual screen. If 0, DOS/V is NOT loaded. */
423static unsigned short screen_virtual_segment = 0; 429static unsigned short screen_virtual_segment = 0;
424static unsigned short screen_virtual_offset = 0; 430static unsigned short screen_virtual_offset = 0;
425extern Lisp_Object Qcursor_type;
426extern Lisp_Object Qbar, Qhbar;
427 431
428/* The screen colors of the current frame, which serve as the default 432/* The screen colors of the current frame, which serve as the default
429 colors for newly-created frames. */ 433 colors for newly-created frames. */
@@ -1384,11 +1388,6 @@ IT_delete_glyphs (struct frame *f, int n)
1384 1388
1385/* This was copied from xfaces.c */ 1389/* This was copied from xfaces.c */
1386 1390
1387extern Lisp_Object Qbackground_color;
1388extern Lisp_Object Qforeground_color;
1389Lisp_Object Qreverse;
1390extern Lisp_Object Qtitle;
1391
1392/* IT_set_terminal_modes is called when emacs is started, 1391/* IT_set_terminal_modes is called when emacs is started,
1393 resumed, and whenever the screen is redrawn! */ 1392 resumed, and whenever the screen is redrawn! */
1394 1393
@@ -3710,7 +3709,7 @@ dos_ttcooked (void)
3710 file TEMPOUT and stderr to TEMPERR. */ 3709 file TEMPOUT and stderr to TEMPERR. */
3711 3710
3712int 3711int
3713run_msdos_command (unsigned char **argv, const char *working_dir, 3712run_msdos_command (char **argv, const char *working_dir,
3714 int tempin, int tempout, int temperr, char **envv) 3713 int tempin, int tempout, int temperr, char **envv)
3715{ 3714{
3716 char *saveargv1, *saveargv2, *lowcase_argv0, *pa, *pl; 3715 char *saveargv1, *saveargv2, *lowcase_argv0, *pa, *pl;
@@ -3796,8 +3795,8 @@ run_msdos_command (unsigned char **argv, const char *working_dir,
3796 ; 3795 ;
3797 if (*cmnd) 3796 if (*cmnd)
3798 { 3797 {
3799 extern char **environ; 3798 extern char **SYS_ENVIRON;
3800 char **save_env = environ; 3799 char **save_env = SYS_ENVIRON;
3801 int save_system_flags = __system_flags; 3800 int save_system_flags = __system_flags;
3802 3801
3803 /* Request the most powerful version of `system'. We need 3802 /* Request the most powerful version of `system'. We need
@@ -3809,16 +3808,16 @@ run_msdos_command (unsigned char **argv, const char *working_dir,
3809 | __system_handle_null_commands 3808 | __system_handle_null_commands
3810 | __system_emulate_chdir); 3809 | __system_emulate_chdir);
3811 3810
3812 environ = envv; 3811 SYS_ENVIRON = envv;
3813 result = system (cmnd); 3812 result = system (cmnd);
3814 __system_flags = save_system_flags; 3813 __system_flags = save_system_flags;
3815 environ = save_env; 3814 SYS_ENVIRON = save_env;
3816 } 3815 }
3817 else 3816 else
3818 result = 0; /* emulate Unixy shell behavior with empty cmd line */ 3817 result = 0; /* emulate Unixy shell behavior with empty cmd line */
3819 } 3818 }
3820 else 3819 else
3821 result = spawnve (P_WAIT, argv[0], (char **)argv, envv); 3820 result = spawnve (P_WAIT, argv[0], argv, envv);
3822 3821
3823 dup2 (inbak, 0); 3822 dup2 (inbak, 0);
3824 dup2 (outbak, 1); 3823 dup2 (outbak, 1);
@@ -4085,11 +4084,14 @@ sys_select (int nfds, fd_set *rfds, fd_set *wfds, fd_set *efds,
4085 gettime (&t); 4084 gettime (&t);
4086 clnow = make_timespec (t.tv_sec, t.tv_nsec); 4085 clnow = make_timespec (t.tv_sec, t.tv_nsec);
4087 cldiff = timespec_sub (clnow, cllast); 4086 cldiff = timespec_sub (clnow, cllast);
4087 /* Stop when timeout value is about to cross zero. */
4088 if (timespec_cmp (*timeout, cldiff) <= 0)
4089 {
4090 timeout->tv_sec = 0;
4091 timeout->tv_nsec = 0;
4092 return 0;
4093 }
4088 *timeout = timespec_sub (*timeout, cldiff); 4094 *timeout = timespec_sub (*timeout, cldiff);
4089
4090 /* Stop when timeout value crosses zero. */
4091 if (timespec_sign (*timeout) <= 0)
4092 return 0;
4093 cllast = clnow; 4095 cllast = clnow;
4094 dos_yield_time_slice (); 4096 dos_yield_time_slice ();
4095 } 4097 }
diff --git a/src/msdos.h b/src/msdos.h
index 863ca486e8d..0c3ba2bfa16 100644
--- a/src/msdos.h
+++ b/src/msdos.h
@@ -41,8 +41,12 @@ void mouse_on (void);
41void mouse_off (void); 41void mouse_off (void);
42void mouse_moveto (int, int); 42void mouse_moveto (int, int);
43 43
44void IT_set_frame_parameters (struct frame *, Lisp_Object);
45
44#include <sys/types.h> 46#include <sys/types.h>
45#include <sys/stat.h> 47#include <sys/stat.h>
48#include <pc.h>
49#include <signal.h>
46 50
47#if __DJGPP__ == 2 && __DJGPP_MINOR__ < 4 51#if __DJGPP__ == 2 && __DJGPP_MINOR__ < 4
48int readlink (const char *, char *, size_t); 52int readlink (const char *, char *, size_t);
@@ -50,6 +54,16 @@ int readlink (const char *, char *, size_t);
50ssize_t readlinkat (int, const char *, char *, size_t); 54ssize_t readlinkat (int, const char *, char *, size_t);
51int fstatat (int, char const *, struct stat *, int); 55int fstatat (int, char const *, struct stat *, int);
52int unsetenv (const char *); 56int unsetenv (const char *);
57int faccessat (int, const char *, int, int);
58void msdos_fatal_signal (int);
59void syms_of_msdos (void);
60int pthread_sigmask (int, const sigset_t *, sigset_t *);
61int dos_keysns (void);
62int dos_keyread (void);
63int run_msdos_command (char **, const char *, int, int, int, char **);
64
65void syms_of_win16select (void);
66
53 67
54/* Constants. */ 68/* Constants. */
55#define EINPROGRESS 112 69#define EINPROGRESS 112
diff --git a/src/process.c b/src/process.c
index 0dfe1622971..9f2d379c330 100644
--- a/src/process.c
+++ b/src/process.c
@@ -4278,19 +4278,6 @@ Data that is unavailable is returned as nil. */)
4278#endif 4278#endif
4279} 4279}
4280 4280
4281/* If program file NAME starts with /: for quoting a magic
4282 name, remove that, preserving the multibyteness of NAME. */
4283
4284Lisp_Object
4285remove_slash_colon (Lisp_Object name)
4286{
4287 return
4288 ((SBYTES (name) > 2 && SREF (name, 0) == '/' && SREF (name, 1) == ':')
4289 ? make_specified_string (SSDATA (name) + 2, SCHARS (name) - 2,
4290 SBYTES (name) - 2, STRING_MULTIBYTE (name))
4291 : name);
4292}
4293
4294/* Turn off input and output for process PROC. */ 4281/* Turn off input and output for process PROC. */
4295 4282
4296static void 4283static void
@@ -7483,6 +7470,19 @@ add_timer_wait_descriptor (int fd)
7483 7470
7484#endif /* HAVE_TIMERFD */ 7471#endif /* HAVE_TIMERFD */
7485 7472
7473/* If program file NAME starts with /: for quoting a magic
7474 name, remove that, preserving the multibyteness of NAME. */
7475
7476Lisp_Object
7477remove_slash_colon (Lisp_Object name)
7478{
7479 return
7480 ((SBYTES (name) > 2 && SREF (name, 0) == '/' && SREF (name, 1) == ':')
7481 ? make_specified_string (SSDATA (name) + 2, SCHARS (name) - 2,
7482 SBYTES (name) - 2, STRING_MULTIBYTE (name))
7483 : name);
7484}
7485
7486/* Add DESC to the set of keyboard input descriptors. */ 7486/* Add DESC to the set of keyboard input descriptors. */
7487 7487
7488void 7488void
@@ -8010,13 +8010,6 @@ The variable takes effect when `start-process' is called. */);
8010 defsubr (&Sset_process_filter_multibyte); 8010 defsubr (&Sset_process_filter_multibyte);
8011 defsubr (&Sprocess_filter_multibyte_p); 8011 defsubr (&Sprocess_filter_multibyte_p);
8012 8012
8013#endif /* subprocesses */
8014
8015 defsubr (&Sget_buffer_process);
8016 defsubr (&Sprocess_inherit_coding_system_flag);
8017 defsubr (&Slist_system_processes);
8018 defsubr (&Sprocess_attributes);
8019
8020 { 8013 {
8021 Lisp_Object subfeatures = Qnil; 8014 Lisp_Object subfeatures = Qnil;
8022 const struct socket_options *sopt; 8015 const struct socket_options *sopt;
@@ -8049,4 +8042,10 @@ The variable takes effect when `start-process' is called. */);
8049 Fprovide (intern_c_string ("make-network-process"), subfeatures); 8042 Fprovide (intern_c_string ("make-network-process"), subfeatures);
8050 } 8043 }
8051 8044
8045#endif /* subprocesses */
8046
8047 defsubr (&Sget_buffer_process);
8048 defsubr (&Sprocess_inherit_coding_system_flag);
8049 defsubr (&Slist_system_processes);
8050 defsubr (&Sprocess_attributes);
8052} 8051}
diff --git a/src/w16select.c b/src/w16select.c
index 434a5987893..208cfccf11a 100644
--- a/src/w16select.c
+++ b/src/w16select.c
@@ -65,8 +65,6 @@ unsigned get_clipboard_data (unsigned, void *, unsigned, int);
65unsigned close_clipboard (void); 65unsigned close_clipboard (void);
66unsigned clipboard_compact (unsigned); 66unsigned clipboard_compact (unsigned);
67 67
68Lisp_Object QCLIPBOARD, QPRIMARY;
69
70/* The segment address and the size of the buffer in low 68/* The segment address and the size of the buffer in low
71 memory used to move data between us and WinOldAp module. */ 69 memory used to move data between us and WinOldAp module. */
72static struct { 70static struct {
@@ -719,8 +717,7 @@ variable is set, it is used for the next communication only.
719After the communication, this variable is set to nil. */); 717After the communication, this variable is set to nil. */);
720 Vnext_selection_coding_system = Qnil; 718 Vnext_selection_coding_system = Qnil;
721 719
722 QPRIMARY = intern ("PRIMARY"); staticpro (&QPRIMARY); 720 DEFSYM (QCLIPBOARD, "CLIPBOARD");
723 QCLIPBOARD = intern ("CLIPBOARD"); staticpro (&QCLIPBOARD);
724} 721}
725 722
726#endif /* MSDOS */ 723#endif /* MSDOS */
diff --git a/test/manual/indent/js.js b/test/manual/indent/js.js
index 61c7b440ea3..23fae17b3ce 100644
--- a/test/manual/indent/js.js
+++ b/test/manual/indent/js.js
@@ -53,6 +53,14 @@ var p = {
53var evens = [e for each (e in range(0, 21)) 53var evens = [e for each (e in range(0, 21))
54 if (ed % 2 == 0)]; 54 if (ed % 2 == 0)];
55 55
56var funs = [
57 function() {
58 for (;;) {
59 }
60 },
61 function(){},
62];
63
56!b 64!b
57 !=b 65 !=b
58 !==b 66 !==b