aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2014-04-16 12:43:46 -0700
committerPaul Eggert2014-04-16 12:43:46 -0700
commit290d7ac277986bd118e594a8100b3f40e4492cb1 (patch)
treed63a3aa61cac577dd119665edaffe2def8d194e2
parent37eccff4f72c5a36dcd4b89d417b0047aab84e50 (diff)
parentb262bde327db2cd9b2f01f2d3ed946d0b188cb9d (diff)
downloademacs-290d7ac277986bd118e594a8100b3f40e4492cb1.tar.gz
emacs-290d7ac277986bd118e594a8100b3f40e4492cb1.zip
Merge from emacs-24; up to 2014-04-16T15:28:26Z!monnier@iro.umontreal.ca
-rw-r--r--ChangeLog26
-rw-r--r--config.bat18
-rw-r--r--configure.ac45
-rw-r--r--doc/emacs/ChangeLog5
-rw-r--r--doc/emacs/display.texi33
-rw-r--r--doc/lispref/display.texi23
-rw-r--r--etc/NEWS2
-rw-r--r--lib-src/ChangeLog5
-rw-r--r--lib-src/update-game-score.c4
-rw-r--r--lisp/ChangeLog60
-rw-r--r--lisp/elec-pair.el9
-rw-r--r--lisp/frame.el10
-rw-r--r--lisp/htmlfontify.el11
-rw-r--r--lisp/net/shr.el2
-rw-r--r--lisp/net/tramp-sh.el16
-rw-r--r--lisp/nxml/nxml-mode.el2
-rw-r--r--lisp/nxml/xmltok.el3
-rw-r--r--lisp/obsolete/lucid.el10
-rw-r--r--lisp/progmodes/perl-mode.el4
-rw-r--r--lisp/ps-def.el46
-rw-r--r--lisp/simple.el7
-rw-r--r--lisp/term/pc-win.el25
-rw-r--r--lisp/vc/ediff-diff.el5
-rw-r--r--msdos/ChangeLog15
-rw-r--r--msdos/INSTALL58
-rw-r--r--msdos/inttypes.h1
-rw-r--r--msdos/sed1v2.inp37
-rw-r--r--msdos/sed2v2.inp1
-rw-r--r--msdos/sed3v2.inp10
-rw-r--r--msdos/sed6.inp2
-rw-r--r--msdos/sedadmin.inp29
-rw-r--r--msdos/sedleim.inp53
-rw-r--r--msdos/sedlibmk.inp468
-rw-r--r--msdos/sedlisp.inp3
-rw-r--r--src/ChangeLog99
-rw-r--r--src/alloc.c4
-rw-r--r--src/buffer.c11
-rw-r--r--src/bytecode.c17
-rw-r--r--src/callproc.c20
-rw-r--r--src/conf_post.h13
-rw-r--r--src/data.c2
-rw-r--r--src/dired.c4
-rw-r--r--src/emacs.c7
-rw-r--r--src/font.h4
-rw-r--r--src/insdel.c32
-rw-r--r--src/keyboard.c15
-rw-r--r--src/lisp.h3
-rw-r--r--src/menu.c5
-rw-r--r--src/msdos.c127
-rw-r--r--src/msdos.h17
-rw-r--r--src/process.c50
-rw-r--r--src/sysdep.c8
-rw-r--r--src/term.c4
-rw-r--r--src/termhooks.h2
-rw-r--r--src/unexcoff.c13
-rw-r--r--src/w32term.c2
-rw-r--r--src/window.c7
-rw-r--r--test/indent/nxml.xml10
58 files changed, 849 insertions, 675 deletions
diff --git a/ChangeLog b/ChangeLog
index 4de3ee059d7..d43d82def57 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
12014-04-16 Eli Zaretskii <eliz@gnu.org>
2
3 * config.bat: Update for Emacs 24.4.
4
52014-04-16 Paul Eggert <eggert@cs.ucla.edu>
6
7 Port to IRIX 6.5 (Bug#9684).
8 This port requires IRIX cc, as I did not have time to get
9 undump working with the old GCC on the system I had access to,
10 but that's better than nothing.
11 * configure.ac (gl_GCC_VERSION_IFELSE): Remove unused macro
12 that wouldn't have worked anyway, with IRIX cc.
13 (emacs_cv_clang, emacs_cv_sanitize_address)
14 (ns_osx_have_104, ns_osx_have_105):
15 Don't assume '#error' makes the compiler fail,
16 as this doesn't work with IRIX cc.
17 (CFLAGS, LIBS): Don't let the GnuTLS results infect later 'configure'
18 checks. This runs afoul of an IRIX configuration where GnuTLS is
19 in an optional library that also contains getdelim, and causes
20 a later 'configure' to incorrectly think getdelim is supported.
21
222014-04-16 Eli Zaretskii <eliz@gnu.org>
23
24 * configure.ac (LN_S_FILEONLY, LN_S): Use "/bin/ln" on MinGW, to
25 ensure the MSYS ln.exe is invoked.
26
12014-04-15 Paul Eggert <eggert@cs.ucla.edu> 272014-04-15 Paul Eggert <eggert@cs.ucla.edu>
2 28
3 Remove DATA_SEG_BITS. 29 Remove DATA_SEG_BITS.
diff --git a/config.bat b/config.bat
index 8af3756222b..cc354478ee9 100644
--- a/config.bat
+++ b/config.bat
@@ -264,8 +264,14 @@ cd lib
264Rem Rename files like djtar on plain DOS filesystem would. 264Rem Rename files like djtar on plain DOS filesystem would.
265If Exist build-aux\snippet\c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h 265If Exist build-aux\snippet\c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h
266If Exist alloca.in.h update alloca.in.h alloca.in-h 266If Exist alloca.in.h update alloca.in.h alloca.in-h
267If Exist byteswap.in.h update byteswap.in.h byteswap.in-h
268If Exist dirent.in.h update dirent.in.h dirent.in-h
269If Exist errno.in.h update errno.in.h errno.in-h
267If Exist execinfo.in.h update execinfo.in.h execinfo.in-h 270If Exist execinfo.in.h update execinfo.in.h execinfo.in-h
271If Exist fcntl.in.h update fcntl.in.h fcntl.in-h
268If Exist getopt.in.h update getopt.in.h getopt.in-h 272If Exist getopt.in.h update getopt.in.h getopt.in-h
273If Exist inttypes.in.h update inttypes.in.h inttypes.in-h
274If Exist stdarg.in.h update stdarg.in.h stdarg.in-h
269If Exist stdalign.in.h update stdalign.in.h stdalign.in-h 275If Exist stdalign.in.h update stdalign.in.h stdalign.in-h
270If Exist stdbool.in.h update stdbool.in.h stdbool.in-h 276If Exist stdbool.in.h update stdbool.in.h stdbool.in-h
271If Exist signal.in.h update signal.in.h signal.in-h 277If Exist signal.in.h update signal.in.h signal.in-h
@@ -274,8 +280,11 @@ If Exist stddef.in.h update stddef.in.h stddef.in-h
274If Exist stdint.in.h update stdint.in.h stdint.in-h 280If Exist stdint.in.h update stdint.in.h stdint.in-h
275If Exist stdio.in.h update stdio.in.h stdio.in-h 281If Exist stdio.in.h update stdio.in.h stdio.in-h
276If Exist stdlib.in.h update stdlib.in.h stdlib.in-h 282If Exist stdlib.in.h update stdlib.in.h stdlib.in-h
283If Exist string.in.h update string.in.h string.in-h
284If Exist sys_select.in.h update sys_select.in.h sys_select.in-h
277If Exist sys_stat.in.h update sys_stat.in.h sys_stat.in-h 285If Exist sys_stat.in.h update sys_stat.in.h sys_stat.in-h
278If Exist sys_types.in.h update sys_types.in.h sys_types.in-h 286If Exist sys_types.in.h update sys_types.in.h sys_types.in-h
287If Exist sys_time.in.h update sys_time.in.h sys_time.in-h
279If Exist time.in.h update time.in.h time.in-h 288If Exist time.in.h update time.in.h time.in-h
280If Exist unistd.in.h update unistd.in.h unistd.in-h 289If Exist unistd.in.h update unistd.in.h unistd.in-h
281If Exist Makefile.in sed -f ../msdos/sedlibcf.inp < Makefile.in > makefile.tmp 290If Exist Makefile.in sed -f ../msdos/sedlibcf.inp < Makefile.in > makefile.tmp
@@ -294,13 +303,18 @@ If Exist gnus\.dir-locals.el update gnus/.dir-locals.el gnus/_dir-locals.el
294sed -f ../msdos/sedlisp.inp < Makefile.in > Makefile 303sed -f ../msdos/sedlisp.inp < Makefile.in > Makefile
295cd .. 304cd ..
296rem ---------------------------------------------------------------------- 305rem ----------------------------------------------------------------------
297If not Exist leim\quail\latin-pre.el goto maindir
298Echo Configuring the leim directory... 306Echo Configuring the leim directory...
299cd leim 307cd leim
300sed -f ../msdos/sedleim.inp < Makefile.in > Makefile 308sed -f ../msdos/sedleim.inp < Makefile.in > Makefile
301cd .. 309cd ..
302rem ---------------------------------------------------------------------- 310rem ----------------------------------------------------------------------
303:maindir 311If Not Exist admin\unidata goto noadmin
312Echo Configuring the admin/unidata directory...
313cd admin\unidata
314sed -f ../../msdos/sedadmin.inp < Makefile.in > Makefile
315cd ..\..
316:noadmin
317rem ----------------------------------------------------------------------
304Echo Configuring the main directory... 318Echo Configuring the main directory...
305If Exist .dir-locals.el update .dir-locals.el _dir-locals.el 319If Exist .dir-locals.el update .dir-locals.el _dir-locals.el
306If Exist src\.dbxinit update src/.dbxinit src/_dbxinit 320If Exist src\.dbxinit update src/.dbxinit src/_dbxinit
diff --git a/configure.ac b/configure.ac
index 68b9e3a4761..3717abcf348 100644
--- a/configure.ac
+++ b/configure.ac
@@ -791,30 +791,12 @@ if test "${enableval}" != "no"; then
791 fi 791 fi
792fi) 792fi)
793 793
794# gl_GCC_VERSION_IFELSE([major], [minor], [run-if-found], [run-if-not-found])
795# ------------------------------------------------
796# If $CPP is gcc-MAJOR.MINOR or newer, then run RUN-IF-FOUND.
797# Otherwise, run RUN-IF-NOT-FOUND.
798AC_DEFUN([gl_GCC_VERSION_IFELSE],
799 [AC_PREPROC_IFELSE(
800 [AC_LANG_PROGRAM(
801 [[
802#if ($1) < __GNUC__ || (($1) == __GNUC__ && ($2) <= __GNUC_MINOR__)
803/* ok */
804#else
805# error "your version of gcc is older than $1.$2"
806#endif
807 ]]),
808 ], [$3], [$4])
809 ]
810)
811
812# clang is unduly picky about some things. 794# clang is unduly picky about some things.
813AC_CACHE_CHECK([whether the compiler is clang], [emacs_cv_clang], 795AC_CACHE_CHECK([whether the compiler is clang], [emacs_cv_clang],
814 [AC_COMPILE_IFELSE( 796 [AC_COMPILE_IFELSE(
815 [AC_LANG_PROGRAM([[ 797 [AC_LANG_PROGRAM([[
816 #ifndef __clang__ 798 #ifndef __clang__
817 #error "not clang" 799 error "not clang";
818 #endif 800 #endif
819 ]])], 801 ]])],
820 [emacs_cv_clang=yes], 802 [emacs_cv_clang=yes],
@@ -950,11 +932,21 @@ rm -f conf$$ conf$$.file
950 932
951LN_S_FILEONLY='cp -p' 933LN_S_FILEONLY='cp -p'
952 934
935dnl On MinGW, ensure we will call the MSYS /bin/ln.exe, not some
936dnl random program in the current directory.
953if (echo >conf$$.file) 2>/dev/null; then 937if (echo >conf$$.file) 2>/dev/null; then
954 if ln -s conf$$.file conf$$ 2>/dev/null; then 938 if ln -s conf$$.file conf$$ 2>/dev/null; then
955 LN_S_FILEONLY='ln -s' 939 if test "$opsys" = "mingw32"; then
940 LN_S_FILEONLY='/bin/ln -s'
941 else
942 LN_S_FILEONLY='ln -s'
943 fi
956 elif ln conf$$.file conf$$ 2>/dev/null; then 944 elif ln conf$$.file conf$$ 2>/dev/null; then
957 LN_S_FILEONLY=ln 945 if test "$opsys" = "mingw32"; then
946 LN_S_FILEONLY=/bin/ln
947 else
948 LN_S_FILEONLY=ln
949 fi
958 fi 950 fi
959fi 951fi
960 952
@@ -976,7 +968,7 @@ dnl executables at "make install" time.
976dnl See http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00475.html 968dnl See http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00475.html
977dnl for more details. 969dnl for more details.
978if test "$opsys" = "mingw32"; then 970if test "$opsys" = "mingw32"; then
979 LN_S="ln" 971 LN_S="/bin/ln"
980fi 972fi
981 973
982AC_PATH_PROG(INSTALL_INFO, install-info, :, 974AC_PATH_PROG(INSTALL_INFO, install-info, :,
@@ -1116,7 +1108,7 @@ AC_CACHE_CHECK([whether addresses are sanitized],
1116 #endif 1108 #endif
1117 #if defined __SANITIZE_ADDRESS__ || __has_feature (address_sanitizer) 1109 #if defined __SANITIZE_ADDRESS__ || __has_feature (address_sanitizer)
1118 #else 1110 #else
1119 #error "Addresses are not sanitized." 1111 error "Addresses are not sanitized.";
1120 #endif 1112 #endif
1121 ]])], 1113 ]])],
1122 [emacs_cv_sanitize_address=yes], 1114 [emacs_cv_sanitize_address=yes],
@@ -1712,7 +1704,7 @@ fail;
1712#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 1704#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
1713 ; /* OK */ 1705 ; /* OK */
1714#else 1706#else
1715#error "OSX 10.4 or newer required" 1707 error "OSX 10.4 or newer required";
1716#endif 1708#endif
1717#endif 1709#endif
1718 ])], 1710 ])],
@@ -1730,7 +1722,7 @@ fail;
1730#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1050 1722#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1050
1731 ; /* OK */ 1723 ; /* OK */
1732#else 1724#else
1733#error "OSX 10.5 not found" 1725 error "OSX 10.5 not found";
1734#endif 1726#endif
1735#endif 1727#endif
1736 ])], 1728 ])],
@@ -2515,9 +2507,6 @@ if test "${with_gnutls}" = "yes" ; then
2515 # Windows loads GnuTLS dynamically 2507 # Windows loads GnuTLS dynamically
2516 if test "${opsys}" = "mingw32"; then 2508 if test "${opsys}" = "mingw32"; then
2517 LIBGNUTLS_LIBS= 2509 LIBGNUTLS_LIBS=
2518 else
2519 CFLAGS="$CFLAGS $LIBGNUTLS_CFLAGS"
2520 LIBS="$LIBGNUTLS_LIBS $LIBS"
2521 fi 2510 fi
2522fi 2511fi
2523 2512
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 89a26a6b38a..d4514904c77 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,8 @@
12014-04-16 Eli Zaretskii <eliz@gnu.org>
2
3 * display.texi (Cursor Display): Explain better how to customize
4 'blink-cursor-blinks'.
5
12014-04-07 Glenn Morris <rgm@gnu.org> 62014-04-07 Glenn Morris <rgm@gnu.org>
2 7
3 * trouble.texi (Checklist): Dribble files may contain passwords. 8 * trouble.texi (Checklist): Dribble files may contain passwords.
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi
index d53c80acafd..03de755aff3 100644
--- a/doc/emacs/display.texi
+++ b/doc/emacs/display.texi
@@ -1482,18 +1482,27 @@ pixels tall), or @code{nil} (no cursor at all).
1482@vindex blink-cursor-mode 1482@vindex blink-cursor-mode
1483@vindex blink-cursor-blinks 1483@vindex blink-cursor-blinks
1484@vindex blink-cursor-alist 1484@vindex blink-cursor-alist
1485 By default, the cursor stops blinking after 10 blinks. This can be 1485 By default, the cursor stops blinking after 10 blinks, if Emacs does
1486changed by customizing the variable @code{blink-cursor-blinks}. To 1486not get any input during that time; any input event restarts the
1487disable cursor blinking altogether, change the variable 1487count. You can customize the variable @code{blink-cursor-blinks} to
1488@code{blink-cursor-mode} to @code{nil} (@pxref{Easy Customization}), 1488control that: its value says how many times to blink without input
1489or add the line @code{(blink-cursor-mode 0)} to your init file. 1489before stopping. Setting that variable to a zero or negative value
1490Alternatively, you can change how the cursor looks when it ``blinks 1490will make the cursor blink forever. To disable cursor blinking
1491off'' by customizing the list variable @code{blink-cursor-alist}. 1491altogether, change the variable @code{blink-cursor-mode} to @code{nil}
1492Each element in the list should have the form @code{(@var{on-type} 1492(@pxref{Easy Customization}), or add the line
1493. @var{off-type})}; this means that if the cursor is displayed as 1493
1494@var{on-type} when it blinks on (where @var{on-type} is one of the 1494@lisp
1495cursor types described above), then it is displayed as @var{off-type} 1495 (blink-cursor-mode 0)
1496when it blinks off. 1496@end lisp
1497
1498@noindent
1499to your init file. Alternatively, you can change how the cursor
1500looks when it ``blinks off'' by customizing the list variable
1501@code{blink-cursor-alist}. Each element in the list should have the
1502form @code{(@var{on-type} . @var{off-type})}; this means that if the
1503cursor is displayed as @var{on-type} when it blinks on (where
1504@var{on-type} is one of the cursor types described above), then it is
1505displayed as @var{off-type} when it blinks off.
1497 1506
1498@vindex x-stretch-cursor 1507@vindex x-stretch-cursor
1499@cindex wide block cursor 1508@cindex wide block cursor
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 0246d1a44de..acbef6b9495 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -1475,8 +1475,10 @@ the buffer's undo list.
1475 1475
1476 Since more than one overlay can specify a property value for the 1476 Since more than one overlay can specify a property value for the
1477same character, Emacs lets you specify a priority value of each 1477same character, Emacs lets you specify a priority value of each
1478overlay. You should not make assumptions about which overlay will 1478overlay. In case two overlays have the same priority value, and one
1479prevail when there is a conflict and they have the same priority. 1479is nested in the other, then the inner one will have priority over the
1480outer one. If neither is nested in the other then you should not make
1481assumptions about which overlay will prevail.
1480 1482
1481 These functions read and set the properties of an overlay: 1483 These functions read and set the properties of an overlay:
1482 1484
@@ -1507,9 +1509,9 @@ of them:
1507@table @code 1509@table @code
1508@item priority 1510@item priority
1509@kindex priority @r{(overlay property)} 1511@kindex priority @r{(overlay property)}
1510This property's value (which should be a non-negative integer) 1512This property's value determines the priority of the overlay. No priority, or
1511determines the priority of the overlay. No priority, or @code{nil}, 1513@code{nil}, means zero. A non-nil and non-integer value has
1512means zero. 1514undefined behavior.
1513 1515
1514The priority matters when two or more overlays cover the same 1516The priority matters when two or more overlays cover the same
1515character and both specify the same property; the one whose 1517character and both specify the same property; the one whose
@@ -1706,11 +1708,12 @@ Properties}.
1706@node Finding Overlays 1708@node Finding Overlays
1707@subsection Searching for Overlays 1709@subsection Searching for Overlays
1708 1710
1709@defun overlays-at pos 1711@defun overlays-at pos &optional sorted
1710This function returns a list of all the overlays that cover the 1712This function returns a list of all the overlays that cover the character at
1711character at position @var{pos} in the current buffer. The list is in 1713position @var{pos} in the current buffer. If @var{sorted} is non-nil, the list
1712no particular order. An overlay contains position @var{pos} if it 1714is in decreasing order of priority, otherwise it is in no particular order.
1713begins at or before @var{pos}, and ends after @var{pos}. 1715An overlay contains position @var{pos} if it begins at or before @var{pos}, and
1716ends after @var{pos}.
1714 1717
1715To illustrate usage, here is a Lisp function that returns a list of the 1718To illustrate usage, here is a Lisp function that returns a list of the
1716overlays that specify property @var{prop} for the character at point: 1719overlays that specify property @var{prop} for the character at point:
diff --git a/etc/NEWS b/etc/NEWS
index f32d1b974c1..195ab5ce14b 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1291,6 +1291,8 @@ treated as regexps rather than literal strings.
1291 1291
1292* Lisp Changes in Emacs 24.4 1292* Lisp Changes in Emacs 24.4
1293 1293
1294** overlays-at can optionally sort its result by priority.
1295
1294+++ 1296+++
1295** The second argument of `eval' can now specify a lexical environment. 1297** The second argument of `eval' can now specify a lexical environment.
1296 1298
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index 85c4b90d9fc..0acdeecff8f 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,8 @@
12014-04-16 Eli Zaretskii <eliz@gnu.org>
2
3 * update-game-score.c (write_scores): Condition fchmod call on
4 DOS_NT, not WINDOWSNT.
5
12014-03-22 Glenn Morris <rgm@gnu.org> 62014-03-22 Glenn Morris <rgm@gnu.org>
2 7
3 * Makefile.in (etags_deps, etags_args): New, to reduce duplication. 8 * Makefile.in (etags_deps, etags_args): New, to reduce duplication.
diff --git a/lib-src/update-game-score.c b/lib-src/update-game-score.c
index ad591cca87a..cb6fdf73590 100644
--- a/lib-src/update-game-score.c
+++ b/lib-src/update-game-score.c
@@ -443,7 +443,7 @@ write_scores (const char *filename, const struct score_entry *scores,
443 fd = mkostemp (tempfile, 0); 443 fd = mkostemp (tempfile, 0);
444 if (fd < 0) 444 if (fd < 0)
445 return -1; 445 return -1;
446#ifndef WINDOWSNT 446#ifndef DOS_NT
447 if (fchmod (fd, 0644) != 0) 447 if (fchmod (fd, 0644) != 0)
448 return -1; 448 return -1;
449#endif 449#endif
@@ -459,7 +459,7 @@ write_scores (const char *filename, const struct score_entry *scores,
459 return -1; 459 return -1;
460 if (rename (tempfile, filename) != 0) 460 if (rename (tempfile, filename) != 0)
461 return -1; 461 return -1;
462#ifdef WINDOWSNT 462#ifdef DOS_NT
463 if (chmod (filename, 0644) < 0) 463 if (chmod (filename, 0644) < 0)
464 return -1; 464 return -1;
465#endif 465#endif
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 233a72e79df..f740e7f23df 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,63 @@
12014-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * progmodes/perl-mode.el (perl-calculate-indent): Don't auto-indent in
4 here-documents (bug#17262).
5
62014-04-16 Eli Zaretskii <eliz@gnu.org>
7
8 * term/pc-win.el (x-list-fonts, x-get-selection-value):
9 Provide doc strings, as required by snarf-documentation.
10
112014-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
12
13 * ps-def.el (ps-generate-postscript-with-faces1): Use the new `sorted'
14 arg of overlays-at. Use `invisible-p'.
15
16 * obsolete/lucid.el (extent-at):
17 * htmlfontify.el (hfy-overlay-props-at): Use the new `sorted' arg of
18 overlays-at.
19 (hfy-fontify-buffer): Remove unused var `orig-ovls'.
20
212014-04-16 João Távora <joaotavora@gmail.com>
22
23 * net/shr.el (shr-expand-url): Use `expand-file-name' for relative
24 links. (Bug#17217).
25
262014-04-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
27
28 * vc/ediff-diff.el (ediff-set-fine-diff-properties-in-one-buffer):
29 Use mapc to loop over a vector. (Bug#17257).
30
312014-04-16 Michael Albinus <michael.albinus@gmx.de>
32
33 * net/tramp-sh.el (tramp-sh-handle-file-truename): Revert previous
34 patch, there are new problems with file names containing spaces.
35 Get rid of backticks. (Bug#17238)
36
372014-04-16 João Távora <joaotavora@gmail.com>
38
39 * elec-pair.el (electric-pair--syntax-ppss): Simplify and fix
40 possible bug.
41
422014-04-16 Eli Zaretskii <eliz@gnu.org>
43
44 * frame.el (blink-cursor-blinks, blink-cursor-blinks-done): Doc fixes.
45 (blink-cursor-mode): Mention customization variables and the
46 effect of 'blink-cursor-blinks'.
47
482014-04-16 Barry O'Reilly <gundaetiapo@gmail.com>
49
50 * simple.el (undo): Prevent insertion of identity mapping into
51 undo-equiv-table so as undo-only does not inf loop in the presence
52 of consecutive nils in undo list.
53
542014-04-16 Matthias Dahl <matthias.dahl@binary-island.eu>
55
56 * faces.el (make-face): Deprecate optional argument as it is no
57 longer needed/used since the conditional X resources handling
58 has been pushed down to make-face-x-resource-internal itself.
59 (make-empty-face): Don't pass optional argument to make-face.
60
12014-04-16 Karl Fogel <kfogel@red-bean.com> 612014-04-16 Karl Fogel <kfogel@red-bean.com>
2 62
3 * savehist.el (savehist-save): Remove workaround for a read-passwd 63 * savehist.el (savehist-save): Remove workaround for a read-passwd
diff --git a/lisp/elec-pair.el b/lisp/elec-pair.el
index 04e1840c0a5..42b8a912cc4 100644
--- a/lisp/elec-pair.el
+++ b/lisp/elec-pair.el
@@ -226,10 +226,9 @@ WHERE is a list defaulting to '(string comment) and indicates
226when to fallback to `parse-partial-sexp'." 226when to fallback to `parse-partial-sexp'."
227 (let* ((pos (or pos (point))) 227 (let* ((pos (or pos (point)))
228 (where (or where '(string comment))) 228 (where (or where '(string comment)))
229 (quick-ppss (syntax-ppss)) 229 (quick-ppss (syntax-ppss pos))
230 (quick-ppss-at-pos (syntax-ppss pos)) 230 (in-string (and (nth 3 quick-ppss) (memq 'string where)))
231 (in-string (and (nth 3 quick-ppss-at-pos) (memq 'string where))) 231 (in-comment (and (nth 4 quick-ppss) (memq 'comment where)))
232 (in-comment (and (nth 4 quick-ppss-at-pos) (memq 'comment where)))
233 (s-or-c-start (cond (in-string 232 (s-or-c-start (cond (in-string
234 (1+ (nth 8 quick-ppss))) 233 (1+ (nth 8 quick-ppss)))
235 (in-comment 234 (in-comment
@@ -243,7 +242,7 @@ when to fallback to `parse-partial-sexp'."
243 ;; HACK! cc-mode apparently has some `syntax-ppss' bugs 242 ;; HACK! cc-mode apparently has some `syntax-ppss' bugs
244 (if (memq major-mode '(c-mode c++ mode)) 243 (if (memq major-mode '(c-mode c++ mode))
245 (parse-partial-sexp (point-min) pos) 244 (parse-partial-sexp (point-min) pos)
246 quick-ppss-at-pos)))) 245 quick-ppss))))
247 246
248;; Balancing means controlling pairing and skipping of parentheses 247;; Balancing means controlling pairing and skipping of parentheses
249;; so that, if possible, the buffer ends up at least as balanced as 248;; so that, if possible, the buffer ends up at least as balanced as
diff --git a/lisp/frame.el b/lisp/frame.el
index 7b0a0a80082..f081df788ec 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -1722,14 +1722,14 @@ left untouched. FRAME nil or omitted means use the selected frame."
1722 :group 'cursor) 1722 :group 'cursor)
1723 1723
1724(defcustom blink-cursor-blinks 10 1724(defcustom blink-cursor-blinks 10
1725 "How many times to blink before using a solid cursor on NS and X. 1725 "How many times to blink before using a solid cursor on NS, X, and MS-Windows.
1726Use 0 or negative value to blink forever." 1726Use 0 or negative value to blink forever."
1727 :version "24.4" 1727 :version "24.4"
1728 :type 'integer 1728 :type 'integer
1729 :group 'cursor) 1729 :group 'cursor)
1730 1730
1731(defvar blink-cursor-blinks-done 1 1731(defvar blink-cursor-blinks-done 1
1732 "Number of blinks done since we started blinking on NS and X") 1732 "Number of blinks done since we started blinking on NS, X, and MS-Windows.")
1733 1733
1734(defvar blink-cursor-idle-timer nil 1734(defvar blink-cursor-idle-timer nil
1735 "Timer started after `blink-cursor-delay' seconds of Emacs idle time. 1735 "Timer started after `blink-cursor-delay' seconds of Emacs idle time.
@@ -1807,6 +1807,12 @@ With a prefix argument ARG, enable Blink Cursor mode if ARG is
1807positive, and disable it otherwise. If called from Lisp, enable 1807positive, and disable it otherwise. If called from Lisp, enable
1808the mode if ARG is omitted or nil. 1808the mode if ARG is omitted or nil.
1809 1809
1810If the value of `blink-cursor-blinks' is positive (10 by default),
1811the cursor stops blinking after that number of blinks, if Emacs
1812gets no input during that time.
1813
1814See also `blink-cursor-interval' and `blink-cursor-delay'.
1815
1810This command is effective only on graphical frames. On text-only 1816This command is effective only on graphical frames. On text-only
1811terminals, cursor blinking is controlled by the terminal." 1817terminals, cursor blinking is controlled by the terminal."
1812 :init-value (not (or noninteractive 1818 :init-value (not (or noninteractive
diff --git a/lisp/htmlfontify.el b/lisp/htmlfontify.el
index 1282654899f..56887f39bef 100644
--- a/lisp/htmlfontify.el
+++ b/lisp/htmlfontify.el
@@ -1328,9 +1328,7 @@ return a `defface' style list of face properties instead of a face symbol."
1328(defun hfy-overlay-props-at (p) 1328(defun hfy-overlay-props-at (p)
1329 "Grab overlay properties at point P. 1329 "Grab overlay properties at point P.
1330The plists are returned in descending priority order." 1330The plists are returned in descending priority order."
1331 (sort (mapcar #'overlay-properties (overlays-at p)) 1331 (mapcar #'overlay-properties (overlays-at p 'sorted)))
1332 (lambda (A B) (> (or (cadr (memq 'priority A)) 0) ;FIXME: plist-get?
1333 (or (cadr (memq 'priority B)) 0)))))
1334 1332
1335;; construct an assoc of (face-name . (css-name . "{ css-style }")) elements: 1333;; construct an assoc of (face-name . (css-name . "{ css-style }")) elements:
1336(defun hfy-compile-stylesheet () 1334(defun hfy-compile-stylesheet ()
@@ -1642,7 +1640,6 @@ FILE, if set, is the file name."
1642 (css-map nil) 1640 (css-map nil)
1643 (invis-ranges nil) 1641 (invis-ranges nil)
1644 (rovl nil) 1642 (rovl nil)
1645 (orig-ovls (overlays-in (point-min) (point-max)))
1646 (rmin (when mark-active (region-beginning))) 1643 (rmin (when mark-active (region-beginning)))
1647 (rmax (when mark-active (region-end ))) ) 1644 (rmax (when mark-active (region-end ))) )
1648 (when (and mark-active 1645 (when (and mark-active
@@ -1664,12 +1661,6 @@ FILE, if set, is the file name."
1664 (set-buffer html-buffer) 1661 (set-buffer html-buffer)
1665 ;; rip out props that could interfere with our htmlization of the buffer: 1662 ;; rip out props that could interfere with our htmlization of the buffer:
1666 (remove-text-properties (point-min) (point-max) hfy-ignored-properties) 1663 (remove-text-properties (point-min) (point-max) hfy-ignored-properties)
1667 ;; Apply overlay invisible spec
1668 (setq orig-ovls
1669 (sort orig-ovls
1670 (lambda (A B)
1671 (> (or (cadr (memq 'priority (overlay-properties A))) 0)
1672 (or (cadr (memq 'priority (overlay-properties B))) 0)))))
1673 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 1664 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1674 ;; at this point, html-buffer retains the fontification of the parent: 1665 ;; at this point, html-buffer retains the fontification of the parent:
1675 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 1666 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
diff --git a/lisp/net/shr.el b/lisp/net/shr.el
index 8b68b6f4bc7..58442575ad2 100644
--- a/lisp/net/shr.el
+++ b/lisp/net/shr.el
@@ -610,7 +610,7 @@ size, and full-buffer size."
610 (concat (nth 3 base) url)) 610 (concat (nth 3 base) url))
611 (t 611 (t
612 ;; Totally relative. 612 ;; Totally relative.
613 (concat (car base) (cadr base) url)))) 613 (concat (car base) (expand-file-name url (cadr base))))))
614 614
615(defun shr-ensure-newline () 615(defun shr-ensure-newline ()
616 (unless (zerop (current-column)) 616 (unless (zerop (current-column))
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index 4d0b5ae54d4..3b600e3d84e 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -950,15 +950,15 @@ target of the symlink differ."
950 (tramp-message v 4 "Finding true name for `%s'" filename) 950 (tramp-message v 4 "Finding true name for `%s'" filename)
951 (cond 951 (cond
952 ;; Use GNU readlink --canonicalize-missing where available. 952 ;; Use GNU readlink --canonicalize-missing where available.
953 ;; We must quote the file name twice due to the backticks.
954 ((tramp-get-remote-readlink v) 953 ((tramp-get-remote-readlink v)
955 (setq result 954 (tramp-send-command-and-check
956 (tramp-send-command-and-read 955 v
957 v 956 (format "%s --canonicalize-missing %s"
958 (format "echo \"\\\"`%s --canonicalize-missing %s`\\\"\"" 957 (tramp-get-remote-readlink v)
959 (tramp-get-remote-readlink v) 958 (tramp-shell-quote-argument localname)))
960 (tramp-shell-quote-argument 959 (with-current-buffer (tramp-get-connection-buffer v)
961 (tramp-shell-quote-argument localname)))))) 960 (goto-char (point-min))
961 (setq result (buffer-substring (point-min) (point-at-eol)))))
962 962
963 ;; Use Perl implementation. 963 ;; Use Perl implementation.
964 ((and (tramp-get-remote-perl v) 964 ((and (tramp-get-remote-perl v)
diff --git a/lisp/nxml/nxml-mode.el b/lisp/nxml/nxml-mode.el
index 0daf62d804f..cd50bce2152 100644
--- a/lisp/nxml/nxml-mode.el
+++ b/lisp/nxml/nxml-mode.el
@@ -872,7 +872,7 @@ Called with `font-lock-beg' and `font-lock-end' dynamically bound."
872 872
873(defun nxml-fontify-matcher (bound) 873(defun nxml-fontify-matcher (bound)
874 "Called as font-lock keyword matcher." 874 "Called as font-lock keyword matcher."
875 875 (syntax-propertize bound)
876 (unless nxml-degraded 876 (unless nxml-degraded
877 (nxml-debug-change "nxml-fontify-matcher" (point) bound) 877 (nxml-debug-change "nxml-fontify-matcher" (point) bound)
878 878
diff --git a/lisp/nxml/xmltok.el b/lisp/nxml/xmltok.el
index 58a2f16d586..f80a5fd2fa1 100644
--- a/lisp/nxml/xmltok.el
+++ b/lisp/nxml/xmltok.el
@@ -750,7 +750,8 @@ Return the type of the token."
750 ;; Need do this after the goto-char because 750 ;; Need do this after the goto-char because
751 ;; marked error should just apply to <!-- 751 ;; marked error should just apply to <!--
752 (xmltok-add-error "First following `--' not followed by `>'") 752 (xmltok-add-error "First following `--' not followed by `>'")
753 'not-well-formed))))) 753 (goto-char (point-max))
754 'comment)))))
754 755
755(defun xmltok-scan-attributes () 756(defun xmltok-scan-attributes ()
756 (let ((recovering nil) 757 (let ((recovering nil)
diff --git a/lisp/obsolete/lucid.el b/lisp/obsolete/lucid.el
index d3cb3f135d8..15f80652809 100644
--- a/lisp/obsolete/lucid.el
+++ b/lisp/obsolete/lucid.el
@@ -125,7 +125,7 @@ This is an XEmacs compatibility function."
125 125
126(defun extent-at (pos &optional object property before) 126(defun extent-at (pos &optional object property before)
127 (with-current-buffer (or object (current-buffer)) 127 (with-current-buffer (or object (current-buffer))
128 (let ((overlays (overlays-at pos))) 128 (let ((overlays (overlays-at pos 'sorted)))
129 (when property 129 (when property
130 (let (filtered) 130 (let (filtered)
131 (while overlays 131 (while overlays
@@ -133,14 +133,6 @@ This is an XEmacs compatibility function."
133 (setq filtered (cons (car overlays) filtered))) 133 (setq filtered (cons (car overlays) filtered)))
134 (setq overlays (cdr overlays))) 134 (setq overlays (cdr overlays)))
135 (setq overlays filtered))) 135 (setq overlays filtered)))
136 (setq overlays
137 (sort overlays
138 (function (lambda (o1 o2)
139 (let ((p1 (or (overlay-get o1 'priority) 0))
140 (p2 (or (overlay-get o2 'priority) 0)))
141 (or (> p1 p2)
142 (and (= p1 p2)
143 (> (overlay-start o1) (overlay-start o2)))))))))
144 (if before 136 (if before
145 (nth 1 (memq before overlays)) 137 (nth 1 (memq before overlays))
146 (car overlays))))) 138 (car overlays)))))
diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el
index 3486c0a1983..f89fec7b1e0 100644
--- a/lisp/progmodes/perl-mode.el
+++ b/lisp/progmodes/perl-mode.el
@@ -903,7 +903,9 @@ Optional argument PARSE-START should be the position of `beginning-of-defun'."
903 ;; following_quotep minimum_paren-depth_this_scan) 903 ;; following_quotep minimum_paren-depth_this_scan)
904 ;; Parsing stops if depth in parentheses becomes equal to third arg. 904 ;; Parsing stops if depth in parentheses becomes equal to third arg.
905 (setq containing-sexp (nth 1 state))) 905 (setq containing-sexp (nth 1 state)))
906 (cond ((nth 3 state) 'noindent) ; In a quoted string? 906 (cond
907 ;; Don't auto-indent in a quoted string or a here-document.
908 ((or (nth 3 state) (eq 2 (nth 7 state))) 'noindent)
907 ((null containing-sexp) ; Line is at top level. 909 ((null containing-sexp) ; Line is at top level.
908 (skip-chars-forward " \t\f") 910 (skip-chars-forward " \t\f")
909 (if (memq (following-char) 911 (if (memq (following-char)
diff --git a/lisp/ps-def.el b/lisp/ps-def.el
index 06cef75cbbd..92a2e0b38cd 100644
--- a/lisp/ps-def.el
+++ b/lisp/ps-def.el
@@ -339,53 +339,11 @@
339 (setq position (min property-change overlay-change) 339 (setq position (min property-change overlay-change)
340 before-string nil 340 before-string nil
341 after-string nil) 341 after-string nil)
342 ;; The code below is not quite correct,
343 ;; because a non-nil overlay invisible property
344 ;; which is inactive according to the current value
345 ;; of buffer-invisibility-spec nonetheless overrides
346 ;; a face text property.
347 (setq face 342 (setq face
348 (cond ((let ((prop (get-text-property from 'invisible))) 343 (cond ((invisible-p from)
349 ;; Decide whether this invisible property
350 ;; really makes the text invisible.
351 (if (eq save-buffer-invisibility-spec t)
352 (not (null prop))
353 (or (memq prop save-buffer-invisibility-spec)
354 (assq prop save-buffer-invisibility-spec))))
355 'emacs--invisible--face) 344 'emacs--invisible--face)
356 ((get-text-property from 'face)) 345 ((get-char-property from 'face))
357 (t 'default))) 346 (t 'default)))
358 (let ((overlays (overlays-at from))
359 (face-priority -1)) ; text-property
360 (while (and overlays
361 (not (eq face 'emacs--invisible--face)))
362 (let* ((overlay (car overlays))
363 (overlay-invisible
364 (overlay-get overlay 'invisible))
365 (overlay-priority
366 (or (overlay-get overlay 'priority) 0)))
367 (and (> overlay-priority face-priority)
368 (setq before-string
369 (or (overlay-get overlay 'before-string)
370 before-string)
371 after-string
372 (or (and (<= (overlay-end overlay) position)
373 (overlay-get overlay 'after-string))
374 after-string)
375 face-priority overlay-priority
376 face
377 (cond
378 ((if (eq save-buffer-invisibility-spec t)
379 (not (null overlay-invisible))
380 (or (memq overlay-invisible
381 save-buffer-invisibility-spec)
382 (assq overlay-invisible
383 save-buffer-invisibility-spec)))
384 'emacs--invisible--face)
385 ((overlay-get overlay 'face))
386 (t face)
387 ))))
388 (setq overlays (cdr overlays))))
389 ;; Plot up to this record. 347 ;; Plot up to this record.
390 (and before-string 348 (and before-string
391 (ps-plot-string before-string)) 349 (ps-plot-string before-string))
diff --git a/lisp/simple.el b/lisp/simple.el
index 0af15269bb9..17aba8e6a40 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -2143,7 +2143,12 @@ as an argument limits undo to changes within the current region."
2143 ;; above when checking. 2143 ;; above when checking.
2144 (while (eq (car list) nil) 2144 (while (eq (car list) nil)
2145 (setq list (cdr list))) 2145 (setq list (cdr list)))
2146 (puthash list (if undo-in-region t pending-undo-list) 2146 (puthash list
2147 ;; Prevent identity mapping. This can happen if
2148 ;; consecutive nils are erroneously in undo list.
2149 (if (or undo-in-region (eq list pending-undo-list))
2150 t
2151 pending-undo-list)
2147 undo-equiv-table)) 2152 undo-equiv-table))
2148 ;; Don't specify a position in the undo record for the undo command. 2153 ;; Don't specify a position in the undo record for the undo command.
2149 ;; Instead, undoing this should move point to where the change is. 2154 ;; Instead, undoing this should move point to where the change is.
diff --git a/lisp/term/pc-win.el b/lisp/term/pc-win.el
index 00b860f8dcc..f24a54fbe28 100644
--- a/lisp/term/pc-win.el
+++ b/lisp/term/pc-win.el
@@ -165,6 +165,27 @@ created."
165 165
166;; From src/xfns.c 166;; From src/xfns.c
167(defun x-list-fonts (_pattern &optional _face _frame _maximum width) 167(defun x-list-fonts (_pattern &optional _face _frame _maximum width)
168 "Return a list of the names of available fonts matching PATTERN.
169If optional arguments FACE and FRAME are specified, return only fonts
170the same size as FACE on FRAME.
171
172PATTERN should be a string containing a font name in the XLFD,
173Fontconfig, or GTK format. A font name given in the XLFD format may
174contain wildcard characters:
175 the * character matches any substring, and
176 the ? character matches any single character.
177 PATTERN is case-insensitive.
178
179The return value is a list of strings, suitable as arguments to
180\`set-face-font'.
181
182Fonts Emacs can't use may or may not be excluded
183even if they match PATTERN and FACE.
184The optional fourth argument MAXIMUM sets a limit on how many
185fonts to match. The first MAXIMUM fonts are reported.
186The optional fifth argument WIDTH, if specified, is a number of columns
187occupied by a character of a font. In that case, return only fonts
188the WIDTH times as wide as FACE on FRAME."
168 (if (or (null width) (and (numberp width) (= width 1))) 189 (if (or (null width) (and (numberp width) (= width 1)))
169 (list "ms-dos") 190 (list "ms-dos")
170 (list "no-such-font"))) 191 (list "no-such-font")))
@@ -232,9 +253,9 @@ is not used)."
232 (w16-set-clipboard-data text)) 253 (w16-set-clipboard-data text))
233 (setq x-last-selected-text text)) 254 (setq x-last-selected-text text))
234 255
235;;; Return the value of the current selection.
236;;; Consult the selection. Treat empty strings as if they were unset.
237(defun x-get-selection-value () 256(defun x-get-selection-value ()
257 "Return the value of the current selection.
258Consult the selection. Treat empty strings as if they were unset."
238 (if x-select-enable-clipboard 259 (if x-select-enable-clipboard
239 (let (text) 260 (let (text)
240 ;; Don't die if x-get-selection signals an error. 261 ;; Don't die if x-get-selection signals an error.
diff --git a/lisp/vc/ediff-diff.el b/lisp/vc/ediff-diff.el
index f429eb35d70..ed248fbf835 100644
--- a/lisp/vc/ediff-diff.el
+++ b/lisp/vc/ediff-diff.el
@@ -822,8 +822,9 @@ one optional arguments, diff-number to refine.")
822 (ediff-get-symbol-from-alist 822 (ediff-get-symbol-from-alist
823 buf-type ediff-fine-diff-face-alist) 823 buf-type ediff-fine-diff-face-alist)
824 ))) 824 )))
825 (dolist (overl fine-diff-vector) 825 (mapc (lambda (overl)
826 (ediff-set-overlay-face overl face)))) 826 (ediff-set-overlay-face overl face))
827 fine-diff-vector)))
827 828
828;; Set overlays over the regions that denote delimiters 829;; Set overlays over the regions that denote delimiters
829(defun ediff-set-fine-overlays-for-combined-merge (diff-list reg-num) 830(defun ediff-set-fine-overlays-for-combined-merge (diff-list reg-num)
diff --git a/msdos/ChangeLog b/msdos/ChangeLog
index 65122a01659..f1d6c322bc2 100644
--- a/msdos/ChangeLog
+++ b/msdos/ChangeLog
@@ -1,3 +1,18 @@
12014-04-16 Eli Zaretskii <eliz@gnu.org>
2
3 * sedlisp.inp:
4 * sedlibmk.inp:
5 * sedleim.inp:
6 * sed3v2.inp:
7 * sed2v2.inp:
8 * sed1v2.inp: Update Sed scripts for Emacs 24.4.
9
10 * inttypes.h: Add PRIdMAX.
11
12 * INSTALL: Update for Emacs 24.4.
13
14 * sedadmin.inp: New file.
15
12013-12-24 Paul Eggert <eggert@cs.ucla.edu> 162013-12-24 Paul Eggert <eggert@cs.ucla.edu>
2 17
3 * autogen/Makefile.in: Update copyright year. 18 * autogen/Makefile.in: Update copyright year.
diff --git a/msdos/INSTALL b/msdos/INSTALL
index 815da38bd77..de950b89def 100644
--- a/msdos/INSTALL
+++ b/msdos/INSTALL
@@ -4,18 +4,19 @@ Copyright (C) 1992, 1994, 1996-1997, 2000-2014 Free Software Foundation,
4Inc. 4Inc.
5See the end of the file for license conditions. 5See the end of the file for license conditions.
6 6
7The DJGPP port of GNU Emacs builds and runs on plain DOS and also on 7The DJGPP port of GNU Emacs builds and runs on all versions of
8all versions of MS-Windows from version 3.X on, including Windows XP, 8MS-Windows from version 3.X on, including Windows XP, Vista, and
9Vista, and Windows 7 (however, see below for issues with Windows Vista 9Windows 7 (however, see below for issues with Windows Vista and 7).
10and 7). 10Building on plain MS-DOS is supported only if long file names are
11supported (e.g., with a specialized driver such as doslfn).
11 12
12To build and install the DJGPP port, you need to have the DJGPP ports 13To build and install the DJGPP port, you need to have the DJGPP ports
13of GCC (the GNU C compiler), GNU Make, rm, mv, and sed. See the 14of GCC (the GNU C compiler), GNU Make, rm, mv, cp, and sed. See the
14remarks in CONFIG.BAT for more information about locations and 15remarks in CONFIG.BAT for more information about locations and
15versions. The Emacs FAQ (see info/efaq) includes pointers to Internet 16versions. The Emacs FAQ (see info/efaq.info) includes pointers to
16sites where you can find the necessary utilities; search for "MS-DOS". 17Internet sites where you can find the necessary utilities; search for
17The configuration step (see below) will test for these utilities and 18"MS-DOS". The configuration step (see below) will test for these
18will refuse to continue if any of them isn't found. 19utilities and will refuse to continue if any of them isn't found.
19 20
20Bootstrapping Emacs or recompiling Lisp files in the `lisp' 21Bootstrapping Emacs or recompiling Lisp files in the `lisp'
21subdirectory using the various targets in the lisp/Makefile file 22subdirectory using the various targets in the lisp/Makefile file
@@ -27,18 +28,14 @@ are distributed in byte-compiled form as well. As for bootstrapping
27itself, you will only need that if you check-out development sources 28itself, you will only need that if you check-out development sources
28from the Emacs source repository. 29from the Emacs source repository.
29 30
30If you are building the DJGPP version of Emacs on a DOS-like system 31Building the DJGPP version of Emacs is currently supported only on
31which supports long file names (e.g. Windows 9X or Windows XP), you 32systems which support long file names (e.g. Windows 9X or Windows XP).
32need to make sure that long file names are handled consistently both 33You need to unpack Emacs distribution in a way that doesn't truncate
33when you unpack the distribution and compile it. With DJGPP v2.0 or 34the original long filenames to the DOS 8.3 namespace; the easiest way
34later, long file names support is by default, so you need to unpack 35to do this is to use djtar program which comes with DJGPP, since it
35Emacs distribution in a way that doesn't truncate the original long 36will behave consistently with the rest of DJGPP tools. Do _not_
36filenames to the DOS 8.3 namespace; the easiest way to do this is to 37disable the DJGPP long-file-name support (a.k.a. "LFN") while building
37use djtar program which comes with DJGPP, since it will behave 38Emacs.
38consistently with the rest of DJGPP tools. Alternatively, you can
39build Emacs with LFN=n, if some of your tools don't support long file
40names: just ensure that LFN is set to `n' during both unpacking and
41compiling.
42 39
43(By the time you read this, you have already unpacked the Emacs 40(By the time you read this, you have already unpacked the Emacs
44distribution, but if the explanations above imply that you should have 41distribution, but if the explanations above imply that you should have
@@ -46,18 +43,6 @@ done it differently, it's safer to delete the directory tree created
46by the unpacking program and unpack Emacs again, than to risk running 43by the unpacking program and unpack Emacs again, than to risk running
47into strange problems during the build process.) 44into strange problems during the build process.)
48 45
49It is important to understand that the runtime support of long file
50names by the Emacs binary is NOT affected by the LFN setting during
51compilation; Emacs compiled with DJGPP v2.0 or later will always
52support long file names on Windows no matter what was the setting
53of LFN at compile time. However, if you compiled with LFN disabled
54and want to enable LFN support after Emacs was already built, you need
55to make sure that the support files in the lisp, etc and info
56directories are called by their original long names as found in the
57distribution. You can do this either by renaming the files manually,
58or by extracting them from the original distribution archive with
59djtar after you set LFN=y in the environment.
60
61To unpack Emacs with djtar, type this command: 46To unpack Emacs with djtar, type this command:
62 47
63 djtar -x emacs.tgz 48 djtar -x emacs.tgz
@@ -68,13 +53,6 @@ your system.)
68When unpacking Emacs is done, a directory called `emacs-XX.YY' will be 53When unpacking Emacs is done, a directory called `emacs-XX.YY' will be
69created, where XX.YY is the Emacs version. 54created, where XX.YY is the Emacs version.
70 55
71On plain DOS, unpacking can complain about several directories and
72files in the `nextstep' subdirectory of the `emacs-XX.YY' top-level
73directory. This is because the names of these files overflow the
7467-character limit on the file-name length imposed by DOS filesystems.
75When prompted by `djtar' for a different name for these files, just
76press [Enter] to skip them: they are not needed for the DJGPP build.
77
78If you want to print international characters, install the intlfonts 56If you want to print international characters, install the intlfonts
79distribution. For this, create a directory called `fonts' under the 57distribution. For this, create a directory called `fonts' under the
80`emacs-XX.YY' top-level directory created by unpacking emacs.tgz, 58`emacs-XX.YY' top-level directory created by unpacking emacs.tgz,
diff --git a/msdos/inttypes.h b/msdos/inttypes.h
index 9f59d4e1a2e..7469ea07b71 100644
--- a/msdos/inttypes.h
+++ b/msdos/inttypes.h
@@ -32,6 +32,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
32#define strtoumax strtoull 32#define strtoumax strtoull
33#define strtoimax strtoll 33#define strtoimax strtoll
34#define PRIuMAX "llu" 34#define PRIuMAX "llu"
35#define PRIdMAX "lld"
35#endif /* __DJGPP__ < 2.04 */ 36#endif /* __DJGPP__ < 2.04 */
36 37
37#endif 38#endif
diff --git a/msdos/sed1v2.inp b/msdos/sed1v2.inp
index c7e770cb3ee..77c74fe2f0c 100644
--- a/msdos/sed1v2.inp
+++ b/msdos/sed1v2.inp
@@ -48,12 +48,16 @@ s/\.h\.in/.h-in/
48/^LD_SWITCH_SYSTEM_TEMACS *=/s/@LD_SWITCH_SYSTEM_TEMACS@// 48/^LD_SWITCH_SYSTEM_TEMACS *=/s/@LD_SWITCH_SYSTEM_TEMACS@//
49/^LD_SWITCH_X_SITE_AUX *=/s/@LD_SWITCH_X_SITE_AUX@// 49/^LD_SWITCH_X_SITE_AUX *=/s/@LD_SWITCH_X_SITE_AUX@//
50/^LD_SWITCH_X_SITE_AUX_RPATH *=/s/@LD_SWITCH_X_SITE_AUX_RPATH@// 50/^LD_SWITCH_X_SITE_AUX_RPATH *=/s/@LD_SWITCH_X_SITE_AUX_RPATH@//
51/^LD_SWITCH_X_SITE_RPATH *=/s/@LD_SWITCH_X_SITE_RPATH@//
51/^LD_SWITCH_SYSTEM *=/s/@LD_SWITCH_SYSTEM@// 52/^LD_SWITCH_SYSTEM *=/s/@LD_SWITCH_SYSTEM@//
52/^LIBS_SYSTEM *=/s/@LIBS_SYSTEM@// 53/^LIBS_SYSTEM *=/s/@LIBS_SYSTEM@//
53/^LIB_GCC *=/s/@LIB_GCC@// 54/^LIB_GCC *=/s/@LIB_GCC@//
54/^LIB_STANDARD *=/s/@LIB_STANDARD@// 55/^LIB_STANDARD *=/s/@LIB_STANDARD@//
55/^LIB_MATH *=/s/@LIB_MATH@/-lm/ 56/^LIB_MATH *=/s/@LIB_MATH@/-lm/
56/^LIB_PTHREAD *=/s/@LIB_PTHREAD@// 57/^LIB_PTHREAD *=/s/@LIB_PTHREAD@//
58/^LIB_ACL *=/s/@LIB_ACL@//
59/^LIB_EACCESS *=/s/@LIB_EACCESS@//
60/^LIB_FDATASYNC *=/s/@LIB_FDATASYNC@//
57s/ *@LIBTIFF@// 61s/ *@LIBTIFF@//
58s/ *@LIBJPEG@// 62s/ *@LIBJPEG@//
59s/ *@LIBPNG@// 63s/ *@LIBPNG@//
@@ -71,8 +75,10 @@ s/ *@LIBXPM@//
71/^DBUS_CFLAGS *=/s/@DBUS_CFLAGS@// 75/^DBUS_CFLAGS *=/s/@DBUS_CFLAGS@//
72/^DBUS_LIBS *=/s/@DBUS_LIBS@// 76/^DBUS_LIBS *=/s/@DBUS_LIBS@//
73/^DBUS_OBJ *=/s/@DBUS_OBJ@// 77/^DBUS_OBJ *=/s/@DBUS_OBJ@//
78/^NOTIFY_OBJ *=/s/@NOTIFY_OBJ@//
74/^SETTINGS_CFLAGS *=/s/@SETTINGS_CFLAGS@// 79/^SETTINGS_CFLAGS *=/s/@SETTINGS_CFLAGS@//
75/^SETTINGS_LIBS *=/s/@SETTINGS_LIBS@// 80/^SETTINGS_LIBS *=/s/@SETTINGS_LIBS@//
81/^GFILENOTIFY_LIBS *=/s/@GFILENOTIFY_LIBS@//
76/^GTK_OBJ *=/s/@GTK_OBJ@// 82/^GTK_OBJ *=/s/@GTK_OBJ@//
77/^LIBS_TERMCAP *=/s/@LIBS_TERMCAP@// 83/^LIBS_TERMCAP *=/s/@LIBS_TERMCAP@//
78/^TERMCAP_OBJ *=/s/@TERMCAP_OBJ@/termcap.o tparam.o/ 84/^TERMCAP_OBJ *=/s/@TERMCAP_OBJ@/termcap.o tparam.o/
@@ -83,6 +89,7 @@ s/ *@LIBXPM@//
83/^OLDXMENU_TARGET *=/s/@OLDXMENU_TARGET@// 89/^OLDXMENU_TARGET *=/s/@OLDXMENU_TARGET@//
84/^OLDXMENU_DEPS *=/s/@OLDXMENU_DEPS@// 90/^OLDXMENU_DEPS *=/s/@OLDXMENU_DEPS@//
85/^XOBJ *=/s/@XOBJ@// 91/^XOBJ *=/s/@XOBJ@//
92/^XGSELOBJ *=/s/@XGSELOBJ@//
86/^TOOLKIT_LIBW *=/s/@TOOLKIT_LIBW@// 93/^TOOLKIT_LIBW *=/s/@TOOLKIT_LIBW@//
87/^LIBSOUND *=/s/@LIBSOUND@// 94/^LIBSOUND *=/s/@LIBSOUND@//
88/^LIBS_GNUSTEP *=/s/@LIBS_GNUSTEP@// 95/^LIBS_GNUSTEP *=/s/@LIBS_GNUSTEP@//
@@ -114,12 +121,19 @@ s/ *@LIBXPM@//
114/^XMENU_OBJ *=/s/@XMENU_OBJ@/xmenu.o/ 121/^XMENU_OBJ *=/s/@XMENU_OBJ@/xmenu.o/
115/^FONT_OBJ *=/s/@FONT_OBJ@// 122/^FONT_OBJ *=/s/@FONT_OBJ@//
116/^LIBGPM *=/s/@LIBGPM@// 123/^LIBGPM *=/s/@LIBGPM@//
124/^LIBZ *=/s/@LIBZ@//
117/^EXEEXT *=/s/@EXEEXT@/.exe/ 125/^EXEEXT *=/s/@EXEEXT@/.exe/
126/^MKDIR_P *=/s/@MKDIR_P@/gmkdir -p/
118/^OLDXMENU *=/s/@OLDXMENU@/nothing/ 127/^OLDXMENU *=/s/@OLDXMENU@/nothing/
119/^LIBXMENU *=/s/@LIBXMENU@// 128/^LIBXMENU *=/s/@LIBXMENU@//
120/^LIBX_OTHER *=/s/@LIBX_OTHER@// 129/^LIBX_OTHER *=/s/@LIBX_OTHER@//
130/^XRANDR_LIBS *=/s/@XRANDR_LIBS@//
131/^XRANDR_CFLAGS *=/s/@XRANDR_CFLAGS@//
132/^XINERAMA_LIBS *=/s/@XINERAMA_LIBS@//
133/^XINERAMA_CFLAGS *=/s/@XINERAMA_CFLAGS@//
121/^GMALLOC_OBJ *=/s/@GMALLOC_OBJ@/gmalloc.o/ 134/^GMALLOC_OBJ *=/s/@GMALLOC_OBJ@/gmalloc.o/
122/^VMLIMIT_OBJ *=/s/@VMLIMIT_OBJ@/vm-limit.o/ 135/^VMLIMIT_OBJ *=/s/@VMLIMIT_OBJ@/vm-limit.o/
136/^FIRSTFILE_OBJ *=/s/@FIRSTFILE_OBJ@//
123/^RALLOC_OBJ *=/s/@RALLOC_OBJ@/ralloc.o/ 137/^RALLOC_OBJ *=/s/@RALLOC_OBJ@/ralloc.o/
124/^PRE_ALLOC_OBJ *=/s/@PRE_ALLOC_OBJ@/lastfile.o/ 138/^PRE_ALLOC_OBJ *=/s/@PRE_ALLOC_OBJ@/lastfile.o/
125/^POST_ALLOC_OBJ *=/s/@POST_ALLOC_OBJ@/$(vmlimitobj)/ 139/^POST_ALLOC_OBJ *=/s/@POST_ALLOC_OBJ@/$(vmlimitobj)/
@@ -130,9 +144,15 @@ s/ *@LIBXPM@//
130/^W32_OBJ *=/s/@W32_OBJ@// 144/^W32_OBJ *=/s/@W32_OBJ@//
131/^W32_LIBS *=/s/@W32_LIBS@// 145/^W32_LIBS *=/s/@W32_LIBS@//
132/^version *=/s/@[^@\n]*@// 146/^version *=/s/@[^@\n]*@//
147/^EMACSRES *=/s/@EMACSRES@//
148/^EMACS_MANIFEST *=/s/@EMACS_MANIFEST@//
149/^W32_RES_LINK *=/s/@W32_RES_LINK@//
150/^CM_OBJ *=/s/@CM_OBJ@/cm.o/
133/^@SET_MAKE@$/s/@SET_MAKE@// 151/^@SET_MAKE@$/s/@SET_MAKE@//
152/^TEMACS_POST_LINK *=/s/@TEMACS_POST_LINK@/stubedit temacs.exe minstack=1024k/
153/^ADDSECTION *=/s/@ADDSECTION@//
134/^ [ ]*\$(libsrc)\/make-docfile.*>.*\/DOC/s!make-docfile!make-docfile -o $(etc)/DOC! 154/^ [ ]*\$(libsrc)\/make-docfile.*>.*\/DOC/s!make-docfile!make-docfile -o $(etc)/DOC!
135/^ [ ]*\$(libsrc)\/make-docfile.*>.*gl-tmp/s!make-docfile!make-docfile -o gl-tmp! 155/^ [ ]*\$(libsrc)\/make-docfile.*>.*gl.tmp/s!make-docfile!make-docfile -o gl.tmp!
136/^.\$(libsrc)\/make-doc/s!>.*$!! 156/^.\$(libsrc)\/make-doc/s!>.*$!!
137/^ [ ]*\$(libsrc)\/make-docfile /s!`[^`]*`!$(lisp); cd ../src! 157/^ [ ]*\$(libsrc)\/make-docfile /s!`[^`]*`!$(lisp); cd ../src!
138/^[ ]*$/d 158/^[ ]*$/d
@@ -142,6 +162,7 @@ s/ *@LIBXPM@//
142/^ *test "X\$(PAXCTL)" = X/d 162/^ *test "X\$(PAXCTL)" = X/d
143/^ *test "\$(CANNOT_DUMP)" = "yes"/d 163/^ *test "\$(CANNOT_DUMP)" = "yes"/d
144/^ if test "\$(CANNOT_DUMP)" =/,/^ else /d 164/^ if test "\$(CANNOT_DUMP)" =/,/^ else /d
165/^ *\$(SETFATTR) -n/d
145/^ -\{0,1\} *ln /s/bootstrap-emacs\$(EXEEXT).*$/bootstrap-emacs$(EXEEXT)/ 166/^ -\{0,1\} *ln /s/bootstrap-emacs\$(EXEEXT).*$/bootstrap-emacs$(EXEEXT)/
146/^ fi/d 167/^ fi/d
147/^ *LC_ALL=C \$(RUN_TEMACS)/i\ 168/^ *LC_ALL=C \$(RUN_TEMACS)/i\
@@ -156,15 +177,17 @@ s/ @true *$/ @rem/
156s/^ [^ ]*move-if-change / update / 177s/^ [^ ]*move-if-change / update /
157/^ echo[ ][ ]*timestamp/s/echo /djecho / 178/^ echo[ ][ ]*timestamp/s/echo /djecho /
158/^ .*djecho timestamp/a\ 179/^ .*djecho timestamp/a\
159 @rm -f gl-tmp 180 @rm -f gl.tmp
160/^ cd \$(leimdir) && \$(MAKE)/i\ 181/^ cd ..\/leim && \$(MAKE)/i\
161 $(RUN_TEMACS) -batch -l loadup dump\ 182 $(RUN_TEMACS) -batch -l loadup dump\
162 stubify emacs\ 183 stubify emacs\
163 stubedit emacs.exe minstack=2048k\ 184 stubedit emacs.exe minstack=2048k\
164 rm -f b-emacs$(EXEEXT)\ 185 rm -f b-emacs$(EXEEXT)\
165 cp emacs$(EXEEXT) b-emacs$(EXEEXT) 186 cp emacs$(EXEEXT) b-emacs$(EXEEXT)
166/^ cd \$(leimdir) && \$(MAKE)/c\ 187/^ cd ..\/leim && \$(MAKE)/c\
167 $(MAKE) $(MFLAGS) -C $(leimdir) leim-list.el EMACS=$(bootstrap_exe) 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)"
168/^ cd \$(lib) && \$(MAKE)/c\ 191/^ cd \$(lib) && \$(MAKE)/c\
169 $(MAKE) $(MFLAGS) -C $(lib) libgnu.a 192 $(MAKE) $(MFLAGS) -C $(lib) libgnu.a
170/^RUN_TEMACS *=/s|`/bin/pwd`|.| 193/^RUN_TEMACS *=/s|`/bin/pwd`|.|
@@ -199,6 +222,10 @@ s/echo.*buildobj.lst/dj&/
199/^ @\{0,1\}cd ..\/lisp;.*[^\]$/s|$|\; cd ../src| 222/^ @\{0,1\}cd ..\/lisp;.*[^\]$/s|$|\; cd ../src|
200/^ *THEFILE=/s|$|\; cd ../src| 223/^ *THEFILE=/s|$|\; cd ../src|
201/^ echo.* buildobj.h/s|echo |djecho | 224/^ echo.* buildobj.h/s|echo |djecho |
225/^buildobj\.h:/,/^ mv /{
226 /^ *for /,/^ *done /c\
227 djecho "$(ALLOBJS)" | sed -e 's/^ */"/' -e 's/ *$$/"/' -e 's/ */", "/g' >>$@.tmp
228}
202# Make the GCC command line fit one screen line 229# Make the GCC command line fit one screen line
203/^[ ][ ]*\$(GNUSTEP_CFLAGS)/d 230/^[ ][ ]*\$(GNUSTEP_CFLAGS)/d
204/^[ ][ ]*\$(GCONF_CFLAGS)/d 231/^[ ][ ]*\$(GCONF_CFLAGS)/d
diff --git a/msdos/sed2v2.inp b/msdos/sed2v2.inp
index 36ba842c603..97276d63aba 100644
--- a/msdos/sed2v2.inp
+++ b/msdos/sed2v2.inp
@@ -132,6 +132,7 @@ s/^#undef HAVE_STRTOULL *$/#define HAVE_STRTOULL 1/
132#else\ 132#else\
133#undef HAVE_SNPRINTF\ 133#undef HAVE_SNPRINTF\
134#endif 134#endif
135s/^#undef PENDING_OUTPUT_N_BYTES *$/#define PENDING_OUTPUT_N_BYTES fp->_ptr - fp->_base/
135 136
136# Comment out any remaining undef directives, because some of them 137# Comment out any remaining undef directives, because some of them
137# might be defined in sys/config.h we include at the top of config.h. 138# might be defined in sys/config.h we include at the top of config.h.
diff --git a/msdos/sed3v2.inp b/msdos/sed3v2.inp
index dcc09ddeb3c..09f2f089831 100644
--- a/msdos/sed3v2.inp
+++ b/msdos/sed3v2.inp
@@ -42,9 +42,17 @@ s/-DVERSION[^ ]* //
42/^C_SWITCH_MACHINE *=/s/@C_SWITCH_MACHINE@// 42/^C_SWITCH_MACHINE *=/s/@C_SWITCH_MACHINE@//
43/^WARN_CFLAGS *=/s/@WARN_CFLAGS@// 43/^WARN_CFLAGS *=/s/@WARN_CFLAGS@//
44/^WERROR_CFLAGS *=/s/@WERROR_CFLAGS@// 44/^WERROR_CFLAGS *=/s/@WERROR_CFLAGS@//
45/^UPDATE_MANIFEST *=/s/@UPDATE_MANIFEST@//
45/^PROFILING_CFLAGS *=/s/@PROFILING_CFLAGS@// 46/^PROFILING_CFLAGS *=/s/@PROFILING_CFLAGS@//
46/^ALLOCA *=/s!@ALLOCA@!! 47/^ALLOCA *=/s!@ALLOCA@!!
47/^EXEEXT *=/s!@EXEEXT@!! 48/^EXEEXT *=/s!@EXEEXT@!.exe!
49/^CLIENTW *=/s/@CLIENTW@//
50/^LIB_FDATASYNC *=/s/@LIB_FDATASYNC@//
51/^LIB_WSOCK32 *=/s/@LIB_WSOCK32@//
52/^LIBS_ECLIENT *=/s/@LIBS_ECLIENT@//
53/^NTLIB *=/s/@NTLIB@//
54/^CLIENTRES *=/s/@CLIENTRES@//
55/^WINDRES *=/s/@WINDRES@//
48/^GETOPT_H *=/s!@GETOPT_H@!getopt.h! 56/^GETOPT_H *=/s!@GETOPT_H@!getopt.h!
49/^GETOPTOBJS *=/s!@GETOPTOBJS@!getopt.o getopt1.o! 57/^GETOPTOBJS *=/s!@GETOPTOBJS@!getopt.o getopt1.o!
50/^INSTALLABLES/s/emacsclient[^ ]* *// 58/^INSTALLABLES/s/emacsclient[^ ]* *//
diff --git a/msdos/sed6.inp b/msdos/sed6.inp
index 32f39dd543c..a15f4236f57 100644
--- a/msdos/sed6.inp
+++ b/msdos/sed6.inp
@@ -42,5 +42,5 @@ export MAKEINFO := $(MAKEINFO) $(MAKEINFO_OPTS)
42 s/^ for file in $(INFO_TARGETS)\; do rm -f.*$/ rm -f $(INFO_TARGETS)/ 42 s/^ for file in $(INFO_TARGETS)\; do rm -f.*$/ rm -f $(INFO_TARGETS)/
43} 43}
44 44
45/^mkinfodir *=/s| @.*$|@command.com /c if not exist ..\\..\\info\\emacs mkdir ..\\..\\info| 45/^mkinfodir *=/s| @.*$|@command.com /c if not exist ..\\..\\info\\emacs$(INFO_EXT) mkdir ..\\..\\info|
46 46
diff --git a/msdos/sedadmin.inp b/msdos/sedadmin.inp
new file mode 100644
index 00000000000..6b34260416a
--- /dev/null
+++ b/msdos/sedadmin.inp
@@ -0,0 +1,29 @@
1# -sedadmin.inp-----------------------------------------------------------
2# Configuration script for admin/unidata/Makefile under DJGPP v2.x
3# ----------------------------------------------------------------------
4#
5# Copyright (C) 2014 Free Software Foundation, Inc.
6#
7# This file is part of GNU Emacs.
8#
9# This file is free software; as a special exception, the author gives
10# unlimited permission to copy and/or distribute it, with or without
11# modifications, as long as this notice is preserved.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16#
17# ----------------------------------------------------------------------
18/^SHELL *=/s/^/# /
19/^srcdir *=/s/@[^@\n]*@/./
20/^top_srcdir *=/s|@[^@\n]*@|../..|
21/^top_builddir *=/s|@[^@\n]*@|../..|
22
23/^ *-if /,/^ *fi/d
24/^ *if test -f charprop/,/^ *fi/c\
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 07aa3c6d2fb..fab8094a7e9 100644
--- a/msdos/sedleim.inp
+++ b/msdos/sedleim.inp
@@ -19,56 +19,21 @@
19SHELL=/xyzzy/command\ 19SHELL=/xyzzy/command\
20MAKESHELL=/xyzzy/command 20MAKESHELL=/xyzzy/command
21 21
22/^version=/d
23/^prefix=/d
24/^datadir=/s|@datadir@|../..|
25/^srcdir=/s|srcdir=@srcdir@|srcdir := $(subst \\,/,$(shell cd))| 22/^srcdir=/s|srcdir=@srcdir@|srcdir := $(subst \\,/,$(shell cd))|
26 23
27/^INSTALLDIR=/c\ 24# Need a relative directory name for the md command, otherwise it
28INSTALLDIR=. 25# chokes, perhaps due to multiple dots in emacs-XX.YY.NN name.
26/^leimdir *=/a\
27rel_leimdir = ..\\lisp\\leim
29 28
30/touch stamp-subdir/s|touch|djecho "stamp-subdir" >|
31s|\([ ]\)echo|\1djecho|g 29s|\([ ]\)echo|\1djecho|g
32/^ @true *$/d 30/^ @true *$/d
33 31
34/RUN_EMACS *=/,/^$/c\ 32/RUN_EMACS *=/,/^$/c\
35export EMACSLOADPATH=${buildlisppath}\ 33export EMACSLOADPATH=\
36RUN_EMACS = ${EMACS} -batch --no-site-file 34RUN_EMACS = ${EMACS} -batch --no-site-file --no-site-lisp
37 35
38/^MKDIR_P *=/s,@MKDIR_P@,command.com /c md, 36/^MKDIR_P *=/s,@MKDIR_P@,-command.com /c md,
39
40/^ cd ../c\
41 ${MAKE} -C ../src ${MFLAGS} emacs
42
43/if \[ -f $@ \]\; then true/d
44/fi$/s/; fi$//
45
46/^leim-list.el:/,/^$/ {
47 /^ if/d
48 /^ else/,/^ fi/d
49 s| *| |
50 /^ --eval/,/; \\$/s|\; \\||
51}
52
53/^setwins=/,/^$/d
54/^\.PHONY: compile-targets/d
55/^compile-targets:/d
56/^compile-main:/,/^$/c\
57compile-main: ${TIT_MISC}\
58 $(MAKE) $(MFLAGS) $(foreach f,$(wildcard ja-dic/*.el),$(basename $f).elc)\
59 $(MAKE) $(MFLAGS) $(foreach f,$(wildcard quail/*.el),$(basename $f).elc)\
60
61
62/^install:/,/^$/c\
63install: all\
64
65/^bootstrap-clean:/,/^$/c\
66bootstrap-clean: clean\
67 rm -f ja-dic/*.elc quail/*.elc\
68
69
70/^ if test -f/d
71/^distclean:/,/^$/ {
72 s|\(rm -f Makefile\)|\1 stamp-subdir|
73}
74 37
38/MKDIR_P.* \${leimdir}\/.*$/s|\${leimdir}/|$(rel_leimdir)\\|
39/MKDIR_P.* \$(leimdir)\/.*$/s|\$(leimdir)/|$(rel_leimdir)\\|
diff --git a/msdos/sedlibmk.inp b/msdos/sedlibmk.inp
index 40737fa5133..badb30b0b65 100644
--- a/msdos/sedlibmk.inp
+++ b/msdos/sedlibmk.inp
@@ -18,15 +18,25 @@
18# 18#
19# Checklist to add a new gnulib module: 19# Checklist to add a new gnulib module:
20# 20#
21# . If the module includes source files that need to be compiled, add 21# . If the module includes source files that need to be compiled, and
22# the corresponding .o file names to the list that gets assigned to 22# does not appear in the am_libgnu_a_OBJECTS list, add the
23# the gl_LIBOBJS variable. 23# corresponding .o file names to the list that gets assigned to the
24# gl_LIBOBJS variable.
25#
26# . If a module appears in am_libgnu_a_OBJECTS that is not required
27# for the MSDOS build, edit it out by adding an appropriate command
28# to the set that edits the am_libgnu_a_OBJECTS block.
24# 29#
25# . If the module defines functions that need to replace DJGPP 30# . If the module defines functions that need to replace DJGPP
26# functions, edit the appropriate REPLACE_foo variables to 1; 31# functions, edit the appropriate REPLACE_foo variables to 1:
27# otherwise edit them to zero: 32#
33# /^REPLACE_CALLOC *=/s/@REPLACE_CALLOC@/1/
28# 34#
29# /^REPLACE_CALLOC *=/s/@REPLACE_CALLOC@/0/ 35# Note that this file already has a command to edit all the
36# REPLACE_foo variables to zero, so if some gnulib replacement
37# function is ever needed, the corresponding editing command such
38# as above should be placed before that catchall rule (search for
39# "REPLACE_" below).
30# 40#
31# . If the module is a header or adds headers, edit the corresponding 41# . If the module is a header or adds headers, edit the corresponding
32# variable to either an empty value or to the name of the header. 42# variable to either an empty value or to the name of the header.
@@ -45,10 +55,10 @@
45# s/^@GL_GENERATE_STDBOOL_H_TRUE@/\#/ 55# s/^@GL_GENERATE_STDBOOL_H_TRUE@/\#/
46# s/^@GL_GENERATE_STDBOOL_H_FALSE@// 56# s/^@GL_GENERATE_STDBOOL_H_FALSE@//
47# 57#
48# . Also edit the NEXT_foo and NEXT_AS_FIRST_DIRECTIVE_foo_H variable 58# . Also edit the NEXT_foo_H and NEXT_AS_FIRST_DIRECTIVE_foo_H
49# as appropriately: to an empty value if the gnulib header is not 59# variables as appropriately: to an empty value if the gnulib
50# used, and to the corresponding DJGPP header name otherwise. 60# header is not used, and to the corresponding DJGPP header name
51# Examples: 61# otherwise. Examples:
52# 62#
53# /^NEXT_STDDEF_H *=/s/@[^@\n]*@// 63# /^NEXT_STDDEF_H *=/s/@[^@\n]*@//
54# /^NEXT_STDINT_H *=/s/@[^@\n]*@/<stdint.h>/ 64# /^NEXT_STDINT_H *=/s/@[^@\n]*@/<stdint.h>/
@@ -57,7 +67,7 @@
57# 67#
58# . Note that some gnulib headers cannot be left unused: those for 68# . Note that some gnulib headers cannot be left unused: those for
59# which there's no corresponding foo_H variable in 69# which there's no corresponding foo_H variable in
60# autogen/Makefile.in (example: stdio.h). For these the "not 70# msdos/autogen/Makefile.in (example: stdio.h). For these the "not
61# needed" path is not applicable. 71# needed" path is not applicable.
62# 72#
63# . If the header is needed, edit all the variables it uses as 73# . If the header is needed, edit all the variables it uses as
@@ -68,12 +78,14 @@
68# variable should be edited to zero and the corresponding 78# variable should be edited to zero and the corresponding
69# GNULIB_foo variable should be edited to 1 if the gnulib 79# GNULIB_foo variable should be edited to 1 if the gnulib
70# replacement can work for DJGPP (a rare phenomenon), zero 80# replacement can work for DJGPP (a rare phenomenon), zero
71# otherwise. 81# otherwise. Note that by default all HAVE_foo and GNULIB_foo
82# variables that don't have a specific editing rule will be edited
83# to zero.
72# 84#
73# . Some gnulib header files have more complex recipes in 85# . Some gnulib header files have more complex recipes in
74# autogen/Makefile.in than others. The tell-tale sign of such a 86# msdos/autogen/Makefile.in than others. The tell-tale sign of
75# recipe is that the input redirection from the .in.h file is not 87# such a recipe is that the input redirection from the .in.h file
76# present at the end of the command, like this: 88# is not present at the end of the command, like this:
77# 89#
78# -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ 90# -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
79# } > $@-t && \ 91# } > $@-t && \
@@ -93,6 +105,16 @@
93# s/'\; \\ *$/' >> $@-t/ 105# s/'\; \\ *$/' >> $@-t/
94# } 106# }
95# 107#
108# There's also a 3rd variety of script, which ends like this:
109#
110# -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
111# < $(srcdir)/string.in.h; \
112# } > $@-t && \
113# mv $@-t $@
114#
115# For these, you will need Sed commands like those used for
116# string.h, see below.
117#
96# . If the recipe for generating a header file uses 'cat', replace it with 118# . If the recipe for generating a header file uses 'cat', replace it with
97# 119#
98# sed -e '' 120# sed -e ''
@@ -101,9 +123,9 @@
101# this). 123# this).
102# 124#
103# The following Awk script is useful for editing portions of 125# The following Awk script is useful for editing portions of
104# autogen/Makefile.in into Sed commands that define the corresponding 126# msdos/autogen/Makefile.in into Sed commands that define the
105# variables to zero (which is what is required in the absolute 127# corresponding variables to zero (which is what is required in the
106# majority of cases): 128# absolute majority of cases):
107# 129#
108# { printf "/^%s *=/s/%s/0/\n",$1,$3} 130# { printf "/^%s *=/s/%s/0/\n",$1,$3}
109# 131#
@@ -115,6 +137,8 @@
115s/@PACKAGE@/emacs/ 137s/@PACKAGE@/emacs/
116/^am__cd *=/c\ 138/^am__cd *=/c\
117am__cd = cd 139am__cd = cd
140/^@BUILDING_FOR_WINDOWSNT_TRUE@/s/@[^@\n]*@/#/
141/^@BUILDING_FOR_WINDOWSNT_FALSE@/s/@[^@\n]*@//
118/^ALLOCA *=/s/@[^@\n]*@// 142/^ALLOCA *=/s/@[^@\n]*@//
119/^ALSA_CFLAGS *=/s/@[^@\n]*@// 143/^ALSA_CFLAGS *=/s/@[^@\n]*@//
120/^ALSA_LIBS *=/s/@[^@\n]*@// 144/^ALSA_LIBS *=/s/@[^@\n]*@//
@@ -133,6 +157,7 @@ am__cd = cd
133/^C_SWITCH_SYSTEM *=/s/@C_SWITCH_SYSTEM@// 157/^C_SWITCH_SYSTEM *=/s/@C_SWITCH_SYSTEM@//
134/^GNUSTEP_CFLAGS *=/s/@GNUSTEP_CFLAGS@// 158/^GNUSTEP_CFLAGS *=/s/@GNUSTEP_CFLAGS@//
135/^C_SWITCH_X_SITE *=/s/@C_SWITCH_X_SITE@// 159/^C_SWITCH_X_SITE *=/s/@C_SWITCH_X_SITE@//
160/^PROFILING_CFLAGS *=/s/@PROFILING_CFLAGS@//
136/^GNULIB_WARN_CFLAGS *=/s/@GNULIB_WARN_CFLAGS@// 161/^GNULIB_WARN_CFLAGS *=/s/@GNULIB_WARN_CFLAGS@//
137/^WARN_CFLAGS *=/s/@WARN_CFLAGS@// 162/^WARN_CFLAGS *=/s/@WARN_CFLAGS@//
138/^WERROR_CFLAGS *=/s/@WERROR_CFLAGS@// 163/^WERROR_CFLAGS *=/s/@WERROR_CFLAGS@//
@@ -152,303 +177,86 @@ am__cd = cd
152/^BITSIZEOF_WINT_T *=/s/@BITSIZEOF_WINT_T@/32/ 177/^BITSIZEOF_WINT_T *=/s/@BITSIZEOF_WINT_T@/32/
153/^APPLE_UNIVERSAL_BUILD *=/s/@APPLE_UNIVERSAL_BUILD@/0/ 178/^APPLE_UNIVERSAL_BUILD *=/s/@APPLE_UNIVERSAL_BUILD@/0/
154# 179#
155# Some GNULIB_* are replaced with zero even though DJGPP does not have 180# Most GNULIB_* are replaced with zero even though DJGPP does not have
156# these features. That's because the gnulib replacements cannot 181# these features. That's because the gnulib replacements cannot
157# possibly work for DJGPP, so we prefer to fail the link than have a 182# possibly work for DJGPP, so we prefer to fail the link than have a
158# subtly botched executable. 183# subtly botched executable. Those replacements that _are_ needed
184# should be before the last catch-all rule.
159/^GNULIB_ATOLL *=/s/@GNULIB_ATOLL@/1/ 185/^GNULIB_ATOLL *=/s/@GNULIB_ATOLL@/1/
160/^GNULIB_CALLOC_POSIX *=/s/@GNULIB_CALLOC_POSIX@/0/
161/^GNULIB_CANONICALIZE_FILE_NAME *=/s/@GNULIB_CANONICALIZE_FILE_NAME@/0/
162/^GNULIB_CHDIR *=/s/@GNULIB_CHDIR@/0/
163/^GNULIB_CHOWN *=/s/@GNULIB_CHOWN@/0/
164/^GNULIB_CLOSE *=/s/@GNULIB_CLOSE@/0/
165/^GNULIB_DPRINTF *=/s/@GNULIB_DPRINTF@/0/
166/^GNULIB_DUP *=/s/@GNULIB_DUP@/0/
167/^GNULIB_DUP2 *=/s/@GNULIB_DUP2@/0/
168/^GNULIB_DUP3 *=/s/@GNULIB_DUP3@/1/ 186/^GNULIB_DUP3 *=/s/@GNULIB_DUP3@/1/
169/^GNULIB_ENVIRON *=/s/@GNULIB_ENVIRON@/1/ 187/^GNULIB_ENVIRON *=/s/@GNULIB_ENVIRON@/1/
170/^GNULIB_EUIDACCESS *=/s/@GNULIB_EUIDACCESS@/0/ 188/^GNULIB_FDATASYNC *=/s/@GNULIB_FDATASYNC@/1/
171/^GNULIB_FACCESSAT *=/s/@GNULIB_FACCESSAT@/0/
172/^GNULIB_FCHDIR *=/s/@GNULIB_FCHDIR@/0/
173/^GNULIB_FCHOWNAT *=/s/@GNULIB_FCHOWNAT@/0/
174/^GNULIB_FCHMODAT *=/s/@GNULIB_FCHMODAT@/0/
175/^GNULIB_FCLOSE *=/s/@GNULIB_FCLOSE@/0/
176/^GNULIB_FDATASYNC *=/s/@GNULIB_FDATASYNC@/0/
177/^GNULIB_FDOPEN *=/s/@GNULIB_FDOPEN@/0/
178/^GNULIB_FFLUSH *=/s/@GNULIB_FFLUSH@/0/
179/^GNULIB_FGETC *=/s/@GNULIB_FGETC@/0/
180/^GNULIB_FGETS *=/s/@GNULIB_FGETS@/0/
181/^GNULIB_FOPEN *=/s/@GNULIB_FOPEN@/0/
182/^GNULIB_FPRINTF *=/s/@GNULIB_FPRINTF@/0/
183/^GNULIB_FPRINTF_POSIX *=/s/@GNULIB_FPRINTF_POSIX@/0/
184/^GNULIB_FPURGE *=/s/@GNULIB_FPURGE@/0/
185/^GNULIB_FPUTC *=/s/@GNULIB_FPUTC@/0/
186/^GNULIB_FPUTS *=/s/@GNULIB_FPUTS@/0/
187/^GNULIB_FREAD *=/s/@GNULIB_FREAD@/0/
188/^GNULIB_FREOPEN *=/s/@GNULIB_FREOPEN@/0/
189/^GNULIB_FSCANF *=/s/@GNULIB_FSCANF@/0/
190/^GNULIB_FSEEK *=/s/@GNULIB_FSEEK@/0/
191/^GNULIB_FSEEKO *=/s/@GNULIB_FSEEKO@/0/
192/^GNULIB_FSTAT *=/s/@GNULIB_FSTAT@/0/
193/^GNULIB_FSTATAT *=/s/@GNULIB_FSTATAT@/0/
194/^GNULIB_FSYNC *=/s/@GNULIB_FSYNC@/0/
195/^GNULIB_FTELL *=/s/@GNULIB_FTELL@/0/
196/^GNULIB_FTELLO *=/s/@GNULIB_FTELLO@/0/
197/^GNULIB_FTRUNCATE *=/s/@GNULIB_FTRUNCATE@/0/
198/^GNULIB_FUTIMENS *=/s/@GNULIB_FUTIMENS@/0/
199/^GNULIB_FWRITE *=/s/@GNULIB_FWRITE@/0/
200/^GNULIB_GETC *=/s/@GNULIB_GETC@/0/
201/^GNULIB_GETCHAR *=/s/@GNULIB_GETCHAR@/0/
202/^GNULIB_GETCWD *=/s/@GNULIB_GETCWD@/0/
203/^GNULIB_GETDELIM *=/s/@GNULIB_GETDELIM@/0/
204/^GNULIB_GETDOMAINNAME *=/s/@GNULIB_GETDOMAINNAME@/0/
205/^GNULIB_GETDTABLESIZE *=/s/@GNULIB_GETDTABLESIZE@/0/
206/^GNULIB_GETGROUPS *=/s/@GNULIB_GETGROUPS@/0/
207/^GNULIB_GETHOSTNAME *=/s/@GNULIB_GETHOSTNAME@/0/
208/^GNULIB_GETLINE *=/s/@GNULIB_GETLINE@/0/
209/^GNULIB_GETLOADAVG *=/s/@GNULIB_GETLOADAVG@/1/ 189/^GNULIB_GETLOADAVG *=/s/@GNULIB_GETLOADAVG@/1/
210/^GNULIB_GETLOGIN *=/s/@GNULIB_GETLOGIN@/0/
211/^GNULIB_GETLOGIN_R *=/s/@GNULIB_GETLOGIN_R@/0/
212/^GNULIB_GETPAGESIZE *=/s/@GNULIB_GETPAGESIZE@/0/
213/^GNULIB_GL_UNISTD_H_GETOPT *=/s/@GNULIB_GL_UNISTD_H_GETOPT@/1/ 190/^GNULIB_GL_UNISTD_H_GETOPT *=/s/@GNULIB_GL_UNISTD_H_GETOPT@/1/
214/^GNULIB_GETSUBOPT *=/s/@GNULIB_GETSUBOPT@/0/ 191/^GNULIB_MEMRCHR *=/s/@GNULIB_MEMRCHR@/1/
215/^GNULIB_GETTIMEOFDAY *=/s/@GNULIB_GETTIMEOFDAY@/0/ 192/^GNULIB_MKOSTEMP *=/s/@GNULIB_MKOSTEMP@/1/
216/^GNULIB_GETUSERSHELL *=/s/@GNULIB_GETUSERSHELL@/0/
217/^GNULIB_GRANTPT *=/s/@GNULIB_GRANTPT@/0/
218/^GNULIB_GROUP_MEMBER *=/s/@GNULIB_GROUP_MEMBER@/0/
219/^GNULIB_ISATTY *=/s/@GNULIB_ISATTY@/0/
220/^GNULIB_LCHMOD *=/s/@GNULIB_LCHMOD@/0/
221/^GNULIB_LCHOWN *=/s/@GNULIB_LCHOWN@/0/
222/^GNULIB_LINK *=/s/@GNULIB_LINK@/0/
223/^GNULIB_LINKAT *=/s/@GNULIB_LINKAT@/0/
224/^GNULIB_LSEEK *=/s/@GNULIB_LSEEK@/0/
225/^GNULIB_LSTAT *=/s/@GNULIB_LSTAT@/0/
226/^GNULIB_MALLOC_POSIX *=/s/@GNULIB_MALLOC_POSIX@/0/
227/^GNULIB_MBTOWC *=/s/@GNULIB_MBTOWC@/0/
228/^GNULIB_MKDIRAT *=/s/@GNULIB_MKDIRAT@/0/
229/^GNULIB_MKDTEMP *=/s/@GNULIB_MKDTEMP@/0/
230/^GNULIB_MKFIFO *=/s/@GNULIB_MKFIFO@/0/
231/^GNULIB_MKFIFOAT *=/s/@GNULIB_MKFIFOAT@/0/
232/^GNULIB_MKNOD *=/s/@GNULIB_MKNOD@/0/
233/^GNULIB_MKNODAT *=/s/@GNULIB_MKNODAT@/0/
234/^GNULIB_MKOSTEMP *=/s/@GNULIB_MKOSTEMP@/0/
235/^GNULIB_MKOSTEMPS *=/s/@GNULIB_MKOSTEMPS@/0/
236/^GNULIB_MKSTEMP *=/s/@GNULIB_MKSTEMP@/0/
237/^GNULIB_MKSTEMPS *=/s/@GNULIB_MKSTEMPS@/0/
238/^GNULIB_MKTIME *=/s/@GNULIB_MKTIME@/0/
239/^GNULIB_NANOSLEEP *=/s/@GNULIB_NANOSLEEP@/0/
240/^GNULIB_OBSTACK_PRINTF *=/s/@GNULIB_OBSTACK_PRINTF@/0/
241/^GNULIB_OBSTACK_PRINTF_POSIX *=/s/@GNULIB_OBSTACK_PRINTF_POSIX@/0/
242/^GNULIB_PCLOSE *=/s/@GNULIB_PCLOSE@/0/
243/^GNULIB_PERROR *=/s/@GNULIB_PERROR@/0/
244/^GNULIB_PIPE *=/s/@GNULIB_PIPE@/0/
245/^GNULIB_PIPE2 *=/s/@GNULIB_PIPE2@/0/
246/^GNULIB_POPEN *=/s/@GNULIB_POPEN@/0/
247/^GNULIB_POSIX_OPENPT *=/s/@GNULIB_POSIX_OPENPT@/0/
248/^GNULIB_PREAD *=/s/@GNULIB_PREAD@/0/
249/^GNULIB_PRINTF *=/s/@GNULIB_PRINTF@/0/
250/^GNULIB_PRINTF_POSIX *=/s/@GNULIB_PRINTF_POSIX@/0/
251/^GNULIB_PSELECT *=/s/@GNULIB_PSELECT@/0/
252/^GNULIB_PTHREAD_SIGMASK *=/s/@GNULIB_PTHREAD_SIGMASK@/0/
253/^GNULIB_PTSNAME *=/s/@GNULIB_PTSNAME@/0/
254/^GNULIB_PTSNAME_R *=/s/@GNULIB_PTSNAME_R@/0/
255/^GNULIB_PUTC *=/s/@GNULIB_PUTC@/0/
256/^GNULIB_PUTCHAR *=/s/@GNULIB_PUTCHAR@/0/
257/^GNULIB_PUTENV *=/s/@GNULIB_PUTENV@/0/
258/^GNULIB_PUTS *=/s/@GNULIB_PUTS@/0/
259/^GNULIB_PWRITE *=/s/@GNULIB_PWRITE@/0/
260/^GNULIB_RAISE *=/s/@GNULIB_RAISE@/0/
261/^GNULIB_RANDOM *=/s/@GNULIB_RANDOM@/0/
262/^GNULIB_RANDOM_R *=/s/@GNULIB_RANDOM_R@/0/
263/^GNULIB_READ *=/s/@GNULIB_READ@/0/
264/^GNULIB_READLINK *=/s/@GNULIB_READLINK@/0/
265/^GNULIB_READLINKAT *=/s/@GNULIB_READLINKAT@/0/
266/^GNULIB_REALLOC_POSIX *=/s/@GNULIB_REALLOC_POSIX@/0/
267/^GNULIB_REALPATH *=/s/@GNULIB_REALPATH@/0/
268/^GNULIB_REMOVE *=/s/@GNULIB_REMOVE@/0/
269/^GNULIB_RENAME *=/s/@GNULIB_RENAME@/0/
270/^GNULIB_RENAMEAT *=/s/@GNULIB_RENAMEAT@/0/
271/^GNULIB_RMDIR *=/s/@GNULIB_RMDIR@/0/
272/^GNULIB_RPMATCH *=/s/@GNULIB_RPMATCH@/0/
273/^GNULIB_SCANF *=/s/@GNULIB_SCANF@/0/
274/^GNULIB_SECURE_GETENV *=/s/@GNULIB_SECURE_GETENV@/0/
275/^GNULIB_SELECT *=/s/@GNULIB_SELECT@/0/
276/^GNULIB_SETENV *=/s/@GNULIB_SETENV@/0/
277/^GNULIB_SETHOSTNAME *=/s/@GNULIB_SETHOSTNAME@/0/
278/^GNULIB_SIGACTION *=/s/@GNULIB_SIGACTION@/0/
279/^GNULIB_SIGNAL_H_SIGPIPE *=/s/@GNULIB_SIGNAL_H_SIGPIPE@/0/
280/^GNULIB_SIGPROCMASK *=/s/@GNULIB_SIGPROCMASK@/0/
281/^GNULIB_SLEEP *=/s/@GNULIB_SLEEP@/0/
282/^GNULIB_SNPRINTF *=/s/@GNULIB_SNPRINTF@/0/
283/^GNULIB_SPRINTF_POSIX *=/s/@GNULIB_SPRINTF_POSIX@/0/
284/^GNULIB_STAT *=/s/@GNULIB_STAT@/0/
285/^GNULIB_STDIO_H_NONBLOCKING *=/s/@GNULIB_STDIO_H_NONBLOCKING@/0/
286/^GNULIB_STDIO_H_SIGPIPE *=/s/@GNULIB_STDIO_H_SIGPIPE@/0/
287/^GNULIB_STRPTIME *=/s/@GNULIB_STRPTIME@/0/
288/^GNULIB_STRTOD *=/s/@GNULIB_STRTOD@/0/
289/^GNULIB_STRTOLL *=/s/@GNULIB_STRTOLL@/0/
290/^GNULIB_STRTOULL *=/s/@GNULIB_STRTOULL@/0/
291/^GNULIB_SYMLINK *=/s/@GNULIB_SYMLINK@/0/
292/^GNULIB_SYMLINKAT *=/s/@GNULIB_SYMLINKAT@/0/
293/^GNULIB_SYSTEM_POSIX *=/s/@GNULIB_SYSTEM_POSIX@/0/
294/^GNULIB_TIMEGM *=/s/@GNULIB_TIMEGM@/0/
295/^GNULIB_TIME_R *=/s/@GNULIB_TIME_R@/1/ 193/^GNULIB_TIME_R *=/s/@GNULIB_TIME_R@/1/
296/^GNULIB_TMPFILE *=/s/@GNULIB_TMPFILE@/0/
297/^GNULIB_TTYNAME_R *=/s/@GNULIB_TTYNAME_R@/0/
298/^GNULIB_UNISTD_H_NONBLOCKING *=/s/@GNULIB_UNISTD_H_NONBLOCKING@/0/
299/^GNULIB_UNISTD_H_SIGPIPE *=/s/@GNULIB_UNISTD_H_SIGPIPE@/0/
300/^GNULIB_UNLINK *=/s/@GNULIB_UNLINK@/0/
301/^GNULIB_UNLINKAT *=/s/@GNULIB_UNLINKAT@/0/
302/^GNULIB_UNLOCKPT *=/s/@GNULIB_UNLOCKPT@/0/
303/^GNULIB_UNSETENV *=/s/@GNULIB_UNSETENV@/1/ 194/^GNULIB_UNSETENV *=/s/@GNULIB_UNSETENV@/1/
304/^GNULIB_USLEEP *=/s/@GNULIB_USLEEP@/0/ 195/^GNULIB_[^ =]* *= *@/s/@[^@\n]*@/0/
305/^GNULIB_UTIMENSAT *=/s/@GNULIB_UTIMENSAT@/0/
306/^GNULIB_VASPRINTF *=/s/@GNULIB_VASPRINTF@/0/
307/^GNULIB_VDPRINTF *=/s/@GNULIB_VDPRINTF@/0/
308/^GNULIB_VFPRINTF *=/s/@GNULIB_VFPRINTF@/0/
309/^GNULIB_VFPRINTF_POSIX *=/s/@GNULIB_VFPRINTF_POSIX@/0/
310/^GNULIB_VFSCANF *=/s/@GNULIB_VFSCANF@/0/
311/^GNULIB_VPRINTF *=/s/@GNULIB_VPRINTF@/0/
312/^GNULIB_VPRINTF_POSIX *=/s/@GNULIB_VPRINTF_POSIX@/0/
313/^GNULIB_VSCANF *=/s/@GNULIB_VSCANF@/0/
314/^GNULIB_VSNPRINTF *=/s/@GNULIB_VSNPRINTF@/0/
315/^GNULIB_VSPRINTF_POSIX *=/s/@GNULIB_VSPRINTF_POSIX@/0/
316/^GNULIB_WCTOMB *=/s/@GNULIB_WCTOMB@/0/
317/^GNULIB_WRITE *=/s/@GNULIB_WRITE@/0/
318/^GNULIB__EXIT *=/s/@GNULIB__EXIT@/0/
319/^GSETTINGS_CFLAGS *=/s/@[^@\n]*@// 196/^GSETTINGS_CFLAGS *=/s/@[^@\n]*@//
320/^GSETTINGS_LIBS *=/s/@[^@\n]*@// 197/^GSETTINGS_LIBS *=/s/@[^@\n]*@//
198#
199# Edit the HAVE_foo variables
321/^HAVE_ATOLL *=/s/@HAVE_ATOLL@/0/ 200/^HAVE_ATOLL *=/s/@HAVE_ATOLL@/0/
322/^HAVE_CANONICALIZE_FILE_NAME *=/s/@HAVE_CANONICALIZE_FILE_NAME@/0/
323/^HAVE_CHOWN *=/s/@HAVE_CHOWN@/1/ 201/^HAVE_CHOWN *=/s/@HAVE_CHOWN@/1/
324/^HAVE_DECL_ENVIRON *=/s/@HAVE_DECL_ENVIRON@/0/ 202/^HAVE_CLOSEDIR *=/s/@HAVE_CLOSEDIR@/1/
325/^HAVE_DECL_FCHDIR *=/s/@HAVE_DECL_FCHDIR@/0/
326/^HAVE_DECL_FDATASYNC *=/s/@HAVE_DECL_FDATASYNC@/0/
327/^HAVE_DECL_FPURGE *=/s/@HAVE_DECL_FPURGE@//
328/^HAVE_DECL_FSEEKO *=/s/@HAVE_DECL_FSEEKO@/0/
329/^HAVE_DECL_FTELLO *=/s/@HAVE_DECL_FTELLO@/0/
330/^HAVE_DECL_GETDELIM *=/s/@HAVE_DECL_GETDELIM@/0/
331/^HAVE_DECL_GETDOMAINNAME *=/s/@HAVE_DECL_GETDOMAINNAME@/0/
332/^HAVE_DECL_GETLINE *=/s/@HAVE_DECL_GETLINE@/0/
333/^HAVE_DECL_GETLOADAVG *=/s/@HAVE_DECL_GETLOADAVG@/0/
334/^HAVE_DECL_GETLOGIN_R *=/s/@HAVE_DECL_GETLOGIN_R@/0/
335/^HAVE_DECL_GETPAGESIZE *=/s/@HAVE_DECL_GETPAGESIZE@/1/ 203/^HAVE_DECL_GETPAGESIZE *=/s/@HAVE_DECL_GETPAGESIZE@/1/
336/^HAVE_DECL_GETUSERSHELL *=/s/@HAVE_DECL_GETUSERSHELL@/0/
337/^HAVE_DECL_LOCALTIME_R *=/s/@HAVE_DECL_LOCALTIME_R@/0/
338/^HAVE_DECL_OBSTACK_PRINTF *=/s/@HAVE_DECL_OBSTACK_PRINTF@/0/
339/^HAVE_DECL_SETHOSTNAME *=/s/@HAVE_DECL_SETHOSTNAME@/0/
340/^HAVE_DECL_SETENV *=/s/@HAVE_DECL_SETENV@/1/ 204/^HAVE_DECL_SETENV *=/s/@HAVE_DECL_SETENV@/1/
341/^HAVE_DECL_SNPRINTF *=/s/@HAVE_DECL_SNPRINTF@/0/ 205/^HAVE_DECL_STRDUP *=/s/@HAVE_DECL_STRDUP@/1/
342/^HAVE_DECL_TTYNAME_R *=/s/@HAVE_DECL_TTYNAME_R@/0/ 206# The following two rely on msdos/inttypes.h redirections
343/^HAVE_DECL_UNSETENV *=/s/@HAVE_DECL_UNSETENV@/0/ 207/^HAVE_DECL_STRTOIMAX *=/s/@HAVE_DECL_STRTOIMAX@/1/
344/^HAVE_DECL_VSNPRINTF *=/s/@HAVE_DECL_VSNPRINTF@/0/ 208/^HAVE_DECL_STRTOUMAX *=/s/@HAVE_DECL_STRTOUMAX@/1/
345/^HAVE_DPRINTF *=/s/@HAVE_DPRINTF@/0/ 209/^HAVE_DIRENT_H *=/s/@HAVE_DIRENT_H@/1/
346/^HAVE_DUP2 *=/s/@HAVE_DUP2@/1/ 210/^HAVE_DUP2 *=/s/@HAVE_DUP2@/1/
347/^HAVE_DUP3 *=/s/@HAVE_DUP3@/0/
348/^HAVE_EUIDACCESS *=/s/@HAVE_EUIDACCESS@/0/
349/^HAVE_FACCESSAT *=/s/@HAVE_FACCESSAT@/0/
350/^HAVE_FCHDIR *=/s/@HAVE_FCHDIR@/0/
351/^HAVE_FCHMODAT *=/s/@HAVE_FCHMODAT@/0/
352/^HAVE_FCHOWNAT *=/s/@HAVE_FCHOWNAT@/0/
353/^HAVE_FDATASYNC *=/s/@HAVE_FDATASYNC@/0/
354/^HAVE_FSEEKO *=/s/@HAVE_FSEEKO@/0/
355/^HAVE_FSTATAT *=/s/@HAVE_FSTATAT@/0/
356/^HAVE_FSYNC *=/s/@HAVE_FSYNC@/1/ 211/^HAVE_FSYNC *=/s/@HAVE_FSYNC@/1/
357/^HAVE_FTELLO *=/s/@HAVE_FTELLO@/0/
358/^HAVE_FTRUNCATE *=/s/@HAVE_FTRUNCATE@/1/ 212/^HAVE_FTRUNCATE *=/s/@HAVE_FTRUNCATE@/1/
359/^HAVE_FUTIMENS *=/s/@HAVE_FUTIMENS@/0/
360/^HAVE_GETDTABLESIZE *=/s/@HAVE_GETDTABLESIZE@/0/
361/^HAVE_GETGROUPS *=/s/@HAVE_GETGROUPS@/0/
362/^HAVE_GETHOSTNAME *=/s/@HAVE_GETHOSTNAME@/1/ 213/^HAVE_GETHOSTNAME *=/s/@HAVE_GETHOSTNAME@/1/
363/^HAVE_GETLOGIN *=/s/@HAVE_GETLOGIN@/1/ 214/^HAVE_GETLOGIN *=/s/@HAVE_GETLOGIN@/1/
364/^HAVE_GETOPT_H *=/s/@HAVE_GETOPT_H@/0/
365/^HAVE_GETPAGESIZE *=/s/@HAVE_GETPAGESIZE@/1/ 215/^HAVE_GETPAGESIZE *=/s/@HAVE_GETPAGESIZE@/1/
366/^HAVE_GETSUBOPT *=/s/@HAVE_GETSUBOPT@/0/
367/^HAVE_GRANTPT *=/s/@HAVE_GRANTPT@/0/
368/^HAVE_GROUP_MEMBER *=/s/@HAVE_GROUP_MEMBER@/0/
369/^HAVE_LCHOWN *=/s/@HAVE_LCHOWN@/0/
370/^HAVE_INTTYPES_H *=/s/@HAVE_INTTYPES_H@/HAVE_INTTYPES_H/ 216/^HAVE_INTTYPES_H *=/s/@HAVE_INTTYPES_H@/HAVE_INTTYPES_H/
371/^HAVE_LCHMOD *=/s/@HAVE_LCHMOD@/0/
372/^HAVE_LINK *=/s/@HAVE_LINK@/1/ 217/^HAVE_LINK *=/s/@HAVE_LINK@/1/
373/^HAVE_LINKAT *=/s/@HAVE_LINKAT@/0/
374/^HAVE_LONG_LONG_INT *=/s/@HAVE_LONG_LONG_INT@/1/ 218/^HAVE_LONG_LONG_INT *=/s/@HAVE_LONG_LONG_INT@/1/
375/^HAVE_LSTAT *=/s/@HAVE_LSTAT@/HAVE_LSTAT/ 219/^HAVE_LSTAT *=/s/@HAVE_LSTAT@/HAVE_LSTAT/
376/^HAVE_MAKEINFO *=/s/@HAVE_MAKEINFO@/yes/ 220/^HAVE_MAKEINFO *=/s/@HAVE_MAKEINFO@/yes/
377/^HAVE_MKDIRAT *=/s/@HAVE_MKDIRAT@/0/ 221/^HAVE_MEMCHR *=/s/@HAVE_MEMCHR@/1/
378/^HAVE_MKDTEMP *=/s/@HAVE_MKDTEMP@/0/
379/^HAVE_MKFIFO *=/s/@HAVE_MKFIFO@/1/ 222/^HAVE_MKFIFO *=/s/@HAVE_MKFIFO@/1/
380/^HAVE_MKFIFOAT *=/s/@HAVE_MKFIFOAT@/0/
381/^HAVE_MKNOD *=/s/@HAVE_MKNOD@/1/ 223/^HAVE_MKNOD *=/s/@HAVE_MKNOD@/1/
382/^HAVE_MKNODAT *=/s/@HAVE_MKNODAT@/0/
383/^HAVE_MKOSTEMP *=/s/@HAVE_MKOSTEMP@/0/
384/^HAVE_MKOSTEMPS *=/s/@HAVE_MKOSTEMPS@/0/
385/^HAVE_MKSTEMP *=/s/@HAVE_MKSTEMP@/1/ 224/^HAVE_MKSTEMP *=/s/@HAVE_MKSTEMP@/1/
386/^HAVE_MKSTEMPS *=/s/@HAVE_MKSTEMPS@/0/ 225/^HAVE_OPENDIR *=/s/@HAVE_OPENDIR@/1/
387/^HAVE_NANOSLEEP *=/s/@HAVE_NANOSLEEP@/0/
388/^HAVE_OS_H *=/s/@HAVE_OS_H@/0/
389/^HAVE_PIPE *=/s/@HAVE_PIPE@/0/
390/^HAVE_PCLOSE *=/s/@HAVE_PCLOSE@/1/ 226/^HAVE_PCLOSE *=/s/@HAVE_PCLOSE@/1/
391/^HAVE_PIPE2 *=/s/@HAVE_PIPE2@/0/
392/^HAVE_POPEN *=/s/@HAVE_POPEN@/1/ 227/^HAVE_POPEN *=/s/@HAVE_POPEN@/1/
393/^HAVE_POSIX_SIGNALBLOCKING *=/s/@HAVE_POSIX_SIGNALBLOCKING@/1/ 228/^HAVE_POSIX_SIGNALBLOCKING *=/s/@HAVE_POSIX_SIGNALBLOCKING@/1/
394/^HAVE_POSIX_OPENPT *=/s/@HAVE_POSIX_OPENPT@/0/
395/^HAVE_PREAD *=/s/@HAVE_PREAD@/0/
396/^HAVE_PTSNAME *=/s/@HAVE_PTSNAME@/0/
397/^HAVE_PTSNAME_R *=/s/@HAVE_PTSNAME_R@/0/
398/^HAVE_PTHREAD_SIGMASK *=/s/@HAVE_PTHREAD_SIGMASK@/0/
399/^HAVE_PWRITE *=/s/@HAVE_PWRITE@/0/
400/^HAVE_RANDOM_H *=/s/@HAVE_RANDOM_H@/1/ 229/^HAVE_RANDOM_H *=/s/@HAVE_RANDOM_H@/1/
401/^HAVE_RAISE *=/s/@HAVE_RAISE@/1/ 230/^HAVE_RAISE *=/s/@HAVE_RAISE@/1/
402/^HAVE_RANDOM *=/s/@HAVE_RANDOM@/1/ 231/^HAVE_RANDOM *=/s/@HAVE_RANDOM@/1/
403/^HAVE_RANDOM_R *=/s/@HAVE_RANDOM_R@/0/ 232/^HAVE_READDIR *=/s/@HAVE_READDIR@/1/
404/^HAVE_READLINK *=/s/@HAVE_READLINK@/0/ 233/^HAVE_REWINDDIR *=/s/@HAVE_REWINDDIR@/1/
405/^HAVE_READLINKAT *=/s/@HAVE_READLINKAT@/0/
406/^HAVE_REALPATH *=/s/@HAVE_REALPATH@/0/
407/^HAVE_RENAMEAT *=/s/@HAVE_RENAMEAT@/0/
408/^HAVE_RPMATCH *=/s/@HAVE_RPMATCH@/0/
409/^HAVE_SECURE_GETENV *=/s/@HAVE_SECURE_GETENV@/0/
410/^HAVE_SETENV *=/s/@HAVE_SETENV@/1/ 234/^HAVE_SETENV *=/s/@HAVE_SETENV@/1/
411/^HAVE_SETHOSTNAME *=/s/@HAVE_SETHOSTNAME@/0/
412/^HAVE_SIGACTION *=/s/@HAVE_SIGACTION@/1/ 235/^HAVE_SIGACTION *=/s/@HAVE_SIGACTION@/1/
413/^HAVE_SIGHANDLER_T *=/s/@HAVE_SIGHANDLER_T@/0/
414/^HAVE_SIGINFO_T *=/s/@HAVE_SIGINFO_T@/0/
415/^HAVE_SIGNED_SIG_ATOMIC_T *=/s/@HAVE_SIGNED_SIG_ATOMIC_T@/1/ 236/^HAVE_SIGNED_SIG_ATOMIC_T *=/s/@HAVE_SIGNED_SIG_ATOMIC_T@/1/
416/^HAVE_SIGNED_WCHAR_T *=/s/@HAVE_SIGNED_WCHAR_T@/0/
417/^HAVE_SIGNED_WINT_T *=/s/@HAVE_SIGNED_WINT_T@/1/ 237/^HAVE_SIGNED_WINT_T *=/s/@HAVE_SIGNED_WINT_T@/1/
418/^HAVE_SIGSET_T *=/s/@HAVE_SIGSET_T@/1/ 238/^HAVE_SIGSET_T *=/s/@HAVE_SIGSET_T@/1/
419/^HAVE_SLEEP *=/s/@HAVE_SLEEP@/1/ 239/^HAVE_SLEEP *=/s/@HAVE_SLEEP@/1/
420/^HAVE_STDINT_H *=/s/@HAVE_STDINT_H@/HAVE_STDINT_H/ 240/^HAVE_STDINT_H *=/s/@HAVE_STDINT_H@/HAVE_STDINT_H/
421/^HAVE_STRPTIME *=/s/@HAVE_STRPTIME@/0/ 241/^HAVE_STRPBRK *=/s/@HAVE_STRPBRK@/1/
242/^HAVE_STRSEP *=/s/@HAVE_STRSEP@/1/
422/^HAVE_STRTOD *=/s/@HAVE_STRTOD@/1/ 243/^HAVE_STRTOD *=/s/@HAVE_STRTOD@/1/
423/^HAVE_STRTOLL *=/s/@HAVE_STRTOLL@/1/ 244/^HAVE_STRTOLL *=/s/@HAVE_STRTOLL@/1/
424/^HAVE_STRTOULL *=/s/@HAVE_STRTOULL@/1/ 245/^HAVE_STRTOULL *=/s/@HAVE_STRTOULL@/1/
425/^HAVE_STRUCT_SIGACTION_SA_SIGACTION *=/s/@HAVE_STRUCT_SIGACTION_SA_SIGACTION@/0/
426/^HAVE_STRUCT_RANDOM_DATA *=/s/@HAVE_STRUCT_RANDOM_DATA@/0/
427/^HAVE_STRUCT_TIMEVAL *=/s/@HAVE_STRUCT_TIMEVAL@/1/ 246/^HAVE_STRUCT_TIMEVAL *=/s/@HAVE_STRUCT_TIMEVAL@/1/
428/^HAVE_SYMLINK *=/s/@HAVE_SYMLINK@/1/ 247/^HAVE_SYMLINK *=/s/@HAVE_SYMLINK@/1/
429/^HAVE_SYMLINKAT *=/s/@HAVE_SYMLINKAT@/0/
430/^HAVE_SYS_BITYPES_H *=/s/@HAVE_SYS_BITYPES_H@/0/
431/^HAVE_SYS_INTTYPES_H *=/s/@HAVE_SYS_INTTYPES_H@/0/
432/^HAVE_SYS_LOADAVG_H *=/s/@HAVE_SYS_LOADAVG_H@/0/
433/^HAVE_SYS_PARAM_H *=/s/@HAVE_SYS_PARAM_H@/1/ 248/^HAVE_SYS_PARAM_H *=/s/@HAVE_SYS_PARAM_H@/1/
434/^HAVE_SYS_SELECT_H *=/s/@HAVE_SYS_SELECT_H@/0/
435/^HAVE_SYS_TIME_H *=/s/@HAVE_SYS_TIME_H@/1/ 249/^HAVE_SYS_TIME_H *=/s/@HAVE_SYS_TIME_H@/1/
436/^HAVE_SYS_TYPES_H *=/s/@HAVE_SYS_TYPES_H@/1/ 250/^HAVE_SYS_TYPES_H *=/s/@HAVE_SYS_TYPES_H@/1/
437/^HAVE_TIMEGM *=/s/@HAVE_TIMEGM@/0/
438/^HAVE_TYPE_VOLATILE_SIG_ATOMIC_T *=/s/@HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@/1/ 251/^HAVE_TYPE_VOLATILE_SIG_ATOMIC_T *=/s/@HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@/1/
439/^HAVE_UNISTD_H *=/s/@HAVE_UNISTD_H@/1/ 252/^HAVE_UNISTD_H *=/s/@HAVE_UNISTD_H@/1/
440/^HAVE_UNLINKAT *=/s/@HAVE_UNLINKAT@/0/
441/^HAVE_UNLOCKPT *=/s/@HAVE_UNLOCKPT@/0/
442/^HAVE_UNSIGNED_LONG_LONG_INT *=/s/@HAVE_UNSIGNED_LONG_LONG_INT@/1/ 253/^HAVE_UNSIGNED_LONG_LONG_INT *=/s/@HAVE_UNSIGNED_LONG_LONG_INT@/1/
443/^HAVE_USLEEP *=/s/@HAVE_USLEEP@/1/ 254/^HAVE_USLEEP *=/s/@HAVE_USLEEP@/1/
444/^HAVE_UTIMENSAT *=/s/@HAVE_UTIMENSAT@/0/
445/^HAVE_VASPRINTF *=/s/@HAVE_VASPRINTF@/0/
446/^HAVE_VDPRINTF *=/s/@HAVE_VDPRINTF@/0/
447/^HAVE_WCHAR_H *=/s/@HAVE_WCHAR_H@/1/ 255/^HAVE_WCHAR_H *=/s/@HAVE_WCHAR_H@/1/
448/^HAVE_WCHAR_T *=/s/@HAVE_WCHAR_T@/1/ 256/^HAVE_WCHAR_T *=/s/@HAVE_WCHAR_T@/1/
449/^HAVE_XSERVER *=/s/@HAVE_XSERVER@/0/
450/^HAVE__BOOL *=/s/@HAVE__BOOL@/1/ 257/^HAVE__BOOL *=/s/@HAVE__BOOL@/1/
451/^HAVE__EXIT *=/s/@HAVE__EXIT@/1/ 258/^HAVE__EXIT *=/s/@HAVE__EXIT@/1/
259/^HAVE_[^ =]* *= *@/s/@[^@\n]*@/0/
452/^INCLUDE_NEXT *=/s/@INCLUDE_NEXT@/include_next/ 260/^INCLUDE_NEXT *=/s/@INCLUDE_NEXT@/include_next/
453/^INCLUDE_NEXT_AS_FIRST_DIRECTIVE *=/s/@[^@\n]*@/include_next/ 261/^INCLUDE_NEXT_AS_FIRST_DIRECTIVE *=/s/@[^@\n]*@/include_next/
454/^LDFLAGS *=/s/@[^@\n]*@// 262/^LDFLAGS *=/s/@[^@\n]*@//
@@ -459,6 +267,9 @@ am__cd = cd
459/^MAKEINFO *=/s/@MAKEINFO@/makeinfo/ 267/^MAKEINFO *=/s/@MAKEINFO@/makeinfo/
460# MKDIR_P lines are edited further below 268# MKDIR_P lines are edited further below
461/^MKDIR_P *=/s/@MKDIR_P@// 269/^MKDIR_P *=/s/@MKDIR_P@//
270/^NEXT_AS_FIRST_DIRECTIVE_DIRENT_H *=/s/@[^@\n]*@/<dirent.h>/
271/^NEXT_AS_FIRST_DIRECTIVE_ERRNO_H *=/s/@[^@\n]*@//
272/^NEXT_AS_FIRST_DIRECTIVE_FCNTL_H *=/s/@[^@\n]*@/<fcntl.h>/
462/^NEXT_AS_FIRST_DIRECTIVE_GETOPT_H *=/s/@[^@\n]*@/<getopt.h>/ 273/^NEXT_AS_FIRST_DIRECTIVE_GETOPT_H *=/s/@[^@\n]*@/<getopt.h>/
463/^NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H *=/s/@[^@\n]*@/<signal.h>/ 274/^NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H *=/s/@[^@\n]*@/<signal.h>/
464/^NEXT_AS_FIRST_DIRECTIVE_STDARG_H *=/s/@[^@\n]*@// 275/^NEXT_AS_FIRST_DIRECTIVE_STDARG_H *=/s/@[^@\n]*@//
@@ -466,12 +277,16 @@ am__cd = cd
466/^NEXT_AS_FIRST_DIRECTIVE_STDINT_H *=/s/@[^@\n]*@/<stdint.h>/ 277/^NEXT_AS_FIRST_DIRECTIVE_STDINT_H *=/s/@[^@\n]*@/<stdint.h>/
467/^NEXT_AS_FIRST_DIRECTIVE_STDIO_H *=/s/@[^@\n]*@/<stdio.h>/ 278/^NEXT_AS_FIRST_DIRECTIVE_STDIO_H *=/s/@[^@\n]*@/<stdio.h>/
468/^NEXT_AS_FIRST_DIRECTIVE_STDLIB_H *=/s/@[^@\n]*@/<stdlib.h>/ 279/^NEXT_AS_FIRST_DIRECTIVE_STDLIB_H *=/s/@[^@\n]*@/<stdlib.h>/
280/^NEXT_AS_FIRST_DIRECTIVE_STRING_H *=/s/@[^@\n]*@/<string.h>/
469/^NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H *=/s/@[^@\n]*@// 281/^NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H *=/s/@[^@\n]*@//
470/^NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H *=/s!@[^@\n]*@!<sys/stat.h>! 282/^NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H *=/s!@[^@\n]*@!<sys/stat.h>!
471/^NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H *=/s/@[^@\n]*@// 283/^NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H *=/s/@[^@\n]*@//
472/^NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H *=/s!@[^@\n]*@!<sys/types.h>! 284/^NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H *=/s!@[^@\n]*@!<sys/types.h>!
473/^NEXT_AS_FIRST_DIRECTIVE_TIME_H *=/s/@[^@\n]*@/<time.h>/ 285/^NEXT_AS_FIRST_DIRECTIVE_TIME_H *=/s/@[^@\n]*@/<time.h>/
474/^NEXT_AS_FIRST_DIRECTIVE_UNISTD_H *=/s/@[^@\n]*@/<unistd.h>/ 286/^NEXT_AS_FIRST_DIRECTIVE_UNISTD_H *=/s/@[^@\n]*@/<unistd.h>/
287/^NEXT_DIRENT_H *=/s/@[^@\n]*@/<dirent.h>/
288/^NEXT_ERRNO_H *=/s/@[^@\n]*@//
289/^NEXT_FCNTL_H *=/s/@[^@\n]*@/<fcntl.h>/
475/^NEXT_GETOPT_H *=/s/@[^@\n]*@/<getopt.h>/ 290/^NEXT_GETOPT_H *=/s/@[^@\n]*@/<getopt.h>/
476/^NEXT_STDARG_H *=/s/@[^@\n]*@// 291/^NEXT_STDARG_H *=/s/@[^@\n]*@//
477/^NEXT_SIGNAL_H *=/s/@[^@\n]*@/<signal.h>/ 292/^NEXT_SIGNAL_H *=/s/@[^@\n]*@/<signal.h>/
@@ -479,6 +294,7 @@ am__cd = cd
479/^NEXT_STDIO_H *=/s/@[^@\n]*@/<stdio.h>/ 294/^NEXT_STDIO_H *=/s/@[^@\n]*@/<stdio.h>/
480/^NEXT_STDINT_H *=/s/@[^@\n]*@/<stdint.h>/ 295/^NEXT_STDINT_H *=/s/@[^@\n]*@/<stdint.h>/
481/^NEXT_STDLIB_H *=/s/@[^@\n]*@/<stdlib.h>/ 296/^NEXT_STDLIB_H *=/s/@[^@\n]*@/<stdlib.h>/
297/^NEXT_STRING_H *=/s/@[^@\n]*@/<string.h>/
482/^NEXT_SYS_SELECT_H *=/s/@[^@\n]*@// 298/^NEXT_SYS_SELECT_H *=/s/@[^@\n]*@//
483/^NEXT_SYS_STAT_H *=/s!@[^@\n]*@!<sys/stat.h>! 299/^NEXT_SYS_STAT_H *=/s!@[^@\n]*@!<sys/stat.h>!
484/^NEXT_SYS_TIME_H *=/s/@[^@\n]*@// 300/^NEXT_SYS_TIME_H *=/s/@[^@\n]*@//
@@ -491,104 +307,14 @@ am__cd = cd
491/^PTHREAD_H_DEFINES_STRUCT_TIMESPEC *=/s/@[^@\n]*@/0/ 307/^PTHREAD_H_DEFINES_STRUCT_TIMESPEC *=/s/@[^@\n]*@/0/
492/^PTRDIFF_T_SUFFIX *=/s/@[^@\n]*@// 308/^PTRDIFF_T_SUFFIX *=/s/@[^@\n]*@//
493/^RANLIB *=/s/@[^@\n]*@/ranlib/ 309/^RANLIB *=/s/@[^@\n]*@/ranlib/
494/^REPLACE_CALLOC *=/s/@REPLACE_CALLOC@/0/ 310# We never want any gnulib replacement functions
495/^REPLACE_CANONICALIZE_FILE_NAME *=/s/@REPLACE_CANONICALIZE_FILE_NAME@/0/ 311/^REPLACE_[^ =]* *= *@/s/@[^@\n]*@/0/
496/^REPLACE_CHOWN *=/s/@REPLACE_CHOWN@/0/
497/^REPLACE_CLOSE *=/s/@REPLACE_CLOSE@/0/
498/^REPLACE_DPRINTF *=/s/@REPLACE_DPRINTF@/0/
499/^REPLACE_DUP *=/s/@REPLACE_DUP@/0/
500/^REPLACE_DUP2 *=/s/@REPLACE_DUP2@/0/
501/^REPLACE_FCHOWNAT *=/s/@REPLACE_FCHOWNAT@/0/
502/^REPLACE_FCLOSE *=/s/@REPLACE_FCLOSE@/0/
503/^REPLACE_FDOPEN *=/s/@REPLACE_FDOPEN@/0/
504/^REPLACE_FFLUSH *=/s/@REPLACE_FFLUSH@/0/
505/^REPLACE_FOPEN *=/s/@REPLACE_FOPEN@/0/
506/^REPLACE_FPRINTF *=/s/@REPLACE_FPRINTF@/0/
507/^REPLACE_FPURGE *=/s/@REPLACE_FPURGE@/0/
508/^REPLACE_FREOPEN *=/s/@REPLACE_FREOPEN@/0/
509/^REPLACE_FSEEK *=/s/@REPLACE_FSEEK@/0/
510/^REPLACE_FSEEKO *=/s/@REPLACE_FSEEKO@/0/
511/^REPLACE_FSTAT *=/s/@REPLACE_FSTAT@/0/
512/^REPLACE_FSTATAT *=/s/@REPLACE_FSTATAT@/0/
513/^REPLACE_FTELL *=/s/@REPLACE_FTELL@/0/
514/^REPLACE_FTELLO *=/s/@REPLACE_FTELLO@/0/
515/^REPLACE_FTRUNCATE *=/s/@REPLACE_FTRUNCATE@/0/
516/^REPLACE_GETCWD *=/s/@REPLACE_GETCWD@/0/
517/^REPLACE_GETDELIM *=/s/@REPLACE_GETDELIM@/0/
518/^REPLACE_GETDOMAINNAME *=/s/@REPLACE_GETDOMAINNAME@/0/
519/^REPLACE_GETGROUPS *=/s/@REPLACE_GETGROUPS@/0/
520/^REPLACE_GETLINE *=/s/@REPLACE_GETLINE@/0/
521/^REPLACE_GETLOGIN_R *=/s/@REPLACE_GETLOGIN_R@/0/
522/^REPLACE_GETPAGESIZE *=/s/@REPLACE_GETPAGESIZE@/0/
523/^REPLACE_GETTIMEOFDAY *=/s/@REPLACE_GETTIMEOFDAY@/0/
524/^REPLACE_ISATTY *=/s/@REPLACE_ISATTY@/0/
525/^REPLACE_LCHOWN *=/s/@REPLACE_LCHOWN@/0/
526/^REPLACE_LINK *=/s/@REPLACE_LINK@/0/
527/^REPLACE_LINKAT *=/s/@REPLACE_LINKAT@/0/
528/^REPLACE_LOCALTIME_R *=/s/@REPLACE_LOCALTIME_R@/0/
529/^REPLACE_LSEEK *=/s/@REPLACE_LSEEK@/0/
530/^REPLACE_LSTAT *=/s/@REPLACE_LSTAT@/0/
531/^REPLACE_MALLOC *=/s/@REPLACE_MALLOC@/0/
532/^REPLACE_MBTOWC *=/s/@REPLACE_MBTOWC@/0/
533/^REPLACE_MKDIR *=/s/@REPLACE_MKDIR@/0/
534/^REPLACE_MKFIFO *=/s/@REPLACE_MKFIFO@/0/
535/^REPLACE_MKNOD *=/s/@REPLACE_MKNOD@/0/
536/^REPLACE_MKSTEMP *=/s/@REPLACE_MKSTEMP@/0/
537/^REPLACE_MKTIME *=/s/@REPLACE_MKTIME@/0/
538/^REPLACE_NANOSLEEP *=/s/@REPLACE_NANOSLEEP@/0/
539/^REPLACE_NULL *=/s/@REPLACE_NULL@/0/
540/^REPLACE_OBSTACK_PRINTF *=/s/@REPLACE_OBSTACK_PRINTF@/0/
541/^REPLACE_PERROR *=/s/@REPLACE_PERROR@/0/
542/^REPLACE_POPEN *=/s/@REPLACE_POPEN@/0/
543/^REPLACE_PREAD *=/s/@REPLACE_PREAD@/0/
544/^REPLACE_PRINTF *=/s/@REPLACE_PRINTF@/0/
545/^REPLACE_PTHREAD_SIGMASK *=/s/@REPLACE_PTHREAD_SIGMASK@/0/
546/^REPLACE_PTSNAME *=/s/@REPLACE_PTSNAME@/0/
547/^REPLACE_PSELECT *=/s/@REPLACE_PSELECT@/0/
548/^REPLACE_PTSNAME *=/s/@REPLACE_PTSNAME@/0/
549/^REPLACE_PTSNAME_R *=/s/@REPLACE_PTSNAME_R@/0/
550/^REPLACE_PUTENV *=/s/@REPLACE_PUTENV@/0/
551/^REPLACE_PWRITE *=/s/@REPLACE_PWRITE@/0/
552/^REPLACE_RANDOM_R *=/s/@REPLACE_RANDOM_R@/0/
553/^REPLACE_READ *=/s/@REPLACE_READ@/0/
554/^REPLACE_RAISE *=/s/@REPLACE_RAISE@/0/
555/^REPLACE_READLINK *=/s/@REPLACE_READLINK@/0/
556/^REPLACE_REALLOC *=/s/@REPLACE_REALLOC@/0/
557/^REPLACE_REALPATH *=/s/@REPLACE_REALPATH@/0/
558/^REPLACE_REMOVE *=/s/@REPLACE_REMOVE@/0/
559/^REPLACE_RENAME *=/s/@REPLACE_RENAME@/0/
560/^REPLACE_RENAMEAT *=/s/@REPLACE_RENAMEAT@/0/
561/^REPLACE_RMDIR *=/s/@REPLACE_RMDIR@/0/
562/^REPLACE_SETENV *=/s/@REPLACE_SETENV@/0/
563/^REPLACE_SLEEP *=/s/@REPLACE_SLEEP@/0/
564/^REPLACE_SNPRINTF *=/s/@REPLACE_SNPRINTF@/0/
565/^REPLACE_SPRINTF *=/s/@REPLACE_SPRINTF@/0/
566/^REPLACE_STAT *=/s/@REPLACE_STAT@/0/
567/^REPLACE_STDIO_READ_FUNCS *=/s/@REPLACE_STDIO_READ_FUNCS@/0/
568/^REPLACE_STDIO_WRITE_FUNCS *=/s/@REPLACE_STDIO_WRITE_FUNCS@/0/
569/^REPLACE_STRTOD *=/s/@REPLACE_STRTOD@/0/
570/^REPLACE_STRTOIMAX *=/s/@REPLACE_STRTOIMAX@/0/
571/^REPLACE_STRUCT_TIMEVAL *=/s/@REPLACE_STRUCT_TIMEVAL@/0/
572/^REPLACE_SYMLINK *=/s/@REPLACE_SYMLINK@/0/
573/^REPLACE_TIMEGM *=/s/@REPLACE_TIMEGM@/0/
574/^REPLACE_TMPFILE *=/s/@REPLACE_TMPFILE@/0/
575/^REPLACE_TTYNAME_R *=/s/@REPLACE_TTYNAME_R@/0/
576/^REPLACE_UNLINK *=/s/@REPLACE_UNLINK@/0/
577/^REPLACE_UNLINKAT *=/s/@REPLACE_UNLINKAT@/0/
578/^REPLACE_UNSETENV *=/s/@REPLACE_UNSETENV@/0/
579/^REPLACE_USLEEP *=/s/@REPLACE_USLEEP@/0/
580/^REPLACE_UTIMENSAT *=/s/@REPLACE_UTIMENSAT@/0/
581/^REPLACE_VASPRINTF *=/s/@REPLACE_VASPRINTF@/0/
582/^REPLACE_VDPRINTF *=/s/@REPLACE_VDPRINTF@/0/
583/^REPLACE_VFPRINTF *=/s/@REPLACE_VFPRINTF@/0/
584/^REPLACE_VPRINTF *=/s/@REPLACE_VPRINTF@/0/
585/^REPLACE_VSNPRINTF *=/s/@REPLACE_VSNPRINTF@/0/
586/^REPLACE_VSPRINTF *=/s/@REPLACE_VSPRINTF@/0/
587/^REPLACE_WCTOMB *=/s/@REPLACE_WCTOMB@/0/
588/^REPLACE_WRITE *=/s/@REPLACE_WRITE@/0/
589/^SIG_ATOMIC_T_SUFFIX *=/s/@SIG_ATOMIC_T_SUFFIX@// 312/^SIG_ATOMIC_T_SUFFIX *=/s/@SIG_ATOMIC_T_SUFFIX@//
590/^SIZE_T_SUFFIX *=/s/@SIZE_T_SUFFIX@/u/ 313/^SIZE_T_SUFFIX *=/s/@SIZE_T_SUFFIX@/u/
591/^ALLOCA_H *=/s/@[^@\n]*@/alloca.h/ 314/^ALLOCA_H *=/s/@[^@\n]*@/alloca.h/
315/^BYTESWAP_H *=/s/@[^@\n]*@/byteswap.h/
316/^DIRENT_H *=/s/@[^@\n]*@//
317/^ERRNO_H *=/s/@[^@\n]*@//
592/^STDBOOL_H *=/s/@[^@\n]*@// 318/^STDBOOL_H *=/s/@[^@\n]*@//
593/^STDALIGN_H *=/s/@[^@\n]*@/stdalign.h/ 319/^STDALIGN_H *=/s/@[^@\n]*@/stdalign.h/
594/^STDARG_H *=/s/@[^@\n]*@// 320/^STDARG_H *=/s/@[^@\n]*@//
@@ -598,21 +324,32 @@ am__cd = cd
598/^TIME_H_DEFINES_STRUCT_TIMESPEC *=/s/@[^@\n]*@/0/ 324/^TIME_H_DEFINES_STRUCT_TIMESPEC *=/s/@[^@\n]*@/0/
599/^UNISTD_H_HAVE_WINSOCK2_H *=/s/@[^@\n]*@/0/ 325/^UNISTD_H_HAVE_WINSOCK2_H *=/s/@[^@\n]*@/0/
600/^UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS *=/s/@[^@\n]*@/0/ 326/^UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS *=/s/@[^@\n]*@/0/
327/^UNDEFINE_STRTOK_R *=/s/@UNDEFINE_STRTOK_R@/0/
601/^WCHAR_T_SUFFIX *=/s/@WCHAR_T_SUFFIX@/h/ 328/^WCHAR_T_SUFFIX *=/s/@WCHAR_T_SUFFIX@/h/
602/^WINT_T_SUFFIX *=/s/@WINT_T_SUFFIX@// 329/^WINT_T_SUFFIX *=/s/@WINT_T_SUFFIX@//
603/^WINDOWS_64_BIT_OFF_T *=/s/@WINDOWS_64_BIT_OFF_T@/0/ 330/^WINDOWS_64_BIT_OFF_T *=/s/@WINDOWS_64_BIT_OFF_T@/0/
604/^WINDOWS_64_BIT_ST_SIZE *=/s/@WINDOWS_64_BIT_ST_SIZE@/0/ 331/^WINDOWS_64_BIT_ST_SIZE *=/s/@WINDOWS_64_BIT_ST_SIZE@/0/
605/am__append_1 *=.*gettext\.h/s/@[^@\n]*@/\#/ 332# Tailor lists of files to what we need
333/am__append_[1-9][0-9]* *=.*gettext\.h/s/@[^@\n]*@/\#/
606/am__append_2 *=.*verify\.h/s/@[^@\n]*@// 334/am__append_2 *=.*verify\.h/s/@[^@\n]*@//
607/^gl_LIBOBJS *=/s/@[^@\n]*@/getopt.o getopt1.o strftime.o time_r.o getloadavg.o pthread_sigmask.o/ 335/^@gl_GNULIB_ENABLED_tempname_TRUE@/s/@[^@\n]*@//
608/^BUILT_SOURCES *=/s/ *inttypes\.h// 336/^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/
609/^BUILT_SOURCES *=/,/^[^ ]/{ 337/^am__append_[1-9][0-9]* *=/,/^[^ ]/{
338 s/ *inttypes\.h//
610 s| *sys/select\.h|| 339 s| *sys/select\.h||
611 s| *sys/time\.h|| 340 s| *sys/time\.h||
612} 341}
613/^am_libgnu_a_OBJECTS *=/,/^[^ ]/{ 342/^am_libgnu_a_OBJECTS *=/,/^[^ ]/{
614 s/allocator\.\$(OBJEXT) // 343 s/allocator\.\$(OBJEXT) //
344 s/binary-io\.\$(OBJEXT) //
615 s/careadlinkat\.\$(OBJEXT) // 345 s/careadlinkat\.\$(OBJEXT) //
346 s/pipe2\.\$(OBJEXT) //
347 s/acl-errno-valid\.\$(OBJEXT) //
348 s/file-has-acl\.\$(OBJEXT) //
349 s/qcopy-acl\.\$(OBJEXT) //
350 s/qset-acl\.\$(OBJEXT) //
351 s/openat-die\.\$(OBJEXT) //
352 s/save-cwd\.\$(OBJEXT) //
616} 353}
617/^srcdir *=/s/@[^@\n]*@/./ 354/^srcdir *=/s/@[^@\n]*@/./
618/^top_srcdir *=/s/@[^@\n]*@/../ 355/^top_srcdir *=/s/@[^@\n]*@/../
@@ -623,7 +360,7 @@ s/@PRAGMA_COLUMNS@//
623# Delete the recipes we don't want to get in our way. 360# Delete the recipes we don't want to get in our way.
624/^\$(srcdir)\/Makefile\.in:/,/^[ ][ ]*\$(AUTOMAKE)/d 361/^\$(srcdir)\/Makefile\.in:/,/^[ ][ ]*\$(AUTOMAKE)/d
625/^Makefile:/,/^[ ][ ]*esac/d 362/^Makefile:/,/^[ ][ ]*esac/d
626/^\$(top_srcdir)\/configure:/,/^\$(ACLOCAL_M4)/d 363/^\$(top_srcdir)\/configure:/,/^\$(am__aclocal_m4_deps):/d
627/^\$(top_builddir)\/config.status:/,/^$/d 364/^\$(top_builddir)\/config.status:/,/^$/d
628# 365#
629# Remove the dependencies on $(top_builddir)/config.status 366# Remove the dependencies on $(top_builddir)/config.status
@@ -640,16 +377,22 @@ s/^@am__fastdepCC_FALSE@/\#/
640# Fix the *-clean rules, to not use a Unixy `test' command. Empty 377# Fix the *-clean rules, to not use a Unixy `test' command. Empty
641# lists are replaced with a dummy file, to avoid an error message from 378# lists are replaced with a dummy file, to avoid an error message from
642# "rm -f" with no arguments. 379# "rm -f" with no arguments.
380/^CLEANFILES *= *$/c\
381CLEANFILES = xyzzy
643/^CONFIG_CLEAN_FILES *= *$/c\ 382/^CONFIG_CLEAN_FILES *= *$/c\
644CONFIG_CLEAN_FILES = xyzzy 383CONFIG_CLEAN_FILES = xyzzy
645/^CONFIG_CLEAN_VPATH_FILES *= *$/c\ 384/^CONFIG_CLEAN_VPATH_FILES *= *$/c\
646CONFIG_CLEAN_VPATH_FILES = xyzzy 385CONFIG_CLEAN_VPATH_FILES = xyzzy
647s/^ -*test -z.*|| rm/ -rm/ 386s/^ -*test -z.*|| rm/ -rm/
648s/@echo /@djecho/ 387s/@echo /@djecho /
649# 388#
650# Fix the recipes for header files 389# Fix the recipes for header files
651s/^@GL_GENERATE_ALLOCA_H_TRUE@// 390s/^@GL_GENERATE_ALLOCA_H_TRUE@//
652s/^@GL_GENERATE_ALLOCA_H_FALSE@/\#/ 391s/^@GL_GENERATE_ALLOCA_H_FALSE@/\#/
392s/^@GL_GENERATE_BYTESWAP_H_TRUE@//
393s/^@GL_GENERATE_BYTESWAP_H_FALSE@/\#/
394s/^@GL_GENERATE_ERRNO_H_TRUE@/\#/
395s/^@GL_GENERATE_ERRNO_H_FALSE@//
653s/^@GL_GENERATE_EXECINFO_H_TRUE@// 396s/^@GL_GENERATE_EXECINFO_H_TRUE@//
654s/^@GL_GENERATE_EXECINFO_H_FALSE@/\#/ 397s/^@GL_GENERATE_EXECINFO_H_FALSE@/\#/
655s/^@GL_GENERATE_STDBOOL_H_TRUE@/\#/ 398s/^@GL_GENERATE_STDBOOL_H_TRUE@/\#/
@@ -688,7 +431,16 @@ s/\.in-h\; *\\$/.in-h >> $@-t/
688/^unistd\.h:/,/^ [ ]*mv /{ 431/^unistd\.h:/,/^ [ ]*mv /{
689 s/'\; \\ *$/' >> $@-t/ 432 s/'\; \\ *$/' >> $@-t/
690} 433}
434/^string\.h:/,/^ [ ]*mv /{
435 s/'\; \\ *$/' >> $@-t/
436 /< \$(srcdir)\/string\.in-h >>/d
437}
691s!\$(MKDIR_P)[ ][ ]*sys!command.com /c "if not exist sys\\stat.h md sys"! 438s!\$(MKDIR_P)[ ][ ]*sys!command.com /c "if not exist sys\\stat.h md sys"!
692/^ @for dir in/,/^[^ ]/c\ 439/^ @for dir in/,/^[^ ]/c\
693 -rm -rf $(MOSTLYCLEANDIRS) 440 -rm -rf $(MOSTLYCLEANDIRS)
694/^ *-test . /d 441/^ *-test . /d
442#
443# Fix the Automake verbosity stuff
444/^ *\$(AM_V_at)/s/\$(AM_V_at)//
445/^ *\$(AM_V_AR)/s/\$(AM_V_AR)//
446/^ *\$(AM_V_CC)/s/\$(AM_V_CC)//
diff --git a/msdos/sedlisp.inp b/msdos/sedlisp.inp
index caf8e0c5497..332630c4dc2 100644
--- a/msdos/sedlisp.inp
+++ b/msdos/sedlisp.inp
@@ -19,8 +19,9 @@
19/^SHELL *=/i\ 19/^SHELL *=/i\
20export FNCASE=y 20export FNCASE=y
21 21
22/^SHELL *=/s|@SHELL@|/bin/sh|
22/^lisp *=/s|\$(srcdir)|$(CURDIR)| 23/^lisp *=/s|\$(srcdir)|$(CURDIR)|
23/^srcdir *=/s|@srcdir@|.| 24/^srcdir *=/s|@srcdir@|.|
24/^top_srcdir *=/s|@top_srcdir@|./..| 25/^top_srcdir *=/s|@top_srcdir@|./..|
25/^abs_top_builddir *=/s|@abs_top_builddir@|$(CURDIR)/..| 26/^XARGS_LIMIT *=/s|@XARGS_LIMIT@||
26 27
diff --git a/src/ChangeLog b/src/ChangeLog
index 118ca723a5d..b3cc3ff32ec 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,100 @@
12014-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * window.c (save_window_save): Lookup window_point_insertion_type in
4 the right buffer (bug#15457).
5 (Qwindow_point_insertion_type): New var.
6 (syms_of_window): Initialize it.
7
82014-04-16 Eli Zaretskii <eliz@gnu.org>
9
10 * unexcoff.c [MSDOS]: Include libc/atexit.h.
11 (copy_text_and_data): Zero out the atexit chain pointer before
12 dumping Emacs.
13
14 * termhooks.h (encode_terminal_code): Update prototype.
15
16 * term.c (encode_terminal_code) [DOS_NT]: Make it externally
17 visible for all DOS_NT ports, not just WINDOWSNT.
18 (syms_of_term) [!MSDOS]: Don't define 'tty-menu-*' symbols on MSDOS.
19
20 * sysdep.c (emacs_sigaction_init, init_signals): Don't use SIGCHLD
21 unless it is defined.
22 (emacs_pipe) [MSDOS]: Redirect to 'pipe'.
23
24 * process.c (close_on_exec, accept4, process_socket): Move into
25 the "ifdef subprocesses" part.
26 (catch_child_signal): Condition by "ifdef subprocesses".
27 (syms_of_process) <Qinternal_default_process_sentinel>
28 <Qinternal_default_process_filter>: Condition by "ifdef subprocesses".
29
30 * msdos.h: Add prototypes for new functions.
31 (EINPROGRESS): Define.
32 (O_CLOEXEC): Define to zero.
33
34 * msdos.c (check_window_system): Remove unnecessary an
35 incompatible duplicate function.
36 (sys_opendir, readlinkat, faccessat, fstatat, unsetenv):
37 New functions in support of new functionality.
38
39 * menu.c (single_menu_item): Add visual indication of submenu
40 also for menus on MSDOS frames.
41 (Fx_popup_menu) [!MSDOS]: Do not call tty_menu_show on MSDOS.
42
43 * lisp.h (CHECK_PROCESS) [!subprocesses]: Do not define
44 when async subprocesses aren't supported.
45
46 * font.h (FONT_WIDTH) [MSDOS]: MSDOS-specific definition.
47
48 * emacs.c (close_output_streams): Zero out errno before calling
49 close_stream.
50
51 * dired.c [MSDOS]: Include msdos.h.
52
53 * conf_post.h (opendir) [MSDOS]: Redirect to sys_opendir.
54 (DATA_START) [MSDOS]: Define.
55 (SYSTEM_PURESIZE_EXTRA) [MSDOS]: Enlarge by 25K.
56
57 * callproc.c (block_child_signal, unblock_child_signal) [MSDOS]:
58 Ifdef away for MSDOS.
59 (record_kill_process) [MSDOS]: Ifdef away the entire body for MSDOS.
60 (call_process_cleanup) [MSDOS]: Ifdef away portions not relevant
61 for MSDOS.
62 (call_process) [MSDOS]: Fix call sequence of dostounix_filename.
63 Use temporary file template that is compatible with mkostemp.
64 Move vfork-related portions under #ifndef MSDOS.
65 (syms_of_callproc): Unify templates of MSDOS and WINDOWSNT.
66
672014-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
68
69 * buffer.c (Foverlays_at): Add argument `sorted'.
70
712014-04-16 Eli Zaretskii <eliz@gnu.org>
72
73 * insdel.c (invalidate_buffer_caches): When deleting or replacing
74 text, invalidate the bidi_paragraph_cache upto and including the
75 preceding newline.
76
772014-04-16 Paul Eggert <eggert@cs.ucla.edu>
78
79 Port to IRIX 6.5 (Bug#9684).
80 * conf_post.h (INET6) [IRIX6_5]: Define.
81 (HAVE_GETADDRINFO) [IRIX6_5]: Undef.
82 * data.c (BITS_PER_ULL): Don't assume ULLONG_MAX is defined.
83
842014-04-16 Eli Zaretskii <eliz@gnu.org>
85
86 * keyboard.c (Fopen_dribble_file): Encode the dribble file-name
87 before passing it to system APIs.
88
892014-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
90
91 * bytecode.c (exec_byte_code): Rework the volatiles. Most importantly,
92 make sure stack.byte_string_start is not de-adjusted by pushhandler.
93
942014-04-16 Paul Eggert <eggert@cs.ucla.edu>
95
96 * keyboard.c (Fopen_dribble_file): Avoid some races. (Bug#17187)
97
12014-04-15 Paul Eggert <eggert@cs.ucla.edu> 982014-04-15 Paul Eggert <eggert@cs.ucla.edu>
2 99
3 Remove DATA_SEG_BITS. 100 Remove DATA_SEG_BITS.
@@ -280,7 +377,7 @@
280 (adjust_after_replace): 377 (adjust_after_replace):
281 (replace_range): Pass value for new record_markers arg to 378 (replace_range): Pass value for new record_markers arg to
282 delete_record. 379 delete_record.
283 * undo.c (record_marker_adjustment): Renamed to 380 * undo.c (record_marker_adjustment): Rename to
284 record_marker_adjustments and made static. 381 record_marker_adjustments and made static.
285 (record_delete): Check record_markers arg and call 382 (record_delete): Check record_markers arg and call
286 record_marker_adjustments. 383 record_marker_adjustments.
diff --git a/src/alloc.c b/src/alloc.c
index 8b7c8aab535..6bee0c990c4 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -2685,7 +2685,9 @@ DEFUN ("make-list", Fmake_list, Smake_list, 2, 2, 0,
2685 ***********************************************************************/ 2685 ***********************************************************************/
2686 2686
2687/* Sometimes a vector's contents are merely a pointer internally used 2687/* Sometimes a vector's contents are merely a pointer internally used
2688 in vector allocation code. Usually you don't want to touch this. */ 2688 in vector allocation code. On the rare platforms where a null
2689 pointer cannot be tagged, represent it with a Lisp 0.
2690 Usually you don't want to touch this. */
2689 2691
2690static struct Lisp_Vector * 2692static struct Lisp_Vector *
2691next_vector (struct Lisp_Vector *v) 2693next_vector (struct Lisp_Vector *v)
diff --git a/src/buffer.c b/src/buffer.c
index a22c6d7dd54..6a1a74ac1ec 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -4163,9 +4163,10 @@ OVERLAY. */)
4163} 4163}
4164 4164
4165 4165
4166DEFUN ("overlays-at", Foverlays_at, Soverlays_at, 1, 1, 0, 4166DEFUN ("overlays-at", Foverlays_at, Soverlays_at, 1, 2, 0,
4167 doc: /* Return a list of the overlays that contain the character at POS. */) 4167 doc: /* Return a list of the overlays that contain the character at POS.
4168 (Lisp_Object pos) 4168If SORTED is non-nil, then sort them by decreasing priority. */)
4169 (Lisp_Object pos, Lisp_Object sorted)
4169{ 4170{
4170 ptrdiff_t len, noverlays; 4171 ptrdiff_t len, noverlays;
4171 Lisp_Object *overlay_vec; 4172 Lisp_Object *overlay_vec;
@@ -4185,6 +4186,10 @@ DEFUN ("overlays-at", Foverlays_at, Soverlays_at, 1, 1, 0,
4185 noverlays = overlays_at (XINT (pos), 1, &overlay_vec, &len, 4186 noverlays = overlays_at (XINT (pos), 1, &overlay_vec, &len,
4186 NULL, NULL, 0); 4187 NULL, NULL, 0);
4187 4188
4189 if (!NILP (sorted))
4190 noverlays = sort_overlays (overlay_vec, noverlays,
4191 WINDOWP (sorted) ? XWINDOW (sorted) : NULL);
4192
4188 /* Make a list of them all. */ 4193 /* Make a list of them all. */
4189 result = Flist (noverlays, overlay_vec); 4194 result = Flist (noverlays, overlay_vec);
4190 4195
diff --git a/src/bytecode.c b/src/bytecode.c
index 0ea646a9741..f1bdfd9d9c5 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -501,7 +501,6 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
501 Lisp_Object args_template, ptrdiff_t nargs, Lisp_Object *args) 501 Lisp_Object args_template, ptrdiff_t nargs, Lisp_Object *args)
502{ 502{
503 ptrdiff_t count = SPECPDL_INDEX (); 503 ptrdiff_t count = SPECPDL_INDEX ();
504 ptrdiff_t volatile count_volatile;
505#ifdef BYTE_CODE_METER 504#ifdef BYTE_CODE_METER
506 int volatile this_op = 0; 505 int volatile this_op = 0;
507 int prev_op; 506 int prev_op;
@@ -509,14 +508,12 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
509 int op; 508 int op;
510 /* Lisp_Object v1, v2; */ 509 /* Lisp_Object v1, v2; */
511 Lisp_Object *vectorp; 510 Lisp_Object *vectorp;
512 Lisp_Object *volatile vectorp_volatile;
513#ifdef BYTE_CODE_SAFE 511#ifdef BYTE_CODE_SAFE
514 ptrdiff_t volatile const_length; 512 ptrdiff_t const_length;
515 Lisp_Object *volatile stacke; 513 Lisp_Object *stacke;
516 ptrdiff_t volatile bytestr_length; 514 ptrdiff_t bytestr_length;
517#endif 515#endif
518 struct byte_stack stack; 516 struct byte_stack stack;
519 struct byte_stack volatile stack_volatile;
520 Lisp_Object *top; 517 Lisp_Object *top;
521 Lisp_Object result; 518 Lisp_Object result;
522 enum handlertype type; 519 enum handlertype type;
@@ -1122,9 +1119,6 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
1122 PUSH_HANDLER (c, tag, type); 1119 PUSH_HANDLER (c, tag, type);
1123 c->bytecode_dest = dest; 1120 c->bytecode_dest = dest;
1124 c->bytecode_top = top; 1121 c->bytecode_top = top;
1125 count_volatile = count;
1126 stack_volatile = stack;
1127 vectorp_volatile = vectorp;
1128 1122
1129 if (sys_setjmp (c->jmp)) 1123 if (sys_setjmp (c->jmp))
1130 { 1124 {
@@ -1135,12 +1129,11 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
1135 handlerlist = c->next; 1129 handlerlist = c->next;
1136 PUSH (c->val); 1130 PUSH (c->val);
1137 CHECK_RANGE (dest); 1131 CHECK_RANGE (dest);
1138 stack = stack_volatile; 1132 /* Might have been re-set by longjmp! */
1133 stack.byte_string_start = SDATA (stack.byte_string);
1139 stack.pc = stack.byte_string_start + dest; 1134 stack.pc = stack.byte_string_start + dest;
1140 } 1135 }
1141 1136
1142 count = count_volatile;
1143 vectorp = vectorp_volatile;
1144 NEXT; 1137 NEXT;
1145 } 1138 }
1146 1139
diff --git a/src/callproc.c b/src/callproc.c
index 2147c173655..a2c52e5b5ba 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -105,6 +105,8 @@ enum
105 105
106static Lisp_Object call_process (ptrdiff_t, Lisp_Object *, int, ptrdiff_t); 106static Lisp_Object call_process (ptrdiff_t, Lisp_Object *, int, ptrdiff_t);
107 107
108
109#ifndef MSDOS
108/* Block SIGCHLD. */ 110/* Block SIGCHLD. */
109 111
110void 112void
@@ -124,6 +126,8 @@ unblock_child_signal (sigset_t const *oldset)
124 pthread_sigmask (SIG_SETMASK, oldset, 0); 126 pthread_sigmask (SIG_SETMASK, oldset, 0);
125} 127}
126 128
129#endif /* !MSDOS */
130
127/* Return the current buffer's working directory, or the home 131/* Return the current buffer's working directory, or the home
128 directory if it's unreachable, as a string suitable for a system call. 132 directory if it's unreachable, as a string suitable for a system call.
129 Signal an error if the result would not be an accessible directory. */ 133 Signal an error if the result would not be an accessible directory. */
@@ -162,6 +166,7 @@ encode_current_directory (void)
162void 166void
163record_kill_process (struct Lisp_Process *p, Lisp_Object tempfile) 167record_kill_process (struct Lisp_Process *p, Lisp_Object tempfile)
164{ 168{
169#ifndef MSDOS
165 sigset_t oldset; 170 sigset_t oldset;
166 block_child_signal (&oldset); 171 block_child_signal (&oldset);
167 172
@@ -173,6 +178,7 @@ record_kill_process (struct Lisp_Process *p, Lisp_Object tempfile)
173 } 178 }
174 179
175 unblock_child_signal (&oldset); 180 unblock_child_signal (&oldset);
181#endif /* !MSDOS */
176} 182}
177 183
178/* Clean up files, file descriptors and processes created by Fcall_process. */ 184/* Clean up files, file descriptors and processes created by Fcall_process. */
@@ -212,6 +218,7 @@ call_process_cleanup (Lisp_Object buffer)
212{ 218{
213 Fset_buffer (buffer); 219 Fset_buffer (buffer);
214 220
221#ifndef MSDOS
215 if (synch_process_pid) 222 if (synch_process_pid)
216 { 223 {
217 kill (-synch_process_pid, SIGINT); 224 kill (-synch_process_pid, SIGINT);
@@ -223,6 +230,7 @@ call_process_cleanup (Lisp_Object buffer)
223 immediate_quit = 0; 230 immediate_quit = 0;
224 message1 ("Waiting for process to die...done"); 231 message1 ("Waiting for process to die...done");
225 } 232 }
233#endif /* !MSDOS */
226} 234}
227 235
228#ifdef DOS_NT 236#ifdef DOS_NT
@@ -520,10 +528,10 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd,
520 char const *outf = tmpdir ? tmpdir : ""; 528 char const *outf = tmpdir ? tmpdir : "";
521 tempfile = alloca (strlen (outf) + 20); 529 tempfile = alloca (strlen (outf) + 20);
522 strcpy (tempfile, outf); 530 strcpy (tempfile, outf);
523 dostounix_filename (tempfile, 0); 531 dostounix_filename (tempfile);
524 if (*tempfile == '\0' || tempfile[strlen (tempfile) - 1] != '/') 532 if (*tempfile == '\0' || tempfile[strlen (tempfile) - 1] != '/')
525 strcat (tempfile, "/"); 533 strcat (tempfile, "/");
526 strcat (tempfile, "detmp.XXX"); 534 strcat (tempfile, "emXXXXXX");
527 mktemp (tempfile); 535 mktemp (tempfile);
528 if (!*tempfile) 536 if (!*tempfile)
529 report_file_error ("Opening process output file", Qnil); 537 report_file_error ("Opening process output file", Qnil);
@@ -712,8 +720,6 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd,
712 unblock_child_signal (&oldset); 720 unblock_child_signal (&oldset);
713 unblock_input (); 721 unblock_input ();
714 722
715#endif /* not MSDOS */
716
717 if (pid < 0) 723 if (pid < 0)
718 report_file_errno ("Doing vfork", Qnil, child_errno); 724 report_file_errno ("Doing vfork", Qnil, child_errno);
719 725
@@ -728,6 +734,8 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd,
728 emacs_close (filefd); 734 emacs_close (filefd);
729 clear_unwind_protect (count - 1); 735 clear_unwind_protect (count - 1);
730 736
737#endif /* not MSDOS */
738
731 if (INTEGERP (buffer)) 739 if (INTEGERP (buffer))
732 return unbind_to (count, Qnil); 740 return unbind_to (count, Qnil);
733 741
@@ -1674,10 +1682,8 @@ syms_of_callproc (void)
1674{ 1682{
1675#ifndef DOS_NT 1683#ifndef DOS_NT
1676 Vtemp_file_name_pattern = build_string ("emacsXXXXXX"); 1684 Vtemp_file_name_pattern = build_string ("emacsXXXXXX");
1677#elif defined (WINDOWSNT) 1685#else /* DOS_NT */
1678 Vtemp_file_name_pattern = build_string ("emXXXXXX"); 1686 Vtemp_file_name_pattern = build_string ("emXXXXXX");
1679#else
1680 Vtemp_file_name_pattern = build_string ("detmp.XXX");
1681#endif 1687#endif
1682 staticpro (&Vtemp_file_name_pattern); 1688 staticpro (&Vtemp_file_name_pattern);
1683 1689
diff --git a/src/conf_post.h b/src/conf_post.h
index 05abe057afd..e9101ce1c57 100644
--- a/src/conf_post.h
+++ b/src/conf_post.h
@@ -95,7 +95,8 @@ typedef bool bool_bf;
95#ifdef emacs 95#ifdef emacs
96char *_getpty(); 96char *_getpty();
97#endif 97#endif
98 98#define INET6 /* Needed for struct sockaddr_in6. */
99#undef HAVE_GETADDRINFO /* IRIX has getaddrinfo but not struct addrinfo. */
99#endif /* IRIX6_5 */ 100#endif /* IRIX6_5 */
100 101
101#ifdef MSDOS 102#ifdef MSDOS
@@ -116,6 +117,11 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
116#else 117#else
117# define lstat stat 118# define lstat stat
118#endif 119#endif
120
121/* We must intercept 'opendir' calls to stash away the directory name,
122 so we could reuse it in realinkat, see msdos.c. */
123#define opendir sys_opendir
124
119/* The "portable" definition of _GL_INLINE on config.h does not work 125/* The "portable" definition of _GL_INLINE on config.h does not work
120 with DJGPP GCC 3.4.4: it causes unresolved externals in sysdep.c, 126 with DJGPP GCC 3.4.4: it causes unresolved externals in sysdep.c,
121 although lib/execinfo.h is included and the inline functions there 127 although lib/execinfo.h is included and the inline functions there
@@ -127,6 +133,9 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
127 133
128#define emacs_raise(sig) msdos_fatal_signal (sig) 134#define emacs_raise(sig) msdos_fatal_signal (sig)
129 135
136/* DATA_START is needed by vm-limit.c and unexcoff.c. */
137#define DATA_START (&etext + 1)
138
130/* Define one of these for easier conditionals. */ 139/* Define one of these for easier conditionals. */
131#ifdef HAVE_X_WINDOWS 140#ifdef HAVE_X_WINDOWS
132/* We need a little extra space, see ../../lisp/loadup.el and the 141/* We need a little extra space, see ../../lisp/loadup.el and the
@@ -143,7 +152,7 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
143 directory tree). Given the unknown policy of different DPMI 152 directory tree). Given the unknown policy of different DPMI
144 hosts regarding loading of untouched pages, I'm not going to risk 153 hosts regarding loading of untouched pages, I'm not going to risk
145 enlarging Emacs footprint by another 100+ KBytes. */ 154 enlarging Emacs footprint by another 100+ KBytes. */
146#define SYSTEM_PURESIZE_EXTRA (-170000+65000) 155#define SYSTEM_PURESIZE_EXTRA (-170000+90000)
147#endif 156#endif
148#endif /* MSDOS */ 157#endif /* MSDOS */
149 158
diff --git a/src/data.c b/src/data.c
index dd220987fd7..965ddd215f5 100644
--- a/src/data.c
+++ b/src/data.c
@@ -2987,7 +2987,7 @@ bool_vector_spare_mask (EMACS_INT nr_bits)
2987/* Info about unsigned long long, falling back on unsigned long 2987/* Info about unsigned long long, falling back on unsigned long
2988 if unsigned long long is not available. */ 2988 if unsigned long long is not available. */
2989 2989
2990#if HAVE_UNSIGNED_LONG_LONG_INT 2990#if HAVE_UNSIGNED_LONG_LONG_INT && defined ULLONG_MAX
2991enum { BITS_PER_ULL = CHAR_BIT * sizeof (unsigned long long) }; 2991enum { BITS_PER_ULL = CHAR_BIT * sizeof (unsigned long long) };
2992# define ULL_MAX ULLONG_MAX 2992# define ULL_MAX ULLONG_MAX
2993#else 2993#else
diff --git a/src/dired.c b/src/dired.c
index d8da45bf776..d3fe5b4943d 100644
--- a/src/dired.c
+++ b/src/dired.c
@@ -47,6 +47,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
47#include "regex.h" 47#include "regex.h"
48#include "blockinput.h" 48#include "blockinput.h"
49 49
50#ifdef MSDOS
51#include "msdos.h" /* for fstatat */
52#endif
53
50static Lisp_Object Qdirectory_files; 54static Lisp_Object Qdirectory_files;
51static Lisp_Object Qdirectory_files_and_attributes; 55static Lisp_Object Qdirectory_files_and_attributes;
52static Lisp_Object Qfile_name_completion; 56static Lisp_Object Qfile_name_completion;
diff --git a/src/emacs.c b/src/emacs.c
index deebb2280c7..9cfc09469c2 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -690,6 +690,11 @@ void (*__malloc_initialize_hook) (void) EXTERNALLY_VISIBLE = malloc_initialize_h
690static void 690static void
691close_output_streams (void) 691close_output_streams (void)
692{ 692{
693 int err = errno;
694
695 /* close_stream checks errno, so make sure it doesn't inherit some
696 random value. */
697 errno = 0;
693 if (close_stream (stdout) != 0) 698 if (close_stream (stdout) != 0)
694 { 699 {
695 emacs_perror ("Write error to standard output"); 700 emacs_perror ("Write error to standard output");
@@ -698,6 +703,8 @@ close_output_streams (void)
698 703
699 if (close_stream (stderr) != 0) 704 if (close_stream (stderr) != 0)
700 _exit (EXIT_FAILURE); 705 _exit (EXIT_FAILURE);
706
707 errno = err;
701} 708}
702 709
703/* ARGSUSED */ 710/* ARGSUSED */
diff --git a/src/font.h b/src/font.h
index 93d514fe665..e2e36460583 100644
--- a/src/font.h
+++ b/src/font.h
@@ -236,7 +236,11 @@ enum font_property_index
236#define FONT_SET_STYLE(font, prop, val) \ 236#define FONT_SET_STYLE(font, prop, val) \
237 ASET ((font), prop, make_number (font_style_to_value (prop, val, true))) 237 ASET ((font), prop, make_number (font_style_to_value (prop, val, true)))
238 238
239#ifndef MSDOS
239#define FONT_WIDTH(f) ((f)->max_width) 240#define FONT_WIDTH(f) ((f)->max_width)
241#else
242#define FONT_WIDTH(f) 1
243#endif
240#define FONT_HEIGHT(f) ((f)->height) 244#define FONT_HEIGHT(f) ((f)->height)
241#define FONT_BASE(f) ((f)->ascent) 245#define FONT_BASE(f) ((f)->ascent)
242#define FONT_DESCENT(f) ((f)->descent) 246#define FONT_DESCENT(f) ((f)->descent)
diff --git a/src/insdel.c b/src/insdel.c
index 15cdaf6f910..82896758a15 100644
--- a/src/insdel.c
+++ b/src/insdel.c
@@ -1858,9 +1858,35 @@ invalidate_buffer_caches (struct buffer *buf, ptrdiff_t start, ptrdiff_t end)
1858 buf->width_run_cache, 1858 buf->width_run_cache,
1859 start - BUF_BEG (buf), BUF_Z (buf) - end); 1859 start - BUF_BEG (buf), BUF_Z (buf) - end);
1860 if (buf->bidi_paragraph_cache) 1860 if (buf->bidi_paragraph_cache)
1861 invalidate_region_cache (buf, 1861 {
1862 buf->bidi_paragraph_cache, 1862 if (start != end
1863 start - BUF_BEG (buf), BUF_Z (buf) - end); 1863 && start > BUF_BEG (buf))
1864 {
1865 /* If we are deleting or replacing characters, we could
1866 create a paragraph start, because all of the characters
1867 from START to the beginning of START's line are
1868 whitespace. Therefore, we must extend the region to be
1869 invalidated up to the newline before START. */
1870 ptrdiff_t line_beg = start;
1871 ptrdiff_t start_byte = buf_charpos_to_bytepos (buf, start);
1872
1873 if (BUF_FETCH_BYTE (buf, start_byte - 1) != '\n')
1874 {
1875 struct buffer *old = current_buffer;
1876
1877 set_buffer_internal (buf);
1878
1879 line_beg = find_newline_no_quit (start, start_byte, -1,
1880 &start_byte);
1881 set_buffer_internal (old);
1882 }
1883 if (line_beg > BUF_BEG (buf))
1884 start = line_beg - 1;
1885 }
1886 invalidate_region_cache (buf,
1887 buf->bidi_paragraph_cache,
1888 start - BUF_BEG (buf), BUF_Z (buf) - end);
1889 }
1864} 1890}
1865 1891
1866/* These macros work with an argument named `preserve_ptr' 1892/* These macros work with an argument named `preserve_ptr'
diff --git a/src/keyboard.c b/src/keyboard.c
index ddfbc9a567b..678cf5abcbd 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -10084,16 +10084,13 @@ This may include sensitive information such as passwords. */)
10084 if (!NILP (file)) 10084 if (!NILP (file))
10085 { 10085 {
10086 int fd; 10086 int fd;
10087 Lisp_Object encfile;
10088
10087 file = Fexpand_file_name (file, Qnil); 10089 file = Fexpand_file_name (file, Qnil);
10088 /* This isn't robust, since eg file could be created after we 10090 encfile = ENCODE_FILE (file);
10089 check whether it exists but before emacs_open. 10091 fd = emacs_open (SSDATA (encfile), O_WRONLY | O_CREAT | O_EXCL, 0600);
10090 Feel free to improve it, but this is not critical. (Bug#17187) */ 10092 if (fd < 0 && errno == EEXIST && unlink (SSDATA (encfile)) == 0)
10091 if (! NILP (Ffile_exists_p (file))) 10093 fd = emacs_open (SSDATA (encfile), O_WRONLY | O_CREAT | O_EXCL, 0600);
10092 {
10093 if (chmod (SSDATA (file), 0600) < 0)
10094 report_file_error ("Doing chmod", file);
10095 }
10096 fd = emacs_open (SSDATA (file), O_WRONLY | O_CREAT | O_TRUNC, 0600);
10097 dribble = fd < 0 ? 0 : fdopen (fd, "w"); 10094 dribble = fd < 0 ? 0 : fdopen (fd, "w");
10098 if (dribble == 0) 10095 if (dribble == 0)
10099 report_file_error ("Opening dribble", file); 10096 report_file_error ("Opening dribble", file);
diff --git a/src/lisp.h b/src/lisp.h
index 3e4ab174546..6ef0f83aea4 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -2527,11 +2527,13 @@ CHECK_WINDOW (Lisp_Object x)
2527{ 2527{
2528 CHECK_TYPE (WINDOWP (x), Qwindowp, x); 2528 CHECK_TYPE (WINDOWP (x), Qwindowp, x);
2529} 2529}
2530#ifdef subprocesses
2530INLINE void 2531INLINE void
2531CHECK_PROCESS (Lisp_Object x) 2532CHECK_PROCESS (Lisp_Object x)
2532{ 2533{
2533 CHECK_TYPE (PROCESSP (x), Qprocessp, x); 2534 CHECK_TYPE (PROCESSP (x), Qprocessp, x);
2534} 2535}
2536#endif
2535INLINE void 2537INLINE void
2536CHECK_NATNUM (Lisp_Object x) 2538CHECK_NATNUM (Lisp_Object x)
2537{ 2539{
@@ -4136,7 +4138,6 @@ extern bool running_asynch_code;
4136 4138
4137/* Defined in process.c. */ 4139/* Defined in process.c. */
4138extern Lisp_Object QCtype, Qlocal; 4140extern Lisp_Object QCtype, Qlocal;
4139extern Lisp_Object Qprocessp;
4140extern void kill_buffer_processes (Lisp_Object); 4141extern void kill_buffer_processes (Lisp_Object);
4141extern bool wait_reading_process_output (intmax_t, int, int, bool, 4142extern bool wait_reading_process_output (intmax_t, int, int, bool,
4142 Lisp_Object, 4143 Lisp_Object,
diff --git a/src/menu.c b/src/menu.c
index 9c08ff17665..468f2814eb4 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -415,7 +415,8 @@ single_menu_item (Lisp_Object key, Lisp_Object item, Lisp_Object dummy, void *sk
415 item_string = concat2 (prefix, item_string); 415 item_string = concat2 (prefix, item_string);
416 } 416 }
417 417
418 if (FRAME_TERMCAP_P (XFRAME (Vmenu_updating_frame)) 418 if ((FRAME_TERMCAP_P (XFRAME (Vmenu_updating_frame))
419 || FRAME_MSDOS_P (XFRAME (Vmenu_updating_frame)))
419 && !NILP (map)) 420 && !NILP (map))
420 /* Indicate visually that this is a submenu. */ 421 /* Indicate visually that this is a submenu. */
421 item_string = concat2 (item_string, build_string (" >")); 422 item_string = concat2 (item_string, build_string (" >"));
@@ -1442,6 +1443,7 @@ no quit occurs and `x-popup-menu' returns nil. */)
1442 keymaps, title, &error_name); 1443 keymaps, title, &error_name);
1443 else 1444 else
1444#endif 1445#endif
1446#ifndef MSDOS
1445 if (FRAME_TERMCAP_P (f)) 1447 if (FRAME_TERMCAP_P (f))
1446 { 1448 {
1447 ptrdiff_t count1 = SPECPDL_INDEX (); 1449 ptrdiff_t count1 = SPECPDL_INDEX ();
@@ -1453,6 +1455,7 @@ no quit occurs and `x-popup-menu' returns nil. */)
1453 kbd_menu_navigation, &error_name); 1455 kbd_menu_navigation, &error_name);
1454 unbind_to (count1, Qnil); 1456 unbind_to (count1, Qnil);
1455 } 1457 }
1458#endif
1456 1459
1457#ifdef HAVE_NS 1460#ifdef HAVE_NS
1458 unbind_to (specpdl_count, Qnil); 1461 unbind_to (specpdl_count, Qnil);
diff --git a/src/msdos.c b/src/msdos.c
index 6b677bb2f02..21794341222 100644
--- a/src/msdos.c
+++ b/src/msdos.c
@@ -50,6 +50,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
50#include <unistd.h> /* for chdir, dup, dup2, etc. */ 50#include <unistd.h> /* for chdir, dup, dup2, etc. */
51#include <dir.h> /* for getdisk */ 51#include <dir.h> /* for getdisk */
52#pragma pack(0) /* dir.h does a pack(4), which isn't GCC's default */ 52#pragma pack(0) /* dir.h does a pack(4), which isn't GCC's default */
53#undef opendir
54#include <dirent.h> /* for opendir */
53#include <fcntl.h> 55#include <fcntl.h>
54#include <io.h> /* for setmode */ 56#include <io.h> /* for setmode */
55#include <dpmi.h> /* for __dpmi_xxx stuff */ 57#include <dpmi.h> /* for __dpmi_xxx stuff */
@@ -1883,18 +1885,6 @@ dos_get_saved_screen (char **screen, int *rows, int *cols)
1883#endif 1885#endif
1884} 1886}
1885 1887
1886#ifndef HAVE_X_WINDOWS
1887
1888/* We are not X, but we can emulate it well enough for our needs... */
1889void
1890check_window_system (void)
1891{
1892 if (! FRAME_MSDOS_P (SELECTED_FRAME ()))
1893 error ("Not running under a window system");
1894}
1895
1896#endif
1897
1898 1888
1899/* ----------------------- Keyboard control ---------------------- 1889/* ----------------------- Keyboard control ----------------------
1900 * 1890 *
@@ -3875,6 +3865,9 @@ int setpgid (int pid, int pgid) { return 0; }
3875int setpriority (int x, int y, int z) { return 0; } 3865int setpriority (int x, int y, int z) { return 0; }
3876pid_t setsid (void) { return 0; } 3866pid_t setsid (void) { return 0; }
3877 3867
3868
3869/* Gnulib support and emulation. */
3870
3878#if __DJGPP__ == 2 && __DJGPP_MINOR__ < 4 3871#if __DJGPP__ == 2 && __DJGPP_MINOR__ < 4
3879ssize_t 3872ssize_t
3880readlink (const char *name, char *dummy1, size_t dummy2) 3873readlink (const char *name, char *dummy1, size_t dummy2)
@@ -3886,6 +3879,38 @@ readlink (const char *name, char *dummy1, size_t dummy2)
3886} 3879}
3887#endif 3880#endif
3888 3881
3882/* dir_pathname is set by sys_opendir and used in readlinkat and in
3883 fstatat, when they get a special FD of zero, which means use the
3884 last directory opened by opendir. */
3885static char dir_pathname[MAXPATHLEN];
3886DIR *
3887sys_opendir (const char *dirname)
3888{
3889 _fixpath (dirname, dir_pathname);
3890 return opendir (dirname);
3891}
3892
3893ssize_t
3894readlinkat (int fd, char const *name, char *buffer, size_t buffer_size)
3895{
3896 /* Rely on a hack: an open directory is modeled as file descriptor 0,
3897 as in fstatat. FIXME: Add proper support for readlinkat. */
3898 char fullname[MAXPATHLEN];
3899
3900 if (fd != AT_FDCWD)
3901 {
3902 if (strlen (dir_pathname) + strlen (name) + 1 >= MAXPATHLEN)
3903 {
3904 errno = ENAMETOOLONG;
3905 return -1;
3906 }
3907 sprintf (fullname, "%s/%s", dir_pathname, name);
3908 name = fullname;
3909 }
3910
3911 return readlink (name, buffer, buffer_size);
3912}
3913
3889char * 3914char *
3890careadlinkat (int fd, char const *filename, 3915careadlinkat (int fd, char const *filename,
3891 char *buffer, size_t buffer_size, 3916 char *buffer, size_t buffer_size,
@@ -3913,6 +3938,82 @@ careadlinkat (int fd, char const *filename,
3913 return buffer; 3938 return buffer;
3914} 3939}
3915 3940
3941/* Emulate faccessat(2). */
3942int
3943faccessat (int dirfd, const char * path, int mode, int flags)
3944{
3945 /* We silently ignore FLAGS. */
3946 flags = flags;
3947
3948 if (dirfd != AT_FDCWD
3949 && !(IS_DIRECTORY_SEP (path[0])
3950 || IS_DEVICE_SEP (path[1])))
3951 {
3952 errno = EBADF;
3953 return -1;
3954 }
3955
3956 return access (path, mode);
3957}
3958
3959/* Emulate fstatat. */
3960int
3961fstatat (int fd, char const *name, struct stat *st, int flags)
3962{
3963 /* Rely on a hack: an open directory is modeled as file descriptor 0.
3964 This is good enough for the current usage in Emacs, but is fragile.
3965
3966 FIXME: Add proper support for fdopendir, fstatat, readlinkat.
3967 Gnulib does this and can serve as a model. */
3968 char fullname[MAXPATHLEN];
3969
3970 flags = flags;
3971
3972 if (fd != AT_FDCWD)
3973 {
3974 char lastc = dir_pathname[strlen (dir_pathname) - 1];
3975
3976 if (strlen (dir_pathname) + strlen (name) + IS_DIRECTORY_SEP (lastc)
3977 >= MAXPATHLEN)
3978 {
3979 errno = ENAMETOOLONG;
3980 return -1;
3981 }
3982
3983 sprintf (fullname, "%s%s%s",
3984 dir_pathname, IS_DIRECTORY_SEP (lastc) ? "" : "/", name);
3985 name = fullname;
3986 }
3987
3988#if __DJGPP__ > 2 || __DJGPP_MINOR__ > 3
3989 return (flags & AT_SYMLINK_NOFOLLOW) ? lstat (name, st) : stat (name, st);
3990#else
3991 return stat (name, st);
3992#endif
3993}
3994
3995#if __DJGPP__ == 2 && __DJGPP_MINOR__ < 4
3996/* Emulate the Posix unsetenv. DJGPP v2.04 has this in the library. */
3997int
3998unsetenv (const char *name)
3999{
4000 char *var;
4001 size_t name_len;
4002 int retval;
4003
4004 if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
4005 {
4006 errno = EINVAL;
4007 return -1;
4008 }
4009
4010 /* DJGPP's 'putenv' deletes the entry if it doesn't include '='. */
4011 putenv (name);
4012
4013 return 0;
4014}
4015#endif
4016
3916 4017
3917#if __DJGPP__ == 2 && __DJGPP_MINOR__ < 2 4018#if __DJGPP__ == 2 && __DJGPP_MINOR__ < 2
3918 4019
@@ -4038,7 +4139,7 @@ dos_yield_time_slice (void)
4038/* We don't have to call timer_check here 4139/* We don't have to call timer_check here
4039 because wait_reading_process_output takes care of that. */ 4140 because wait_reading_process_output takes care of that. */
4040int 4141int
4041sys_select (int nfds, SELECT_TYPE *rfds, SELECT_TYPE *wfds, SELECT_TYPE *efds, 4142sys_select (int nfds, fd_set *rfds, fd_set *wfds, fd_set *efds,
4042 struct timespec *timeout, void *ignored) 4143 struct timespec *timeout, void *ignored)
4043{ 4144{
4044 int check_input; 4145 int check_input;
diff --git a/src/msdos.h b/src/msdos.h
index 5d5f5df091f..e863c7cea4e 100644
--- a/src/msdos.h
+++ b/src/msdos.h
@@ -41,9 +41,25 @@ void mouse_on (void);
41void mouse_off (void); 41void mouse_off (void);
42void mouse_moveto (int, int); 42void mouse_moveto (int, int);
43 43
44#include <sys/types.h>
45#include <sys/stat.h>
46
44#if __DJGPP__ == 2 && __DJGPP_MINOR__ < 4 47#if __DJGPP__ == 2 && __DJGPP_MINOR__ < 4
45int readlink (const char *, char *, size_t); 48int readlink (const char *, char *, size_t);
46#endif 49#endif
50ssize_t readlinkat (int, const char *, char *, size_t);
51int fstatat (int, char const *, struct stat *, int);
52int unsetenv (const char *);
53
54/* Constants. */
55#define EINPROGRESS 112
56/* Gnulib sets O_CLOEXEC to O_NOINHERIT, which gets in the way when we
57 need to redirect standard handles for subprocesses using temporary
58 files created by mkostemp, see callproc.c. */
59#ifdef O_CLOEXEC
60# undef O_CLOEXEC
61#endif
62#define O_CLOEXEC 0
47 63
48 64
49#ifndef HAVE_X_WINDOWS 65#ifndef HAVE_X_WINDOWS
@@ -83,7 +99,6 @@ extern void x_set_menu_bar_lines (struct frame *, Lisp_Object, Lisp_Object);
83#define XMenuSetAEQ (void) 99#define XMenuSetAEQ (void)
84#define XMenuSetFreeze (void) 100#define XMenuSetFreeze (void)
85#define XMenuRecompute (void) 101#define XMenuRecompute (void)
86#define FONT_WIDTH(foo) 1
87#define XM_FAILURE -1 102#define XM_FAILURE -1
88#define XM_SUCCESS 1 103#define XM_SUCCESS 1
89#define XM_NO_SELECT 2 104#define XM_NO_SELECT 2
diff --git a/src/process.c b/src/process.c
index 5a5ce0ce674..fdb0501f9ec 100644
--- a/src/process.c
+++ b/src/process.c
@@ -134,6 +134,29 @@ extern int sys_select (int, fd_set *, fd_set *, fd_set *,
134 struct timespec *, void *); 134 struct timespec *, void *);
135#endif 135#endif
136 136
137/* Work around GCC 4.7.0 bug with strict overflow checking; see
138 <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52904>.
139 These lines can be removed once the GCC bug is fixed. */
140#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
141# pragma GCC diagnostic ignored "-Wstrict-overflow"
142#endif
143
144Lisp_Object Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname, Qtpgid;
145Lisp_Object Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcstime;
146Lisp_Object Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs;
147Lisp_Object Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtime, Qctime;
148Lisp_Object QCname, QCtype;
149
150/* True if keyboard input is on hold, zero otherwise. */
151
152static bool kbd_is_on_hold;
153
154/* Nonzero means don't run process sentinels. This is used
155 when exiting. */
156bool inhibit_sentinels;
157
158#ifdef subprocesses
159
137#ifndef SOCK_CLOEXEC 160#ifndef SOCK_CLOEXEC
138# define SOCK_CLOEXEC 0 161# define SOCK_CLOEXEC 0
139#endif 162#endif
@@ -165,29 +188,6 @@ process_socket (int domain, int type, int protocol)
165# define socket(domain, type, protocol) process_socket (domain, type, protocol) 188# define socket(domain, type, protocol) process_socket (domain, type, protocol)
166#endif 189#endif
167 190
168/* Work around GCC 4.7.0 bug with strict overflow checking; see
169 <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52904>.
170 These lines can be removed once the GCC bug is fixed. */
171#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
172# pragma GCC diagnostic ignored "-Wstrict-overflow"
173#endif
174
175Lisp_Object Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname, Qtpgid;
176Lisp_Object Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcstime;
177Lisp_Object Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs;
178Lisp_Object Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtime, Qctime;
179Lisp_Object QCname, QCtype;
180
181/* True if keyboard input is on hold, zero otherwise. */
182
183static bool kbd_is_on_hold;
184
185/* Nonzero means don't run process sentinels. This is used
186 when exiting. */
187bool inhibit_sentinels;
188
189#ifdef subprocesses
190
191Lisp_Object Qprocessp; 191Lisp_Object Qprocessp;
192static Lisp_Object Qrun, Qstop, Qsignal; 192static Lisp_Object Qrun, Qstop, Qsignal;
193static Lisp_Object Qopen, Qclosed, Qconnect, Qfailed, Qlisten; 193static Lisp_Object Qopen, Qclosed, Qconnect, Qfailed, Qlisten;
@@ -7059,6 +7059,7 @@ integer or floating point values.
7059 return system_process_attributes (pid); 7059 return system_process_attributes (pid);
7060} 7060}
7061 7061
7062#ifdef subprocesses
7062/* Arrange to catch SIGCHLD if this hasn't already been arranged. 7063/* Arrange to catch SIGCHLD if this hasn't already been arranged.
7063 Invoke this after init_process_emacs, and after glib and/or GNUstep 7064 Invoke this after init_process_emacs, and after glib and/or GNUstep
7064 futz with the SIGCHLD handler, but before Emacs forks any children. 7065 futz with the SIGCHLD handler, but before Emacs forks any children.
@@ -7084,6 +7085,7 @@ catch_child_signal (void)
7084 : old_action.sa_handler); 7085 : old_action.sa_handler);
7085 unblock_child_signal (&oldset); 7086 unblock_child_signal (&oldset);
7086} 7087}
7088#endif /* subprocesses */
7087 7089
7088 7090
7089/* This is not called "init_process" because that is the name of a 7091/* This is not called "init_process" because that is the name of a
@@ -7290,10 +7292,12 @@ syms_of_process (void)
7290 DEFSYM (Qcutime, "cutime"); 7292 DEFSYM (Qcutime, "cutime");
7291 DEFSYM (Qcstime, "cstime"); 7293 DEFSYM (Qcstime, "cstime");
7292 DEFSYM (Qctime, "ctime"); 7294 DEFSYM (Qctime, "ctime");
7295#ifdef subprocesses
7293 DEFSYM (Qinternal_default_process_sentinel, 7296 DEFSYM (Qinternal_default_process_sentinel,
7294 "internal-default-process-sentinel"); 7297 "internal-default-process-sentinel");
7295 DEFSYM (Qinternal_default_process_filter, 7298 DEFSYM (Qinternal_default_process_filter,
7296 "internal-default-process-filter"); 7299 "internal-default-process-filter");
7300#endif
7297 DEFSYM (Qpri, "pri"); 7301 DEFSYM (Qpri, "pri");
7298 DEFSYM (Qnice, "nice"); 7302 DEFSYM (Qnice, "nice");
7299 DEFSYM (Qthcount, "thcount"); 7303 DEFSYM (Qthcount, "thcount");
diff --git a/src/sysdep.c b/src/sysdep.c
index 7a888834bcc..e5b29205e96 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -1509,7 +1509,9 @@ emacs_sigaction_init (struct sigaction *action, signal_handler_t handler)
1509 /* When handling a signal, block nonfatal system signals that are caught 1509 /* When handling a signal, block nonfatal system signals that are caught
1510 by Emacs. This makes race conditions less likely. */ 1510 by Emacs. This makes race conditions less likely. */
1511 sigaddset (&action->sa_mask, SIGALRM); 1511 sigaddset (&action->sa_mask, SIGALRM);
1512#ifdef SIGCHLD
1512 sigaddset (&action->sa_mask, SIGCHLD); 1513 sigaddset (&action->sa_mask, SIGCHLD);
1514#endif
1513#ifdef SIGDANGER 1515#ifdef SIGDANGER
1514 sigaddset (&action->sa_mask, SIGDANGER); 1516 sigaddset (&action->sa_mask, SIGDANGER);
1515#endif 1517#endif
@@ -1714,7 +1716,9 @@ init_signals (bool dumping)
1714# ifdef SIGBUS 1716# ifdef SIGBUS
1715 sys_siglist[SIGBUS] = "Bus error"; 1717 sys_siglist[SIGBUS] = "Bus error";
1716# endif 1718# endif
1719# ifdef SIGCHLD
1717 sys_siglist[SIGCHLD] = "Child status changed"; 1720 sys_siglist[SIGCHLD] = "Child status changed";
1721# endif
1718# ifdef SIGCONT 1722# ifdef SIGCONT
1719 sys_siglist[SIGCONT] = "Continued"; 1723 sys_siglist[SIGCONT] = "Continued";
1720# endif 1724# endif
@@ -2185,6 +2189,9 @@ emacs_fopen (char const *file, char const *mode)
2185int 2189int
2186emacs_pipe (int fd[2]) 2190emacs_pipe (int fd[2])
2187{ 2191{
2192#ifdef MSDOS
2193 return pipe (fd);
2194#else /* !MSDOS */
2188 int result = pipe2 (fd, O_CLOEXEC); 2195 int result = pipe2 (fd, O_CLOEXEC);
2189 if (! O_CLOEXEC && result == 0) 2196 if (! O_CLOEXEC && result == 0)
2190 { 2197 {
@@ -2192,6 +2199,7 @@ emacs_pipe (int fd[2])
2192 fcntl (fd[1], F_SETFD, FD_CLOEXEC); 2199 fcntl (fd[1], F_SETFD, FD_CLOEXEC);
2193 } 2200 }
2194 return result; 2201 return result;
2202#endif /* !MSDOS */
2195} 2203}
2196 2204
2197/* Approximate posix_close and POSIX_CLOSE_RESTART well enough for Emacs. 2205/* Approximate posix_close and POSIX_CLOSE_RESTART well enough for Emacs.
diff --git a/src/term.c b/src/term.c
index 6512f12fcab..47be788f31a 100644
--- a/src/term.c
+++ b/src/term.c
@@ -500,7 +500,7 @@ static ptrdiff_t encode_terminal_dst_size;
500 Set CODING->produced to the byte-length of the resulting byte 500 Set CODING->produced to the byte-length of the resulting byte
501 sequence, and return a pointer to that byte sequence. */ 501 sequence, and return a pointer to that byte sequence. */
502 502
503#ifndef WINDOWSNT 503#ifndef DOS_NT
504static 504static
505#endif 505#endif
506unsigned char * 506unsigned char *
@@ -4562,6 +4562,7 @@ bigger, or it may make it blink, or it may do nothing at all. */);
4562 encode_terminal_src = NULL; 4562 encode_terminal_src = NULL;
4563 encode_terminal_dst = NULL; 4563 encode_terminal_dst = NULL;
4564 4564
4565#ifndef MSDOS
4565 DEFSYM (Qtty_menu_next_item, "tty-menu-next-item"); 4566 DEFSYM (Qtty_menu_next_item, "tty-menu-next-item");
4566 DEFSYM (Qtty_menu_prev_item, "tty-menu-prev-item"); 4567 DEFSYM (Qtty_menu_prev_item, "tty-menu-prev-item");
4567 DEFSYM (Qtty_menu_next_menu, "tty-menu-next-menu"); 4568 DEFSYM (Qtty_menu_next_menu, "tty-menu-next-menu");
@@ -4571,4 +4572,5 @@ bigger, or it may make it blink, or it may do nothing at all. */);
4571 DEFSYM (Qtty_menu_exit, "tty-menu-exit"); 4572 DEFSYM (Qtty_menu_exit, "tty-menu-exit");
4572 DEFSYM (Qtty_menu_mouse_movement, "tty-menu-mouse-movement"); 4573 DEFSYM (Qtty_menu_mouse_movement, "tty-menu-mouse-movement");
4573 DEFSYM (Qtty_menu_navigation_map, "tty-menu-navigation-map"); 4574 DEFSYM (Qtty_menu_navigation_map, "tty-menu-navigation-map");
4575#endif
4574} 4576}
diff --git a/src/termhooks.h b/src/termhooks.h
index 961b321891d..708351da83d 100644
--- a/src/termhooks.h
+++ b/src/termhooks.h
@@ -643,7 +643,7 @@ extern void delete_terminal (struct terminal *);
643/* The initial terminal device, created by initial_term_init. */ 643/* The initial terminal device, created by initial_term_init. */
644extern struct terminal *initial_terminal; 644extern struct terminal *initial_terminal;
645 645
646#ifdef WINDOWSNT 646#ifdef DOS_NT
647extern unsigned char *encode_terminal_code (struct glyph *, int, 647extern unsigned char *encode_terminal_code (struct glyph *, int,
648 struct coding_system *); 648 struct coding_system *);
649#endif 649#endif
diff --git a/src/unexcoff.c b/src/unexcoff.c
index cb0b6f2f0b5..0e47bdd8656 100644
--- a/src/unexcoff.c
+++ b/src/unexcoff.c
@@ -65,6 +65,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
65#include <crt0.h> /* for _crt0_startup_flags and its bits */ 65#include <crt0.h> /* for _crt0_startup_flags and its bits */
66#include <sys/exceptn.h> 66#include <sys/exceptn.h>
67static int save_djgpp_startup_flags; 67static int save_djgpp_startup_flags;
68#include <libc/atexit.h>
69static struct __atexit *save_atexit_ptr;
68#define filehdr external_filehdr 70#define filehdr external_filehdr
69#define scnhdr external_scnhdr 71#define scnhdr external_scnhdr
70#define syment external_syment 72#define syment external_syment
@@ -82,7 +84,7 @@ struct aouthdr
82 unsigned long text_start;/* base of text used for this file */ 84 unsigned long text_start;/* base of text used for this file */
83 unsigned long data_start;/* base of data used for this file */ 85 unsigned long data_start;/* base of data used for this file */
84}; 86};
85#endif /* not MSDOS */ 87#endif /* MSDOS */
86#else /* not HAVE_COFF_H */ 88#else /* not HAVE_COFF_H */
87#include <a.out.h> 89#include <a.out.h>
88#endif /* not HAVE_COFF_H */ 90#endif /* not HAVE_COFF_H */
@@ -368,6 +370,12 @@ copy_text_and_data (int new, int a_out)
368 and which might change the way that dumped Emacs works. */ 370 and which might change the way that dumped Emacs works. */
369 save_djgpp_startup_flags = _crt0_startup_flags; 371 save_djgpp_startup_flags = _crt0_startup_flags;
370 _crt0_startup_flags &= ~(_CRT0_FLAG_NO_LFN | _CRT0_FLAG_NEARPTR); 372 _crt0_startup_flags &= ~(_CRT0_FLAG_NO_LFN | _CRT0_FLAG_NEARPTR);
373
374 /* Zero out the 'atexit' chain in the dumped executable, to avoid
375 calling the atexit functions twice. (emacs.c:main installs an
376 atexit function.) */
377 save_atexit_ptr = __atexit_ptr;
378 __atexit_ptr = NULL;
371#endif 379#endif
372 380
373 lseek (new, (long) text_scnptr, 0); 381 lseek (new, (long) text_scnptr, 0);
@@ -386,6 +394,9 @@ copy_text_and_data (int new, int a_out)
386 394
387 /* Restore the startup flags. */ 395 /* Restore the startup flags. */
388 _crt0_startup_flags = save_djgpp_startup_flags; 396 _crt0_startup_flags = save_djgpp_startup_flags;
397
398 /* Restore the atexit chain. */
399 __atexit_ptr = save_atexit_ptr;
389#endif 400#endif
390 401
391 402
diff --git a/src/w32term.c b/src/w32term.c
index 40c1e591233..3aabf92357a 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -4723,7 +4723,7 @@ w32_read_socket (struct terminal *terminal,
4723 here since Windows sends a WM_MOVE message 4723 here since Windows sends a WM_MOVE message
4724 BEFORE telling us the Window is minimized 4724 BEFORE telling us the Window is minimized
4725 when the Window is iconified, with 3000,3000 4725 when the Window is iconified, with 3000,3000
4726 as the co-ords. */ 4726 as the co-ords. */
4727 x_real_positions (f, &f->left_pos, &f->top_pos); 4727 x_real_positions (f, &f->left_pos, &f->top_pos);
4728 4728
4729 inev.kind = DEICONIFY_EVENT; 4729 inev.kind = DEICONIFY_EVENT;
diff --git a/src/window.c b/src/window.c
index f42219cae94..8e8252d3b76 100644
--- a/src/window.c
+++ b/src/window.c
@@ -55,6 +55,7 @@ static Lisp_Object Qwindow_pixel_to_total;
55static Lisp_Object Qscroll_up, Qscroll_down, Qscroll_command; 55static Lisp_Object Qscroll_up, Qscroll_down, Qscroll_command;
56static Lisp_Object Qsafe, Qabove, Qbelow, Qwindow_size, Qclone_of; 56static Lisp_Object Qsafe, Qabove, Qbelow, Qwindow_size, Qclone_of;
57static Lisp_Object Qfloor, Qceiling; 57static Lisp_Object Qfloor, Qceiling;
58static Lisp_Object Qwindow_point_insertion_type;
58 59
59static int displayed_window_lines (struct window *); 60static int displayed_window_lines (struct window *);
60static int count_windows (struct window *); 61static int count_windows (struct window *);
@@ -124,7 +125,7 @@ static int window_initialized;
124/* Hook to run when window config changes. */ 125/* Hook to run when window config changes. */
125static Lisp_Object Qwindow_configuration_change_hook; 126static Lisp_Object Qwindow_configuration_change_hook;
126 127
127/* Used by the function window_scroll_pixel_based */ 128/* Used by the function window_scroll_pixel_based. */
128static int window_scroll_pixel_based_preserve_x; 129static int window_scroll_pixel_based_preserve_x;
129static int window_scroll_pixel_based_preserve_y; 130static int window_scroll_pixel_based_preserve_y;
130 131
@@ -6618,7 +6619,8 @@ save_window_save (Lisp_Object window, struct Lisp_Vector *vector, int i)
6618 else 6619 else
6619 p->pointm = Fcopy_marker (w->pointm, Qnil); 6620 p->pointm = Fcopy_marker (w->pointm, Qnil);
6620 XMARKER (p->pointm)->insertion_type 6621 XMARKER (p->pointm)->insertion_type
6621 = !NILP (Vwindow_point_insertion_type); 6622 = !NILP (buffer_local_value_1 /* Don't signal error if void. */
6623 (Qwindow_point_insertion_type, w->contents));
6622 6624
6623 p->start = Fcopy_marker (w->start, Qnil); 6625 p->start = Fcopy_marker (w->start, Qnil);
6624 p->start_at_line_beg = w->start_at_line_beg ? Qt : Qnil; 6626 p->start_at_line_beg = w->start_at_line_beg ? Qt : Qnil;
@@ -7235,6 +7237,7 @@ on their symbols to be controlled by this variable. */);
7235 DEFVAR_LISP ("window-point-insertion-type", Vwindow_point_insertion_type, 7237 DEFVAR_LISP ("window-point-insertion-type", Vwindow_point_insertion_type,
7236 doc: /* Type of marker to use for `window-point'. */); 7238 doc: /* Type of marker to use for `window-point'. */);
7237 Vwindow_point_insertion_type = Qnil; 7239 Vwindow_point_insertion_type = Qnil;
7240 DEFSYM (Qwindow_point_insertion_type, "window_point_insertion_type");
7238 7241
7239 DEFVAR_LISP ("window-configuration-change-hook", 7242 DEFVAR_LISP ("window-configuration-change-hook",
7240 Vwindow_configuration_change_hook, 7243 Vwindow_configuration_change_hook,
diff --git a/test/indent/nxml.xml b/test/indent/nxml.xml
new file mode 100644
index 00000000000..61b84f270b0
--- /dev/null
+++ b/test/indent/nxml.xml
@@ -0,0 +1,10 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<spocosy version="1.0" responsetime="2011-03-15 13:53:12" exec="0.171">
3 <!--
4 <query-response requestid="" service="objectquery">
5 <sport name="Soccer" enetSportCode="s" del="no" n="1" ut="2009-12-29
6 15:36:24" id="1">
7 </sport>
8 </query-response>
9 -->
10</spocosy>