automake-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Automake-commit] [SCM] GNU Automake branch, testsuite-work, updated. v1


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, testsuite-work, updated. v1.11-1579-g8d3466c
Date: Fri, 09 Dec 2011 23:58:48 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=8d3466c80bf79be7770e41fabfb886b0eadd2acb

The branch, testsuite-work has been updated
       via  8d3466c80bf79be7770e41fabfb886b0eadd2acb (commit)
       via  47587d15b0749575e95a49443c6b0e17e0722678 (commit)
       via  c8e01d581a7e7c2445a139def46939a547951746 (commit)
       via  7dbb5500f658405e8862a90f1bb17d0c82a27f54 (commit)
       via  6346183ddc86743708ecf796acca88a6e93171e3 (commit)
       via  ca0ba5df0fb8d3a62919b878ee30fa573dde6f93 (commit)
       via  053534fc5718ad3aea4f2f1c5817d2a114fe5699 (commit)
       via  a7983a0f81d2135387138b563acac6ad0fb0f5f8 (commit)
       via  39a0fd0267ca5aab3d7c4677586181c355233eef (commit)
       via  6bceecd1b429f661ecca3e819051149d3be6af90 (commit)
       via  237b93207fcf50e49540ce2d604a9b6fe312d713 (commit)
       via  833741419e4df9adcf1a1aa86088e562e0ba46ad (commit)
       via  d2ef3f5bed77203bb8da5c5a0134a0dfa8c367d9 (commit)
       via  a4eeb5323ac00cd6dbbb571a738bf2ee9f8ef209 (commit)
       via  1a23ff8bad4a1188592a0879f31f0cce0b5201ab (commit)
       via  4bae0177efccaf64ce4d04ecae3a8389c81a83e2 (commit)
       via  eaa53725d148cbda064fc598aa6a2a422e9cc422 (commit)
       via  75ae56f04be065936501f579ad1aa999f5b19b3b (commit)
       via  eae36caf547319469b378d12b90a9f82338fa322 (commit)
       via  77d7a6f7ddd3feec2913d3b190e5d22c3629a155 (commit)
       via  3ae2d671ab95a7ee0cbc58d0112a24873135188a (commit)
       via  18f250e8c8d3c1b3b667937447515fd05095754e (commit)
       via  c615147195e1248a5e896a38623fa085861460d2 (commit)
       via  d9ea65c09108dc08c5d4526fc8b60e1df84bf00a (commit)
       via  549f3844cc9bca0dfd28d5631e0229922c7e709f (commit)
       via  00eb9d62eb40a0c6c5962279fe0978bd76eec2c3 (commit)
       via  f6195336ab991069afc63a06c1cee03699ae4b4c (commit)
      from  75a11fae8cd4833e121ca0df69ea12796a8a1436 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 8d3466c80bf79be7770e41fabfb886b0eadd2acb
Merge: 75a11fa 47587d1
Author: Stefano Lattarini <address@hidden>
Date:   Sat Dec 10 00:58:13 2011 +0100

    Merge branch 'master' into testsuite-work

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                             |  253 ++++++++++++++++++++--
 Makefile.in                           |    4 +-
 NEWS                                  |   62 +++---
 THANKS                                |    1 +
 configure                             |    6 +
 configure.ac                          |    2 +
 doc/Makefile.in                       |    9 +-
 doc/automake.texi                     |    9 +-
 lib/am/distdir.am                     |    4 +-
 lib/am/texinfos.am                    |   14 +-
 lib/config.guess                      |   15 +-
 lib/config.sub                        |   23 ++-
 lib/depcomp                           |    4 +-
 lib/install-sh                        |    4 +-
 lib/texinfo.tex                       |  376 ++++++++++++++++++++++++++++-----
 tests/Makefile.am                     |    2 +
 tests/Makefile.in                     |    9 +
 tests/color2.test                     |   35 +++-
 tests/defs                            |    8 +-
 tests/deleted-am.test                 |   65 ++++++
 tests/deleted-m4.test                 |   67 ++++++
 tests/dist-missing-am.test            |   70 ++++++
 tests/dist-missing-included-m4.test   |   70 ++++++
 tests/dist-missing-m4.test            |   72 +++++++
 tests/distcheck-override-infodir.test |   10 +-
 tests/install-info-dir.test           |    8 +
 tests/lex3.test                       |    6 +
 tests/list-of-tests.mk                |    7 +
 tests/remake-am-pr10111.test          |   64 ++++++
 tests/remake-m4-pr10111.test          |   62 ++++++
 tests/uninstall-fail.test             |   39 +++-
 31 files changed, 1220 insertions(+), 160 deletions(-)
 create mode 100755 tests/deleted-am.test
 create mode 100755 tests/deleted-m4.test
 create mode 100755 tests/dist-missing-am.test
 create mode 100755 tests/dist-missing-included-m4.test
 create mode 100755 tests/dist-missing-m4.test
 create mode 100644 tests/remake-am-pr10111.test
 create mode 100644 tests/remake-m4-pr10111.test

diff --git a/ChangeLog b/ChangeLog
index 433c3f8..4c17eb4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,227 @@
+2011-12-09  Jim Meyering  <address@hidden>
+           Stefano Lattarini  <address@hidden>
+
+       dist-xz, dist-bzip2: don't hard-code -9, honor envvar settings
+       Before the present change, automake-generated `dist-xz' rule used
+       a hard-coded `xz -9'.  That was a problem because on this front,
+       xz differs from gzip and bzip2.  While the latter two don't incur
+       any run-time decompression penalty for using a higher compression
+       level, specifying -9 with xz imposes a potentially fatal virtual
+       memory requirement on any client that wants to decompress your
+       tar.xz file.
+       People have complained that a tarball compressed with -9 cannot
+       be uncompressed in a low-memory environment (wrt-based embedded).
+       Hence, instead of defaulting to -9, which is useful only for very
+       large tarballs, it defaults to -e (equivalent to -6e).  This
+       limits the default memory requirements imposed on decompressors,
+       yet still gives very good compression ratios.
+       * lib/am/distdir.am (dist-xz): Do not hard-code xz's -9: that made
+       it impossible to override.  Actually don't default to -9, either,
+       since that induced inordinately large virtual memory usage when
+       merely decompressing.  Instead, use its XZ_OPT envvar, defaulting
+       to -e if not defined.  Suggested by Lasse Collin.
+       (dist-bzip2): Similarly, do not hard-code -9, but do continue to
+       use -9 by default.  Honor the BZIP2 envvar.
+       * NEWS: Update.
+       * doc/automake.texi (The Types of Distributions): Describe the
+       newly enabled environment variables.
+
+2011-12-09  Stefano Lattarini  <address@hidden>
+
+       * NEWS: Fix typos, grammaros and suboptimal wording.
+       Reported by Jim Meyering.
+
+2011-12-07  Stefano Lattarini  <address@hidden>
+
+       maint: sync auxiliary files from upstream
+       * lib/texinfo.tex: Synced from upstream, by "make fetch".
+       * lib/config.guess: Likewise.
+       * lib/config.sub: Likewise.
+
+2011-12-04  Stefano Lattarini  <address@hidden>
+
+       tests: fix spurious failures due to missing 'yywrap()' function
+
+       The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
+       the "lex library" expected to provide a `yywrap' function (function
+       which is required to link most lex-generated programs).  On the
+       contrary, when all the link attempts (i.e., with `-ll' and `-lfl')
+       fail, configure declares that no lex library is needed, and simply
+       proceeds with the configuration process -- only for the build to
+       possibly fail later, at make time.
+
+       This behaviour is intended; the Autoconf manual reads:
+        ``You are encouraged to use Flex in your sources, since it is
+          both more pleasant to use than plain Lex and the C source it
+          produces is portable.  In order to ensure portability, however,
+          you must either provide a function `yywrap' or, if you don't use
+          it (e.g., your scanner has no `#include'-like feature), simply
+          include a `%noyywrap' statement in the scanner's source.''
+
+       This AC_PROG_LEX behaviour is causing some spurious failures of
+       the Automake testsuite in environments which lack a proper library
+       providing `yywrap' (this happens for example on Fedora-based
+       systems).   The proper workaround is to simply provide a fall-back
+       implementation of `yywrap' in our lexers.
+
+       See also partially-overlapping commit `v1.11-871-geb147a1' (from
+       the 'testsuite-work' branch), which was motivated by similar
+       spurious failures experienced when cross-compiling.
+
+       From a report by Jim Meyering:
+       
<http://lists.gnu.org/archive/html/automake-patches/2011-10/msg00092.html>
+
+       * tests/cond35.test: Provide a dummy `yywrap' function.
+       * tests/lex3.test: Likewise.
+       * tests/silent-lex-generic.test: Likewise.
+       * tests/silent-lex-gcc.test: Likewise.
+       * tests/silent-many-generic.test: Likewise.
+       * tests/silent-many-gcc.test: Likewise.
+
+2011-12-04  Paul Eggert  <address@hidden>
+
+       depcomp: spelling fix
+       * lib/depcomp (-h): Fix misspelling in usage diagnostic.
+
+2011-11-28  Peter Rosin  <address@hidden>
+
+       tests: fix 'distcheck-override-infodir.test' on Cygwin
+       * tests/distcheck-override-infodir.test (Makefile.am): Do not add
+       any `/' between $(DESTDIR) and the following paths.  Otherwise,
+       when $(DESTDIR) is empty, the recipes will try to access files
+       with a leading double slash, which have an implementation-defined
+       interpretation (e.g., for Cygwin, they mean UNC paths).
+
+2011-11-24  Stefano Lattarini  <address@hidden>
+
+       cosmetics: typofix in comments
+       * tests/remake-am-pr10111.test (Makefile.am): Fix typo in comments.
+       * THANKS: Update.
+       Reported by Krzysztof Żelechowski.
+
+2011-11-22  Stefano Lattarini  <address@hidden>
+
+       coverage: undistributed '.am' and '.m4' files are diagnosed
+       The stub rules emitted to work around the "deleted header problem"
+       for `.m4' files (included by autoconf in e.g., configure.ac) and
+       for `.am' files (included by automake in e.g., Makefile.am) should
+       not prevent "make" from correctly complaining when such a required
+       file is missing from a distribution tarball.
+       * tests/dist-missing-am.test: New test.
+       * tests/dist-missing-m4.test: Likewise.
+       * tests/dist-missing-included-m4.test: Likewise.
+       * tests/Makefile.am (TESTS): Add them.
+       Suggestion by Ralf Wildenhues.
+
+2011-11-22  Stefano Lattarini  <address@hidden>
+
+       coverage: required but missing '.am' and '.m4' files are diagnosed
+       The stub rules emitted to work around the "deleted header problem"
+       for `.m4' files (included by autoconf in e.g., configure.ac) and
+       for `.am' files (included by automake in e.g., Makefile.am) should
+       not prevent the remake rules from correctly erroring out when a
+       still-required file is missing.
+       * tests/deleted-am.test: New test.
+       * tests/deleted-m4.test: Likewise.
+       * tests/Makefile.am (TESTS): Add them.
+
+2011-11-22  Stefano Lattarini  <address@hidden>
+
+       coverage: expose automake bug#10111 in the testsuite
+       * tests/remake-am-pr10111.test: New test, xfailing.
+       * tests/remake-m4-pr10111.test: Likewise.
+       * tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.
+
+2011-11-19  Stefano Lattarini  <address@hidden>
+
+       texinfo: work around Solaris 10 xpg4 shell bug in install rules
+       * lib/am/texinfos.am (install-html-am): Use an extra variable
+       indirection to work around a bug in Solaris 10 /usr/xpg4/bin/sh.
+       Bug revealed by a failure of `txinfo21.test'.  See also:
+       <http://lists.gnu.org/archive/html/bug-autoconf/2011-11/msg00005.html>
+       <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10026#23>
+
+2011-11-17  Stefano Lattarini  <address@hidden>
+
+       configure: report perl version in config.log
+       * configure.ac: Report the version of the selected perl interpreter
+       in config.log; this should render the logs more informative.
+
+2011-11-13  Stefano Lattarini  <address@hidden>
+
+       tests: fix spurious failure with older install-info
+       * tests/install-info-dir.test (foo.texi): Also add proper
+       address@hidden', address@hidden' and address@hidden' directive, 
otherwise
+       older versions of `install-info' (e.g., 4.8) will fail to create
+       the `dir' index file in ${infodir}.
+       Problem revealed by a failure on NetBSD 5.1.
+
+2011-11-12  Stefano Lattarini  <address@hidden>
+
+       maintcheck: fix spurious failure in 'color2.test'
+       * tests/color2.test: Avoid creative quoting to avoid a spurious
+       failure of the `sc_tests_Exit_not_exit' maintainer check.
+
+2011-11-12  Stefano Lattarini  <address@hidden>
+
+       tests: fix spurious error in 'uninstall-fail.test' on Solaris
+       * tests/uninstall-fail.test: Solaris 10 /usr/xpg4/bin/sh can add
+       a line number before the `:' in the error messages issued by shell
+       builtins.  Account for that in our grepping of make output.
+
+2011-11-12  Stefano Lattarini  <address@hidden>
+
+       tests: fix typo in 'uninstall-fail.test'
+       * tests/uninstall-fail.test: Always use `$rm_f_is_silent_on_error'
+       instead of the bogus `$rm_f_is_silent_on_failure'.
+
+2011-11-19  Paul Eggert  <address@hidden>
+
+       * lib/install-sh: Spelling fix in comment.
+
+2011-11-10  Stefano Lattarini  <address@hidden>
+
+       tests: avoid a spurious failure of 'ltinit.test' MinGW
+       * tests/ltinit.test: Be laxer in grepping configure output, to
+       avoid spurious failures on systems which lack POSIX dynamic
+       linking (e.g., MinGW), or when cross-compiling for such systems.
+       See also commit `v1.11-855-ge9e5d4a'.
+       Report and suggestion from Peter Rosin.
+
+2011-11-08  Stefano Lattarini  <address@hidden>
+
+       tests: testsuite is now safe to run with dmake in parallel mode
+       * tests/defs.in: Unset variables DMAKE_CHILD, DMAKE_DEF_PRINTED
+       and DMAKE_MAX_JOBS, which are exported by Solaris dmake when run
+       in parallel mode, and which might confuse make processes spawned
+       by our testsuite.
+
+2011-11-08  Stefano Lattarini  <address@hidden>
+
+       tests: fix spurious failures w.r.t. parallel make and colorization
+       * tests/color2.test: Skip the test if the $MAKE program fails to
+       consider the standard output as a tty when spawned by `expect'.
+       This is required for make implementations, like FreeBSD make and
+       Solaris dmake, that redirect the output of recipes to temporary
+       files or pipes when run in parallel mode.  Since we are at it,
+       simplify the detection of a working `expect' program, and throw
+       in other minor simplifications.
+
+2011-11-07  Stefano Lattarini  <address@hidden>
+
+       tests: fix spurious failure in 'distcheck-override-infodir.test'
+       * tests/distcheck-override-infodir.test ($required): Add
+       'install-info'.
+
+2011-11-07  Stefano Lattarini  <address@hidden>
+
+       tests: avoid another failure of 'uninstall-fail.test' on Solaris
+       * tests/uninstall-fail.test: On Solaris 10, if `/bin/rm' is run
+       with the `-f' option, it doesn't print any error message when
+       failing to remove a file (due to e.g., "Permission denied").
+       Yikes.  Cater to this incompatibility, by relaxing the test when
+       a faulty `rm' is detected.
+
 2011-11-05  Stefano Lattarini  <address@hidden>
 
        ar-lib: fix configure output for "unrecognized archiver interface"
@@ -291,7 +515,7 @@
 
        info: allow user to inhibit creation/update of '${infodir}/dir'
        With this change, we allow the user to request the install-info
-       rules not to update the `${infodir}/dir' file, by exporting the
+       rules not to update the `${infodir}/dir' file, by setting the
        environment variable `AM_UPDATE_INFO_DIR' to the value "no".
        This is especially useful to distro packagers, and is a definite
        improvement over our previous hack of looking whether the
@@ -1807,7 +2031,7 @@
 2011-08-28  Stefano Lattarini  <address@hidden>
 
        automake: cleanups after de-ansification support removal (1)
-       * automake.in (lang_c_rewrite, handle_single_transform): Rename 
+       * automake.in (lang_c_rewrite, handle_single_transform): Rename
        variable `$nonansi_obj' to `$obj'.
 
 2011-08-28  Stefano Lattarini  <address@hidden>
@@ -6932,6 +7156,12 @@
        tests: fix typo in python5b.test
        * tests/python5b.test: Remove extra `:' from $PATH redefinition.
 
+2011-04-12  Stefano Lattarini  <address@hidden>
+
+       coverage: test for automake bug#8485 (known regression)
+       * tests/yacc-dist-nobuild-subdir.test: New test.
+       * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
+
 2011-04-14  Stefano Lattarini  <address@hidden>
 
        tests: remove redundant settings of `errexit' shell flag
@@ -6963,12 +7193,6 @@
        * tests/python5b.test: Likewise.
        * tests/specflg-dummy.test: Likewise.
        * tests/yacc-dist-nobuild-subdir.test: Likewise.
-       
-2011-04-12  Stefano Lattarini  <address@hidden>
-
-       coverage: test for automake bug#8485 (known regression)
-       * tests/yacc-dist-nobuild-subdir.test: New test.
-       * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
 
 2011-04-12  Stefano Lattarini  <address@hidden>
 
@@ -9355,19 +9579,6 @@
        similarly to 'msvisualcpp' and 'msvcmsys' as MSVC does not
        support the -o option.
 
-2010-10-05  Jim Meyering  <address@hidden>
-
-       dist-xz, dist-bzip2: don't hard-code -9: honor envvar settings
-       * lib/am/distdir.am (dist-xz): Do not hard-code xz's -9: that
-       made it impossible to override.  Instead, use its XZ_OPT envvar,
-       defaulting to -9 if not defined.  Thus no change in behavior
-       when XZ_OPT is not set, and now, this rule honors the setting
-       of that envvar when it is set.  Suggested by Lasse Collin.
-       (dist-bzip2): Likewise for it's corresponding envvar: BZIP2.
-       * NEWS (Miscellaneous changes): Mention it.
-       * doc/automake.texi (The Types of Distributions): Describe the
-       newly enabled environment variables.
-
 2010-10-04  Stefano Lattarini  <address@hidden>
 
        Add support for newer python versions.
diff --git a/Makefile.in b/Makefile.in
index 9298b12..14edb72 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -743,8 +743,8 @@ dist-lzma: distdir
        $(am__post_remove_distdir)
 
 dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--9} xz -c 
>$(distdir).tar.xz
-       $(am__post_remove_distdir)
+       tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c 
>$(distdir).tar.xz
+       $(am__remove_distdir)
 
 dist-tarZ: distdir
        tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
diff --git a/NEWS b/NEWS
index cdc1efe..3635dc4 100644
--- a/NEWS
+++ b/NEWS
@@ -107,9 +107,9 @@ New in 1.11a:
   - "make dist" can now create lzip-compressed tarballs.
 
   - You may adjust the compression options used in dist-xz and dist-bzip2.
-    The default is still -9 for each, but you may specify a different
-    level via the XZ_OPT and BZIP2 envvars respectively.  E.g.,
-    "make dist-xz XZ_OPT=-7" or "make dist-xz BZIP2=-5"
+    The default is now merely -e for xz, but still -9 for bzip;  you may
+    specify a different level via the XZ_OPT and BZIP2 envvars respectively.
+    E.g., "make dist-xz XZ_OPT=-7" or "make dist-xz BZIP2=-5"
 
   - Some auxiliary files that are automatically distributed by Automake
     (e.g., `install-sh', or the `depcomp' script for packages compiling
@@ -146,11 +146,11 @@ New in 1.11a:
     the list of options.
 
   - A developer that needs to pass specific flags to configure at "make
-    distcheck" time can now, and indeed he's advised to, do so by defining
+    distcheck" time can now, and indeed is advised to, do so by defining
     the developer-reserved makefile variable AM_DISTCHECK_CONFIGURE_FLAGS,
     instead of the old DISTCHECK_CONFIGURE_FLAGS.
     The DISTCHECK_CONFIGURE_FLAGS variable should now be reserved for the
-    user; still, the old Makefile.am files that used to define it should
+    user; still, the old Makefile.am files that used to define it will
     still continue to work as before.
 
   - New macro AM_PROG_AR that looks for an archiver and wraps it in the new
@@ -186,17 +186,15 @@ Bugs fixed in 1.11a:
     or "redefinition of TEST_EXTENSIONS), or even, in some situations,
     silently producing broken `Makefile.in' files.
 
-  - The `silent-rules' option now also silences all compile rules if dependency
-    tracking is disabled.  Also, when `silent-rules' is not used, the output 
from
-    `make' does not contain spurious extra lines with only a backslash in them
-    any more; it now again matches that from pre-1.11 Automake.
-
-  - The `dist-xz' option now uses `xz -9' for maximum compression.
+  - The `silent-rules' option now truly silences all compile rules, even
+    when dependency tracking is disabled.  Also, when `silent-rules' is
+    not used, `make' output no longer contains spurious backslash-only
+    lines, thus once again matching what Automake did before 1.11.
 
   - The AM_COND_IF macro also works if the shell expression for the conditional
     is no longer valid for the condition.
 
-* Long standing bugs:
+* Long-standing bugs:
 
   - Automake's own build system finally have a real "installcheck" target.
 
@@ -231,17 +229,17 @@ Bugs fixed in 1.11a:
     in the $(PACKAGE)-$(VERSION) distdir before packing if the toplevel
     build directory was world-searchable.  This is CVE-2009-4029.
 
-  - Several scripts as well as the parallel-tests testsuite driver now
-    exit with the right exit status upon receiving a signal.
+  - Several scripts and the parallel-tests testsuite driver now exit with
+    the right exit status upon receiving a signal.
 
-  - A per-Makefile.am setting of -Werror does not carry over to the
-    handling of other Makefile.am files any more.
+  - A per-Makefile.am setting of -Werror does not erroneously carry over
+    to the handling of other Makefile.am files.
 
-  - The order of Yacc and Lex flags is fixed to be consistent with other
+  - The order of Yacc and Lex flags is now consistent with that of other
     languages: $(AM_YFLAGS) comes before $(YFLAGS), and $(AM_LFLAGS) before
     $(LFLAGS), so that the user variables override the developer variables.
 
-  - Rules generated by Automake now try harder to not change any files when
+  - Rules generated by Automake now try harder not to change any files when
     `make -n' is invoked.  Fixes include compilation of Emacs Lisp, Vala, or
     Yacc source files and the rule to update config.h.
 
@@ -267,25 +265,25 @@ Bugs fixed in 1.11a:
     will cause the warnings in category `portability' to be enabled, even
     if those warnings are by default disabled in `foreign' strictness.
 
-  - The parallel-tests driver now does not produce erroneous results
-    with Tru64/OSF 5.1 sh upon unreadable log files any more.
+  - The parallel-tests driver no longer produces erroneous results with
+    Tru64/OSF 5.1 sh upon unreadable log files.
 
-  - The makedepend and hp depmodes now works better with VPATH builds.
+  - The makedepend and hp depmodes now work better with VPATH builds.
 
-  - Java sources specified with check_JAVA are not compiled anymore upon
-    "make all", but only upon "make check".
+  - Java sources specified with check_JAVA are no longer compiled for
+    "make all", but only for "make check".
 
   - An usage like "java_JAVA = foo.java" will now cause Automake to warn
     and error out if `javadir' is undefined, instead of silently producing
     a broken Makefile.in.
 
-  - Now aclocal and automake, when they've to spawn autoconf or autom4te
-    processes, honour the configure-time definitions of AUTOCONF and
-    AUTOM4TE.
+  - aclocal and automake now honour the configure-time definitions of
+    AUTOCONF and AUTOM4TE when they spawn autoconf or autom4te processes.
 
-  - The `install-info' recipe does not try anymore to guess whether the
+  - The `install-info' recipe no longer tries to guess whether the
     `install-info' program is from Debian or from GNU, and adaptively
-    change its behaviour; this has proven to be frail and easy to regress.
+    change its behaviour; this has proven to be frail and easy to
+    regress.
 
 New in 1.11:
 
@@ -457,7 +455,7 @@ New in 1.11:
 
 Bugs fixed in 1.11:
 
-* Long standing bugs:
+* Long-standing bugs:
 
   - Fix aix dependency tracking for libtool objects.
 
@@ -790,7 +788,7 @@ New in 1.9:
 
 Bugs fixed in 1.8.5:
 
-* Long standing bugs:
+* Long-standing bugs:
 
   - Define DIST_SUBDIRS even when the `no-dist' or `cygnus' options are used
     so that `make distclean' and `make maintainer-clean' can work.
@@ -803,7 +801,7 @@ Bugs fixed in 1.8.5:
 
 Bugs fixed in 1.8.4:
 
-* Long standing bugs:
+* Long-standing bugs:
 
   - Fix AM_PATH_PYTHON to correctly display $PYTHON when it has been
     overridden by the user.
@@ -830,7 +828,7 @@ Bugs fixed in 1.8.4:
 
 Bugs fixed in 1.8.3:
 
-* Long standing bugs:
+* Long-standing bugs:
 
   - Quote filenames in installation rules, in case $DESTDIR, $prefix,
     or any of the other *dir variables contain a space.
diff --git a/THANKS b/THANKS
index 258c06d..a5a70e2 100644
--- a/THANKS
+++ b/THANKS
@@ -192,6 +192,7 @@ Kevin P. Fleming.   address@hidden
 Kevin Ryde             address@hidden
 Kevin Street           address@hidden
 Klaus Reichl           address@hidden
+Krzysztof Żelechowski address@hidden
 L. Peter Deutsch       address@hidden
 Ladislav Strojil       address@hidden
 Larry Jones            address@hidden
diff --git a/configure b/configure
index 489d7fa..90acd0f 100755
--- a/configure
+++ b/configure
@@ -2418,6 +2418,12 @@ fi
 if test -z "$PERL"; then
    as_fn_error $? "perl not found" "$LINENO" 5
 fi
+# Save details about the selected perl interpreter in config.log.
+{ echo "$as_me:$LINENO: eval $PERL --version" >&5
+   (eval $PERL --version) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
 $PERL -e 'require 5.006;' || {
    as_fn_error $? "perl 5.6 or better is required; perl 5.8.2 or better
 is recommended.  If you have several perl versions
diff --git a/configure.ac b/configure.ac
index 54f39e5..fe8582f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -66,6 +66,8 @@ AC_PATH_PROG(PERL, perl)
 if test -z "$PERL"; then
    AC_MSG_ERROR([perl not found])
 fi
+# Save details about the selected perl interpreter in config.log.
+AM_RUN_LOG([eval $PERL --version])
 $PERL -e 'require 5.006;' || {
    AC_MSG_ERROR(
 [perl 5.6 or better is required; perl 5.8.2 or better
diff --git a/doc/Makefile.in b/doc/Makefile.in
index c99a314..6c10c08 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -739,13 +739,14 @@ install-html-am: $(HTMLS)
        for p in $$list; do \
          if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
          $(am__strip_dir) \
-         if test -d "$$d$$p"; then \
+         d2=$$d$$p; \
+         if test -d "$$d2"; then \
            echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
            $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
-           echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
-           $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
+           echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \
+           $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
          else \
-           list2="$$list2 $$d$$p"; \
+           list2="$$list2 $$d2"; \
          fi; \
        done; \
        test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
diff --git a/doc/automake.texi b/doc/automake.texi
index c8b9441..9dd8f1a 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -8664,10 +8664,11 @@ Generate a shar archive of the distribution.
 Generate an @samp{xz} tar archive of the distribution.  @command{xz}
 archives are frequently smaller than @command{bzip2}-compressed archives.
 The @samp{xz} format displaces the obsolete @samp{lzma} format.
-By default, this rule makes @samp{xz} use a compression option of @option{-9}.
-To make it use a different one, set the @env{XZ_OPT} environment variable.
-For example, run this command to use the default compression ratio, but
-with a progress indicator: @samp{make dist-xz XZ_OPT=-7e}.
+By default, this rule makes @samp{xz} use a compression option of
address@hidden  To make it use a different one, set the @env{XZ_OPT}
+environment variable.  For example, run this command to use the
+default compression ratio, but with a progress indicator:
address@hidden dist-xz XZ_OPT=-7e}.
 @trindex dist-xz
 
 @item @code{dist-zip}
diff --git a/lib/am/distdir.am b/lib/am/distdir.am
index 0eed248..690695d 100644
--- a/lib/am/distdir.am
+++ b/lib/am/distdir.am
@@ -364,8 +364,8 @@ dist-lzma: distdir
 ?XZ?DIST_ARCHIVES += $(distdir).tar.xz
 .PHONY: dist-xz
 dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--9} xz -c 
>$(distdir).tar.xz
-       $(am__post_remove_distdir)
+       tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c 
>$(distdir).tar.xz
+       $(am__remove_distdir)
 
 ?COMPRESS?DIST_ARCHIVES += $(distdir).tar.Z
 .PHONY: dist-tarZ
diff --git a/lib/am/texinfos.am b/lib/am/texinfos.am
index 56c092f..dc51d8d 100644
--- a/lib/am/texinfos.am
+++ b/lib/am/texinfos.am
@@ -161,13 +161,19 @@ install-html-am: $(HTMLS)
        for p in $$list; do \
          if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
          $(am__strip_dir) \
-         if test -d "$$d$$p"; then \
+## This indirection is required to work around a bug of the Solaris 10
+## shell /usr/xpg4/bin/sh.  The description of the bug can be found at
+## <http://lists.gnu.org/archive/html/bug-autoconf/2011-11/msg00005.html>
+## and the report of the original failure can be found at automake
+## bug#10026 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10026#23>
+         d2=$$d$$p; \
+         if test -d "$$d2"; then \
            echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
            $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
-           echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
-           $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
+           echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \
+           $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
          else \
-           list2="$$list2 $$d$$p"; \
+           list2="$$list2 $$d2"; \
          fi; \
        done; \
        test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
diff --git a/lib/config.guess b/lib/config.guess
index b02565c..8152efd 100755
--- a/lib/config.guess
+++ b/lib/config.guess
@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
 #   2011 Free Software Foundation, Inc.
 
-timestamp='2011-06-03'
+timestamp='2011-11-11'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -792,13 +792,12 @@ EOF
        echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
        exit ;;
     *:FreeBSD:*:*)
-       case ${UNAME_MACHINE} in
-           pc98)
-               echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 
's/[-(].*//'` ;;
+       UNAME_PROCESSOR=`/usr/bin/uname -p`
+       case ${UNAME_PROCESSOR} in
            amd64)
                echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 
's/[-(].*//'` ;;
            *)
-               echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed 
-e 's/[-(].*//'` ;;
+               echo ${UNAME_PROCESSOR}-unknown-freebsd`echo 
${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
        esac
        exit ;;
     i*:CYGWIN*:*)
@@ -807,6 +806,9 @@ EOF
     *:MINGW*:*)
        echo ${UNAME_MACHINE}-pc-mingw32
        exit ;;
+    i*:MSYS*:*)
+       echo ${UNAME_MACHINE}-pc-msys
+       exit ;;
     i*:windows32*:*)
        # uname -m includes "-pc" on this system.
        echo ${UNAME_MACHINE}-mingw32
@@ -903,6 +905,9 @@ EOF
     frv:Linux:*:*)
        echo frv-unknown-linux-gnu
        exit ;;
+    hexagon:Linux:*:*)
+       echo hexagon-unknown-linux-gnu
+       exit ;;
     i*86:Linux:*:*)
        LIBC=gnu
        eval $set_cc_for_build
diff --git a/lib/config.sub b/lib/config.sub
index f9fcdc8..e76eaf4 100755
--- a/lib/config.sub
+++ b/lib/config.sub
@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
 #   2011 Free Software Foundation, Inc.
 
-timestamp='2011-06-03'
+timestamp='2011-11-11'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -251,13 +251,17 @@ case $basic_machine in
        | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | 
alpha64pca5[67] \
        | am33_2.0 \
        | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | 
avr32 \
+        | be32 | be64 \
        | bfin \
        | c4x | clipper \
        | d10v | d30v | dlx | dsp16xx \
+       | epiphany \
        | fido | fr30 | frv \
        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+       | hexagon \
        | i370 | i860 | i960 | ia64 \
        | ip2k | iq2000 \
+       | le32 | le64 \
        | lm32 \
        | m32c | m32r | m32rle | m68000 | m68k | m88k \
        | maxq | mb | microblaze | mcore | mep | metag \
@@ -291,7 +295,7 @@ case $basic_machine in
        | pdp10 | pdp11 | pj | pjl \
        | powerpc | powerpc64 | powerpc64le | powerpcle \
        | pyramid \
-       | rx \
+       | rl78 | rx \
        | score \
        | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | 
shbe | shle | sh[1234]le | sh3ele \
        | sh64 | sh64le \
@@ -357,6 +361,7 @@ case $basic_machine in
        | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
        | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
        | avr-* | avr32-* \
+       | be32-* | be64-* \
        | bfin-* | bs2000-* \
        | c[123]* | c30-* | [cjt]90-* | c4x-* \
        | clipper-* | craynv-* | cydra-* \
@@ -365,8 +370,10 @@ case $basic_machine in
        | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
        | h8300-* | h8500-* \
        | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+       | hexagon-* \
        | i*86-* | i860-* | i960-* | ia64-* \
        | ip2k-* | iq2000-* \
+       | le32-* | le64-* \
        | lm32-* \
        | m32c-* | m32r-* | m32rle-* \
        | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
@@ -400,7 +407,7 @@ case $basic_machine in
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
        | pyramid-* \
-       | romp-* | rs6000-* | rx-* \
+       | rl78-* | romp-* | rs6000-* | rx-* \
        | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* 
| sheb-* | shbe-* \
        | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
        | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | 
sparclet-* \
@@ -809,10 +816,18 @@ case $basic_machine in
        ms1-*)
                basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
                ;;
+       msys)
+               basic_machine=i386-pc
+               os=-msys
+               ;;
        mvs)
                basic_machine=i370-ibm
                os=-mvs
                ;;
+       nacl)
+               basic_machine=le32-unknown
+               os=-nacl
+               ;;
        ncr3000)
                basic_machine=i486-ncr
                os=-sysv4
@@ -1332,7 +1347,7 @@ case $os in
              | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
              | -chorusos* | -chorusrdb* | -cegcc* \
-             | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+             | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* 
\
              | -mingw32* | -linux-gnu* | -linux-android* \
              | -linux-newlib* | -linux-uclibc* \
              | -uxpv* | -beos* | -mpeix* | -udk* \
diff --git a/lib/depcomp b/lib/depcomp
index 9825d56..bd0ac08 100755
--- a/lib/depcomp
+++ b/lib/depcomp
@@ -1,7 +1,7 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2011-04-16.09; # UTC
+scriptversion=2011-12-04.11; # UTC
 
 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
 # 2011 Free Software Foundation, Inc.
@@ -44,7 +44,7 @@ Environment variables:
   object      Object file output by `PROGRAMS ARGS'.
   DEPDIR      directory where to store dependencies.
   depfile     Dependency file to output.
-  tmpdepfile  Temporary file to use when outputing dependencies.
+  tmpdepfile  Temporary file to use when outputting dependencies.
   libtool     Whether libtool is used (yes/no).
 
 Report bugs to <address@hidden>.
diff --git a/lib/install-sh b/lib/install-sh
index a9244eb..64c4b3e 100755
--- a/lib/install-sh
+++ b/lib/install-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2011-01-19.21; # UTC
+scriptversion=2011-11-20.07; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -354,7 +354,7 @@ do
              if test -z "$dir_arg" || {
                   # Check for POSIX incompatibilities with -m.
                   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-                  # other-writeable bit of parent directory when it shouldn't.
+                  # other-writable bit of parent directory when it shouldn't.
                   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
                   ls_ld_tmpdir=`ls -ld "$tmpdir"`
                   case $ls_ld_tmpdir in
diff --git a/lib/texinfo.tex b/lib/texinfo.tex
index fd22fd6..d831117 100644
--- a/lib/texinfo.tex
+++ b/lib/texinfo.tex
@@ -3,7 +3,7 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2011-05-23.16}
+\def\texinfoversion{2011-11-09.15}
 %
 % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -116,6 +116,7 @@
 % Set up fixed words for English if not already set.
 \ifx\putwordAppendix\undefined  \gdef\putwordAppendix{Appendix}\fi
 \ifx\putwordChapter\undefined   \gdef\putwordChapter{Chapter}\fi
+\ifx\putworderror\undefined     \gdef\putworderror{error}\fi
 \ifx\putwordfile\undefined      \gdef\putwordfile{file}\fi
 \ifx\putwordin\undefined        \gdef\putwordin{in}\fi
 \ifx\putwordIndexIsEmpty\undefined       \gdef\putwordIndexIsEmpty{(Index is 
empty)}\fi
@@ -1194,29 +1195,31 @@ output) for that.)}
     \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
     \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
     %
-    % pdftex (and the PDF format) support .png, .jpg, .pdf (among
-    % others).  Let's try in that order.
+    % pdftex (and the PDF format) support .pdf, .png, .jpg (among
+    % others).  Let's try in that order, PDF first since if
+    % someone has a scalable image, presumably better to use that than a
+    % bitmap.
     \let\pdfimgext=\empty
     \begingroup
-      \openin 1 #1.png \ifeof 1
-        \openin 1 #1.jpg \ifeof 1
-          \openin 1 #1.jpeg \ifeof 1
-            \openin 1 #1.JPG \ifeof 1
-              \openin 1 #1.pdf \ifeof 1
-                \openin 1 #1.PDF \ifeof 1
+      \openin 1 #1.pdf \ifeof 1
+        \openin 1 #1.PDF \ifeof 1
+          \openin 1 #1.png \ifeof 1
+            \openin 1 #1.jpg \ifeof 1
+              \openin 1 #1.jpeg \ifeof 1
+                \openin 1 #1.JPG \ifeof 1
                   \errhelp = \nopdfimagehelp
                   \errmessage{Could not find image file #1 for pdf}%
-                \else \gdef\pdfimgext{PDF}%
+                \else \gdef\pdfimgext{JPG}%
                 \fi
-              \else \gdef\pdfimgext{pdf}%
+              \else \gdef\pdfimgext{jpeg}%
               \fi
-            \else \gdef\pdfimgext{JPG}%
+            \else \gdef\pdfimgext{jpg}%
             \fi
-          \else \gdef\pdfimgext{jpeg}%
+          \else \gdef\pdfimgext{png}%
           \fi
-        \else \gdef\pdfimgext{jpg}%
+        \else \gdef\pdfimgext{PDF}%
         \fi
-      \else \gdef\pdfimgext{png}%
+      \else \gdef\pdfimgext{pdf}%
       \fi
       \closein 1
     \endgroup
@@ -2372,7 +2375,9 @@ end
   \else\ifx\next-%
   \else\ifx\next.%
   \else\ptexslash
-  \fi\fi\fi}
+  \fi\fi\fi
+  \aftersmartic
+}
 
 % like \smartslanted except unconditionally uses \ttsl, and no ic.
 % @var is set to this for defun arguments.
@@ -2382,9 +2387,15 @@ end
 % ttsl for book titles, do we?
 \def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection}
 
+\def\aftersmartic{}
+\def\var#1{%
+  \let\saveaftersmartic = \aftersmartic
+  \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}%
+  \smartslanted{#1}%
+}
+
 \let\i=\smartitalic
 \let\slanted=\smartslanted
-\def\var#1{\smartslanted{#1}}
 \let\dfn=\smartslanted
 \let\emph=\smartitalic
 
@@ -2480,7 +2491,7 @@ end
     \plainfrenchspacing
     #1%
   }%
-  \null
+  \null % reset spacefactor to 1000
 }
 
 % We *must* turn on hyphenation at `-' and `_' in @code.
@@ -2762,6 +2773,7 @@ end
   \ifx\temp\empty \else
     \space ({\unsepspaces \ignorespaces \temp \unskip})%
   \fi
+  \null % reset \spacefactor=1000
 }
 
 % @abbr for "Comput. J." and the like.
@@ -2774,6 +2786,7 @@ end
   \ifx\temp\empty \else
     \space ({\unsepspaces \ignorespaces \temp \unskip})%
   \fi
+  \null % reset \spacefactor=1000
 }
 
 % @asis just yields its argument.  Used with @table, for example.
@@ -2979,7 +2992,7 @@ end
 {\tentt \global\dimen0 = 3em}% Width of the box.
 \dimen2 = .55pt % Thickness of rules
 % The text. (`r' is open on the right, `e' somewhat less so on the left.)
-\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt}
+\setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt}
 %
 \setbox\errorbox=\hbox to \dimen0{\hfil
    \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
@@ -3955,13 +3968,13 @@ end
 %        If so, set to same dimension as multitablelinespace.
 \ifdim\multitableparskip>\multitablelinespace
 \global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
-                                      %% than skip between lines in the table.
+\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
+                                      % than skip between lines in the table.
 \fi%
 \ifdim\multitableparskip=0pt
 \global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
-                                      %% than skip between lines in the table.
+\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
+                                      % than skip between lines in the table.
 \fi}
 
 
@@ -5855,7 +5868,6 @@ end
   % This is purely so the last item on the list is a known \penalty >
   % 10000.  This is so \startdefun can avoid allowing breakpoints after
   % section headings.  Otherwise, it would insert a valid breakpoint between:
-  %
   %   @section sec-whatever
   %   @deffn def-whatever
   \penalty 10001
@@ -6273,6 +6285,12 @@ end
   \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
   % Flag to tell @lisp, etc., not to narrow margin.
   \let\nonarrowing = t%
+  %
+  % If this cartouche directly follows a sectioning command, we need the
+  % \parskip glue (backspaced over by default) or the cartouche can
+  % collide with the section heading.
+  \ifnum\lastpenalty>10000 \vskip\parskip \fi
+  %
   \vbox\bgroup
       \baselineskip=0pt\parskip=0pt\lineskip=0pt
       \carttop
@@ -6286,7 +6304,7 @@ end
              \lineskip=\normlskip
              \parskip=\normpskip
              \vskip -\parskip
-             \comment % For explanation, see the end of \def\group.
+             \comment % For explanation, see the end of def\group.
 }
 \def\Ecartouche{%
               \ifhmode\par\fi
@@ -7242,9 +7260,15 @@ end
 \def\macroxxx#1{%
   \getargs{#1}% now \macname is the macname and \argl the arglist
   \ifx\argl\empty       % no arguments
-     \paramno=0
+     \paramno=0\relax
   \else
      \expandafter\parsemargdef \argl;%
+     \if\paramno>256\relax
+       \ifx\eTeXversion\thisisundefined
+         \errhelp = \EMsimple
+         \errmessage{You need eTeX to compile a file with macros with more 
than 256 arguments}
+       \fi
+     \fi
   \fi
   \if1\csname ismacro.\the\macname\endcsname
      \message{Warning: redefining \the\macname}%
@@ -7294,9 +7318,17 @@ end
 \def\getmacname#1 #2\relax{\macname={#1}}
 \def\getmacargs#1{\def\argl{#1}}
 
+% For macro processing make @ a letter so that we can make Texinfo private 
macro names.
address@hidden
+\catcode address@hidden
+
 % Parse the optional {params} list.  Set up \paramno and \paramlist
-% so \defmacro knows what to do.  Define \macarg.blah for each blah
-% in the params list to be ##N where N is the position in that list.
+% so \defmacro knows what to do.  Define \macarg.BLAH for each BLAH
+% in the params list to some hook where the argument si to be expanded.  If
+% there are less than 10 arguments that hook is to be replaced by ##N where N
+% is the position in that list, that is to say the macro arguments are to be
+% defined `a la TeX in the macro body.  
+%
 % That gets used by \mbodybackslash (above).
 %
 % We need to get `macro parameter char #' into several definitions.
@@ -7306,12 +7338,33 @@ end
 %
 % The same technique is used to protect \eatspaces till just before
 % the macro is used.
-
+%
+% If there are 10 or more arguments, a different technique is used, where the
+% hook remains in the body, and when macro is to be expanded the body is
+% processed again to replace the arguments.
+%
+% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the
+% argument N value and then \edef  the body (nothing else will expand because 
of
+% the catcode regime underwhich the body was input).
+%
+% If you compile with TeX (not eTeX), and you have macros with 10 or more
+% arguments, you need that no macro has more than 256 arguments, otherwise an
+% error is produced.
 \def\parsemargdef#1;{%
   \paramno=0\def\paramlist{}%
   \let\hash\relax
   \let\xeatspaces\relax
   \parsemargdefxxx#1,;,%
+  % In case that there are 10 or more arguments we parse again the arguments
+  % list to set new definitions for the \macarg.BLAH macros corresponding to
+  % each BLAH argument. It was anyhow needed to parse already once this list
+  % in order to count the arguments, and as macros with at most 9 arguments
+  % are by far more frequent than macro with 10 or more arguments, defining
+  % twice the \macarg.BLAH macros does not cost too much processing power.
+  \ifnum\paramno<10\relax\else
+    \paramno0\relax
+    \parsemmanyargdef@@#1,;,% 10 or more arguments
+  \fi
 }
 \def\parsemargdefxxx#1,{%
   \if#1;\let\next=\relax
@@ -7322,16 +7375,205 @@ end
     \edef\paramlist{\paramlist\hash\the\paramno,}%
   \fi\next}
 
+\def\parsemmanyargdef@@#1,{%
+  \if#1;\let\next=\relax
+  \else 
+    \let\next=\parsemmanyargdef@@
+    \edef\tempb{\eatspaces{#1}}%
+    \expandafter\def\expandafter\tempa
+       \expandafter{\csname macarg.\tempb\endcsname}%
+    % Note that we need some extra \noexpand\noexpand, this is because we
+    % don't want \the  to be expanded in the \parsermacbody  as it uses an
+    % \xdef .
+    \expandafter\edef\tempa
+      {\noexpand\noexpand\noexpand\the\toks\the\paramno}%
+    \advance\paramno by 1\relax
+  \fi\next}
+
 % These two commands read recursive and nonrecursive macro bodies.
 % (They're different since rec and nonrec macros end differently.)
 %
+
+\catcode address@hidden
 address@hidden macro%
 {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
 address@hidden rmacro%
 {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
+\catcode address@hidden
+
address@hidden
address@hidden
address@hidden@}%
address@hidden@}%
+
+% This macro is expanded during the Texinfo macro expansion, not during its
+% definition.  It gets all the arguments values and assigns them to macros
+% macarg.ARGNAME
+%
+% #1 is the macro name
+% #2 is the list of argument names
+% #3 is the list of argument values
address@hidden
+  address@hidden
+  address@hidden Need to keep a copy for parameter expansion.
+  \def\paramlist{#2,address@hidden
+  \def\macroname{#1}%
+  \begingroup
+  \macroargctxt
+  \def\argvaluelist{#3,address@hidden
+  address@hidden
+  address@hidden
+    \setemptyargvalues@
+  \else
+    \getargvals@@
+  \fi
+}
+
+% 
+\def\getargvals@@{%
+  \ifx\paramlist\nilm@
+      % Some sanity check needed here that \argvaluelist is also empty.
+      \ifx\argvaluelist\nillm@
+      \else
+        \errhelp = \EMsimple
+        \errmessage{Too many arguments in macro `\macroname'!}%
+      \fi
+      \let\next\macargexpandinbody@
+  \else
+    \ifx\argvaluelist\nillm@
+       % No more arguments values passed to macro.  Set remaining named-arg
+       % macros to empty.
+       \let\next\setemptyargvalues@
+    \else
+      % pop current arg name into address@hidden
+      address@hidden@address@hidden@}%
+      address@hidden
+       % pop current argument value into address@hidden
+      address@hidden@address@hidden@}%
+      address@hidden
+       % Here address@hidden is the current arg name and address@hidden is the 
current arg value.
+       % First place the new argument macro definition into address@hidden
+       address@hidden
+       \expandafter\let\csname address@hidden
+       address@hidden
+         \csname address@hidden
+       address@hidden@tempe{\the\macname}}%
+       address@hidden@tempd\macargdeflist@
+       \let\next\getargvals@@
+    \fi
+  \fi
+  \next
+}
+
address@hidden
+  \expandafter\expandafter\expandafter\def
+  \expandafter\expandafter\expandafter#2%
+  \expandafter\expandafter\expandafter{%
+  \expandafter#1#2}%
+}
+
+% Replace arguments by their values in the macro body, and place the result
+% in macro address@hidden
address@hidden
+  %  To do this we use the property that token registers that are \the'ed
+  % within an \edef  expand only once. So we are going to place all argument
+  % values into respective token registers.
+  %
+  % First we save the token context, and initialize argument numbering.
+  \begingroup
+    \paramno0\relax
+    % Then, for each argument number #N, we place the corresponding argument
+    % value into a new token list register \toks#N
+    address@hidden@,;,%
+    % Then, we expand the body so that argument are replaced by their
+    % values. The trick for values not to be expanded themselves is that they
+    % are within tokens and that tokens expand only once in an \edef .
+    address@hidden mac.\macroname .body\endcsname}%
+    % Now we restore the token stack pointer to free the token list registers
+    % which we have used, but we make sure that expanded body is saved after
+    % group.
+    \expandafter
+  \endgroup
+  address@hidden@tempc}%
+  }
+
address@hidden 
+  %% Define the named-macro outside of this group and then close this group. 
+  \expandafter
+  \endgroup
+  \macargdeflist@
+  % First the replace in body the macro arguments by their values, the result
+  % is in address@hidden .
+  \macvalstoargs@
+  % Then we point at the \norecurse or \gobble (for recursive) macro value
+  % with address@hidden .
+  address@hidden mac.\macroname .recurse\endcsname
+  % Depending on whether it is recursive or not, we need some tailing
+  % \egroup .
+  address@hidden
+     address@hidden
+  \else
+     address@hidden
+  \fi
+  % And now we do the real job:
+  address@hidden@address@hidden@tempc}%
+  address@hidden
+}
+
address@hidden,{%
+  \if#1;\let\next\relax
+  \else
+    \let\next\putargsintokens@
+    % First we allocate the new token list register, and give it a temporary
+    % alias address@hidden .
+    address@hidden
+    % Then we place the argument value into that token list register.
+    address@hidden macarg.#1\endcsname
+    address@hidden@tempa}%
+    \advance\paramno by 1\relax
+  \fi
+  \next
+}
+
+% Save the token stack pointer into macro #1
address@hidden
+% Restore the token stack pointer from number in macro #1
address@hidden
+% newtoks that can be used non \outer .
+\def\texinonouternewtoks{\alloc@ 5\toks \toksdef address@hidden
+
+% Tailing missing arguments are set to empty
address@hidden
+  \ifx\paramlist\nilm@
+    \let\next\macargexpandinbody@
+  \else
+    address@hidden@
+    \let\next\setemptyargvalues@
+  \fi
+  \next
+}
+
address@hidden,address@hidden
+  address@hidden
+    \expandafter\def\csname macarg.#1\endcsname{}}%
+  address@hidden@tempa\macargdeflist@
+  \def\paramlist{#2}%
+}
+
+% #1 is the element target macro
+% #2 is the list macro
+% #3,#4\endargs@ is the list value
address@hidden,address@hidden
+   \def#1{#3}%
+   \def#2{#4}%
+}
address@hidden,address@hidden
+   \long\def#1{#3}%
+   \long\def#2{#4}%
+}
 
-% This defines the macro itself. There are six cases: recursive and
-% nonrecursive macros of zero, one, and many arguments.
+% This defines a Texinfo @macro. There are eight cases: recursive and
+% nonrecursive macros of zero, one, up to nine, and many arguments.
 % Much magic with \expandafter here.
 % \xdef is used so that macro definitions will survive the file
 % they're defined in; @include reads the file inside a group.
@@ -7350,17 +7592,25 @@ end
          \expandafter\noexpand\csname\the\macname xxx\endcsname}%
       \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
          \egroup\noexpand\scanmacro{\temp}}%
-    \else % many
-      \expandafter\xdef\csname\the\macname\endcsname{%
-         \bgroup\noexpand\macroargctxt
-         \noexpand\csname\the\macname xx\endcsname}%
-      \expandafter\xdef\csname\the\macname xx\endcsname##1{%
-          \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
-      \expandafter\expandafter
-      \expandafter\xdef
-      \expandafter\expandafter
-        \csname\the\macname xxx\endcsname
-          \paramlist{\egroup\noexpand\scanmacro{\temp}}%
+    \else
+      \ifnum\paramno<10\relax % at most 9
+        \expandafter\xdef\csname\the\macname\endcsname{%
+           \bgroup\noexpand\macroargctxt
+           \noexpand\csname\the\macname xx\endcsname}%
+        \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+            \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+        \expandafter\expandafter
+        \expandafter\xdef
+        \expandafter\expandafter
+          \csname\the\macname xxx\endcsname
+            \paramlist{\egroup\noexpand\scanmacro{\temp}}%
+      \else % 10 or more
+        \expandafter\xdef\csname\the\macname\endcsname{%
+          address@hidden
+        }%    
+        \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
+        \global\expandafter\let\csname mac.\the\macname 
.recurse\endcsname\gobble
+      \fi
     \fi
   \else
     \ifcase\paramno
@@ -7377,23 +7627,33 @@ end
         \egroup
         \noexpand\norecurse{\the\macname}%
         \noexpand\scanmacro{\temp}\egroup}%
-    \else % many
-      \expandafter\xdef\csname\the\macname\endcsname{%
-         \bgroup\noexpand\macroargctxt
-         \expandafter\noexpand\csname\the\macname xx\endcsname}%
-      \expandafter\xdef\csname\the\macname xx\endcsname##1{%
-          \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
-      \expandafter\expandafter
-      \expandafter\xdef
-      \expandafter\expandafter
-      \csname\the\macname xxx\endcsname
-      \paramlist{%
-          \egroup
-          \noexpand\norecurse{\the\macname}%
-          \noexpand\scanmacro{\temp}\egroup}%
+    \else % at most 9
+      \ifnum\paramno<10\relax
+        \expandafter\xdef\csname\the\macname\endcsname{%
+           \bgroup\noexpand\macroargctxt
+           \expandafter\noexpand\csname\the\macname xx\endcsname}%
+        \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+            \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+        \expandafter\expandafter
+        \expandafter\xdef
+        \expandafter\expandafter
+        \csname\the\macname xxx\endcsname
+        \paramlist{%
+            \egroup
+            \noexpand\norecurse{\the\macname}%
+            \noexpand\scanmacro{\temp}\egroup}%
+      \else % 10 or more:
+        \expandafter\xdef\csname\the\macname\endcsname{%
+          address@hidden
+        }%
+        \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
+        \global\expandafter\let\csname mac.\the\macname 
.recurse\endcsname\norecurse
+      \fi
     \fi
   \fi}
 
+\catcode address@hidden
+
 \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
 
 % \braceorline decides whether the next nonwhitespace character is a
@@ -7856,7 +8116,7 @@ end
 % space to prevent strange expansion errors.)
 \def\supereject{\par\penalty -20000\footnoteno =0 }
 
-% @footnotestyle is meaningful for info output only.
+% @footnotestyle is meaningful for Info output only.
 \let\footnotestyle=\comment
 
 {\catcode address@hidden
@@ -7919,6 +8179,8 @@ end
   % expands into a box, it must come within the paragraph, lest it
   % provide a place where TeX can split the footnote.
   \footstrut
+  %
+  % Invoke rest of plain TeX footnote routine.
   address@hidden
 }
 }%end \catcode address@hidden
diff --git a/tests/Makefile.am b/tests/Makefile.am
index bc6564f..d24b674 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -48,6 +48,8 @@ override-conditional-2.test \
 java-nobase.test \
 pr8365-remake-timing.test \
 lex-subobj-nodep.test \
+remake-am-pr10111.test \
+remake-m4-pr10111.test \
 vala-vpath.test \
 txinfo5.test
 
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 1933195..e7cf973 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -322,6 +322,8 @@ override-conditional-2.test \
 java-nobase.test \
 pr8365-remake-timing.test \
 lex-subobj-nodep.test \
+remake-am-pr10111.test \
+remake-m4-pr10111.test \
 vala-vpath.test \
 txinfo5.test
 
@@ -625,6 +627,8 @@ dejagnu-relative-srcdir.test \
 dejagnu-siteexp-append.test \
 dejagnu-siteexp-extend.test \
 dejagnu-siteexp-useredit.test \
+deleted-am.test \
+deleted-m4.test \
 depacl2.test \
 depcomp.test \
 depcomp2.test \
@@ -652,6 +656,9 @@ dist-auxdir-many-subdirs.test \
 dist-auxfile-2.test \
 dist-auxfile.test \
 dist-included-parent-dir.test \
+dist-missing-am.test \
+dist-missing-included-m4.test \
+dist-missing-m4.test \
 dist-readonly.test \
 dist-repeated.test \
 distcleancheck.test \
@@ -1177,6 +1184,8 @@ remake-deleted-m4-file.test \
 remake-renamed-m4-file.test \
 remake-renamed-m4-macro-and-file.test \
 remake-renamed-m4-macro.test \
+remake-am-pr10111.test \
+remake-m4-pr10111.test \
 pr8365-remake-timing.test \
 regex.test \
 regex-obsolete.test \
diff --git a/tests/color2.test b/tests/color2.test
index e143be9..50e6c47 100755
--- a/tests/color2.test
+++ b/tests/color2.test
@@ -39,14 +39,33 @@ case `echo "$std" | grep .` in
   *) skip_ "grep can't parse nonprinting characters";;
 esac
 
-# Check that we have a working expect program.
-cat >expect-check <<'END'
-#! /usr/bin/expect -f
-eval spawn $env(THE_SYSTEM_SHELL) -c :
-expect eof
+# This test requires a working a working `expect' program.
+# Creative quoting required to avoid spurious maintainer-check failure.
+(set +e; expect -c 'exit ''77'; test $? -eq 77) \
+  || skip_ "requires a working expect program"
+
+# Also, if the $MAKE program fails to consider the standard output as a
+# tty (this happens with e.g., BSD make and Solaris dmake when they're
+# run in parallel mode; see the autoconf manual), there is little point
+# in proceeding.
+cat > Makefile <<'END'
+all:
+## Creative quoting in the `echo' below to avoid risk of spurious output
+## matches by `expect', below.
+       @test -t 1 && echo "stdout" "is" "a" "tty"
 END
-THE_SYSTEM_SHELL=/bin/sh expect -f expect-check \
-  || skip_ "$me: failed to find a working expect program"
+
+cat > expect-check <<'END'
+eval spawn $env(MAKE)
+expect {
+  "stdout is a tty" { exit 0 }
+  default { exit 1 }
+}
+exit 1
+END
+MAKE=$MAKE expect -f expect-check \
+  || skip_ "make spawned by expect should have a tty stdout"
+rm -f check Makefile
 
 # Do the tests.
 
@@ -141,9 +160,7 @@ test_no_color ()
 }
 
 cat >expect-make <<'END'
-#! /usr/bin/expect -f
 eval spawn $env(MAKE) -e check
-expect eof
 END
 
 for vpath in false :; do
diff --git a/tests/defs b/tests/defs
index 28aadeb..cf15eab 100644
--- a/tests/defs
+++ b/tests/defs
@@ -135,11 +135,13 @@ echo "PATH = $PATH"
 # variable is unset.
 set +e
 
-# Unset some MAKE... variables that may cause $MAKE to act like a
-# recursively invoked sub-make.  Any $MAKE invocation in a test is
+# Unset some make-related variables that may cause $MAKE to act like
+# a recursively invoked sub-make.  Any $MAKE invocation in a test is
 # conceptually an independent invocation, not part of the main
 # 'automake' build.
-unset MFLAGS MAKEFLAGS AM_MAKEFLAGS MAKELEVEL __MKLVL__ MAKE_JOBS_FIFO
+unset MFLAGS MAKEFLAGS AM_MAKEFLAGS MAKELEVEL
+unset __MKLVL__ MAKE_JOBS_FIFO                     # For BSD make.
+unset DMAKE_CHILD DMAKE_DEF_PRINTED DMAKE_MAX_JOBS # For Solaris dmake.
 # Unset verbosity flag.
 unset V
 # Also unset variables that will let `make -e install' divert
diff --git a/tests/deleted-am.test b/tests/deleted-am.test
new file mode 100755
index 0000000..cc82e79
--- /dev/null
+++ b/tests/deleted-am.test
@@ -0,0 +1,65 @@
+#! /bin/sh
+# Copyright (C) 2011 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# The stub rules emitted to work around the "deleted header problem"
+# for `.am' files shouldn't prevent the remake rules from correctly
+# erroring out when a still-required file is missing.
+# See also discussion about automake bug#9768.
+
+. ./defs || Exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+echo 'include $(top_srcdir)/foobar.am' > Makefile.am
+echo 'include zardoz.am' > foobar.am
+: > zardoz.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+$MAKE
+
+rm -f zardoz.am
+$MAKE >output 2>&1 && { cat output; Exit 1; }
+cat output
+# FIXME: enable this stricter grepping, once bug#9768 has been taken
+# FIXME: care of.
+## This error will come from automake, not make, so we can be stricter
+## in our grepping of it.
+# grep 'cannot open.*zardoz\.am' output
+grep 'zardoz\.am' output
+grep 'foobar\.am' output && Exit 1 # No spurious error, please.
+
+# Try  with one less indirection.
+: > foobar.am
+$AUTOMAKE Makefile
+./config.status Makefile
+$MAKE # Sanity check.
+rm -f foobar.am
+$MAKE >output 2>&1 && { cat output; Exit 1; }
+cat output
+# FIXME: enable this stricter grepping, once bug#9768 has been taken
+# FIXME: care of.
+## This error will come from automake, not make, so we can be stricter
+## in our grepping of it.
+# grep 'cannot open.*foobar\.am' output
+grep 'foobar\.am' output
+
+:
diff --git a/tests/deleted-m4.test b/tests/deleted-m4.test
new file mode 100755
index 0000000..6b0b9af
--- /dev/null
+++ b/tests/deleted-m4.test
@@ -0,0 +1,67 @@
+#! /bin/sh
+# Copyright (C) 2011 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# The stub rules emitted to work around the "deleted header problem"
+# for `.m4' files shouldn't prevent the remake rules from correctly
+# erroring out when a still-required file is missing.
+# See also discussion about automake bug#9768.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in <<'END'
+m4_include([foobar.m4])
+AC_OUTPUT
+END
+
+: > Makefile.am
+
+echo 'm4_include([zardoz.m4])' > foobar.m4
+: > zardoz.m4
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+$MAKE
+
+rm -f zardoz.m4
+$MAKE >output 2>&1 && { cat output; Exit 1; }
+cat output
+# This error will come from aclocal, not make, so we can be stricter
+# in our grepping of it.
+grep ' foobar\.m4:1:.*zardoz\.m4.*does not exist' output
+# No spurious errors, please.
+$FGREP -v ' foobar.m4:1:' output | $FGREP 'foobar.m4' && Exit 1
+
+# Try with one less indirection.
+: > foobar.m4
+$ACLOCAL --force
+$AUTOCONF
+./configure
+$MAKE # Sanity check.
+rm -f foobar.m4
+$MAKE >output 2>&1 && { cat output; Exit 1; }
+cat output
+# This error will come from aclocal, not make, so we can be stricter
+# in our grepping of it.
+grep 'foobar\.m4.*does not exist' output
+# No spurious errors, please (ok, this is really paranoid).
+$FGREP 'zardoz.m4' output && Exit 1
+
+:
diff --git a/tests/dist-missing-am.test b/tests/dist-missing-am.test
new file mode 100755
index 0000000..49e82aa
--- /dev/null
+++ b/tests/dist-missing-am.test
@@ -0,0 +1,70 @@
+#! /bin/sh
+# Copyright (C) 2011 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# The stub rules emitted to work around the "deleted header problem"
+# for `.am' files shouldn't prevent "make" from diagnosing a missing
+# required `.am' file from a distribution tarball.
+# See discussion about automake bug#9768.
+
+. ./defs || Exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am <<'END'
+include $(srcdir)/foobar.am
+include $(srcdir)/zardoz.am
+END
+
+: > foobar.am
+: > zardoz.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+# A faulty distribution tarball, with a required `.am' file missing.
+# Building from it should fail, both for in-tree and VPATH builds.
+ocwd=`pwd` || fatal_ "cannot get current working directory"
+for vpath in false :; do
+  $MAKE distdir
+  test -f $distdir/zardoz.am # Sanity check.
+  rm -f $distdir/zardoz.am
+  if $vpath; then
+    # We can't just build in a subdirectory of $distdir, otherwise
+    # we'll hit automake bug#10111.
+    mkdir vpath-distcheck
+    cd vpath-distcheck
+    ../$distdir/configure
+  else
+    cd $distdir
+    ./configure
+  fi
+  $MAKE >output 2>&1 && { cat output; Exit 1; }
+  cat output
+# FIXME: enable this stricter grepping, once bug#9768 has been taken
+# FIXME: care of.
+#  # This error comes from automake, not make, so we can be stricter
+#  # in our grepping of it.
+#  grep 'cannot open.*zardoz\.am' output
+  grep 'foobar\.am' output && Exit 1 # No spurious error, please.
+  cd "$ocwd" || fatal_ "cannot chdir back to top-level test directory"
+done
+
+:
diff --git a/tests/dist-missing-included-m4.test 
b/tests/dist-missing-included-m4.test
new file mode 100755
index 0000000..56ba24c
--- /dev/null
+++ b/tests/dist-missing-included-m4.test
@@ -0,0 +1,70 @@
+#! /bin/sh
+# Copyright (C) 2011 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# The stub rules emitted to work around the "deleted header problem"
+# for `.m4' files shouldn't prevent "make" from diagnosing a missing
+# required `.m4' file from a distribution tarball.
+# See discussion about automake bug#9768.
+# See also sister test `dist-missing-m4.test'.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in <<'END'
+m4_include([foobar.m4])
+m4_include([zardoz.m4])
+AC_OUTPUT
+END
+
+: > foobar.m4
+: > zardoz.m4
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+# A faulty distribution tarball, with a required `.m4' file missing.
+# Building from it should fail, both for in-tree and VPATH builds.
+ocwd=`pwd` || fatal_ "cannot get current working directory"
+for vpath in false :; do
+  $MAKE distdir
+  test -f $distdir/zardoz.m4 # Sanity check.
+  rm -f $distdir/zardoz.m4
+  if $vpath; then
+    # We can't just build in a subdirectory of $distdir, otherwise
+    # we'll hit automake bug#10111.
+    mkdir vpath-distcheck
+    cd vpath-distcheck
+    ../$distdir/configure
+  else
+    cd $distdir
+    ./configure
+  fi
+  $MAKE >output 2>&1 && { cat output; Exit 1; }
+  cat output
+  # This error will come from automake, not make, so we can be stricter
+  # in our grepping of it.
+  grep 'zardoz\.m4.*does not exist' output
+  grep 'foobar\.m4' output && Exit 1 # No spurious error, please.
+  cd "$ocwd" || fatal_ "cannot chdir back to top-level test directory"
+done
+
+:
diff --git a/tests/dist-missing-m4.test b/tests/dist-missing-m4.test
new file mode 100755
index 0000000..a2618e9
--- /dev/null
+++ b/tests/dist-missing-m4.test
@@ -0,0 +1,72 @@
+#! /bin/sh
+# Copyright (C) 2011 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# The stub rules emitted to work around the "deleted header problem"
+# for `.m4' files shouldn't prevent "make" from diagnosing a missing
+# required `.m4' file from a distribution tarball.
+# See discussion about automake bug#9768.
+# See also sister test `dist-missing-included-m4.test'.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in <<'END'
+m4_pattern_forbid([^MY_])
+MY_FOOBAR || exit 1
+MY_ZARDOZ || exit 1
+AC_OUTPUT
+END
+
+mkdir m4
+echo 'AC_DEFUN([MY_FOOBAR], [:])' > m4/foobar.m4
+echo 'AC_DEFUN([MY_ZARDOZ], [:])' > m4/zardoz.m4
+
+echo 'ACLOCAL_AMFLAGS = -I m4' > Makefile.am
+
+$ACLOCAL -I m4
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+# A faulty distribution tarball, with a required `.m4' file missing.
+# Building from it should fail, both for in-tree and VPATH builds.
+ocwd=`pwd` || fatal_ "cannot get current working directory"
+for vpath in false :; do
+  $MAKE distdir
+  test -f $distdir/m4/zardoz.m4 # Sanity check.
+  rm -f $distdir/m4/zardoz.m4
+  if $vpath; then
+    # We can't just build in a subdirectory of $distdir, otherwise
+    # we'll hit automake bug#10111.
+    mkdir vpath-distcheck
+    cd vpath-distcheck
+    ../$distdir/configure
+  else
+    cd $distdir
+    ./configure
+  fi
+  $MAKE >output 2>&1 && { cat output; Exit 1; }
+  cat output
+  # This error will come from autoconf, not make, so we can be stricter
+  # in our grepping of it.
+  grep 'possibly undefined .*MY_ZARDOZ' output
+  grep 'MY_FOOBAR' output && Exit 1 # No spurious error, please.
+  cd "$ocwd" || fatal_ "cannot chdir back to top-level test directory"
+done
+
+:
diff --git a/tests/distcheck-override-infodir.test 
b/tests/distcheck-override-infodir.test
index 847e236..468ce6c 100755
--- a/tests/distcheck-override-infodir.test
+++ b/tests/distcheck-override-infodir.test
@@ -17,7 +17,7 @@
 # Check that we can override ${infodir} while having distcheck still
 # working.  Related to automake bug#9579.
 
-required='makeinfo tex texi2dvi'
+required='makeinfo tex texi2dvi install-info'
 . ./defs || Exit 1
 
 cat >> configure.in << 'END'
@@ -30,11 +30,11 @@ info_TEXINFOS = main.texi
 ## Sanity check.
 installcheck-local:
        if test x$${infodir+set} != xset; then \
-         ls -l "$(DESTDIR)/$(prefix)/blah/blah/foobar/" || exit 1; \
-         test -f "$(DESTDIR)/$(prefix)/blah/blah/foobar/dir" || exit 1; \
+         ls -l "$(DESTDIR)$(prefix)/blah/blah/foobar/" || exit 1; \
+         test -f "$(DESTDIR)$(prefix)/blah/blah/foobar/dir" || exit 1; \
        else \
-         ls -l "$(DESTDIR)/$$infodir/" || exit 1; \
-         test -f "$(DESTDIR)/$$infodir/dir" || exit 1; \
+         ls -l "$(DESTDIR)$$infodir/" || exit 1; \
+         test -f "$(DESTDIR)$$infodir/dir" || exit 1; \
        fi
 END
 
diff --git a/tests/install-info-dir.test b/tests/install-info-dir.test
index b6f410b..7a8fcf7 100755
--- a/tests/install-info-dir.test
+++ b/tests/install-info-dir.test
@@ -41,6 +41,14 @@ END
 cat > foo.texi << 'END'
 \input texinfo
 @setfilename foo.info
address@hidden All the following directives might be required to allow older
address@hidden versions of the `install-info' program (e.g., version 4.8) to
address@hidden create the `dir' index file in ${infodir}.  Don't remove them.
address@hidden foo
address@hidden Dummy utilities
address@hidden
+* Foo: (foo).  Does nothing at all, but has a nice name.
address@hidden direntry
 @node Top
 Hello world!
 @bye
diff --git a/tests/lex3.test b/tests/lex3.test
index 46f0b9f..e8f0200 100755
--- a/tests/lex3.test
+++ b/tests/lex3.test
@@ -54,6 +54,12 @@ int yywrap (void)
 {
   return 1;
 }
+
+/* Avoid possible link errors. */
+int yywrap (void)
+{
+  return 1;
+}
 END
 
 $ACLOCAL
diff --git a/tests/list-of-tests.mk b/tests/list-of-tests.mk
index 6172d16..677cf94 100644
--- a/tests/list-of-tests.mk
+++ b/tests/list-of-tests.mk
@@ -301,6 +301,8 @@ dejagnu-relative-srcdir.test \
 dejagnu-siteexp-append.test \
 dejagnu-siteexp-extend.test \
 dejagnu-siteexp-useredit.test \
+deleted-am.test \
+deleted-m4.test \
 depacl2.test \
 depcomp.test \
 depcomp2.test \
@@ -328,6 +330,9 @@ dist-auxdir-many-subdirs.test \
 dist-auxfile-2.test \
 dist-auxfile.test \
 dist-included-parent-dir.test \
+dist-missing-am.test \
+dist-missing-included-m4.test \
+dist-missing-m4.test \
 dist-readonly.test \
 dist-repeated.test \
 distcleancheck.test \
@@ -853,6 +858,8 @@ remake-deleted-m4-file.test \
 remake-renamed-m4-file.test \
 remake-renamed-m4-macro-and-file.test \
 remake-renamed-m4-macro.test \
+remake-am-pr10111.test \
+remake-m4-pr10111.test \
 pr8365-remake-timing.test \
 regex.test \
 regex-obsolete.test \
diff --git a/tests/remake-am-pr10111.test b/tests/remake-am-pr10111.test
new file mode 100644
index 0000000..6f622f8
--- /dev/null
+++ b/tests/remake-am-pr10111.test
@@ -0,0 +1,64 @@
+#! /bin/sh
+# Copyright (C) 2011 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Check that our remake rules doesn't give spurious successes in
+# some corner case situations where they should actually fail.
+# See automake bug#10111.
+# To be clear, we are speaking about *very* corner-case situations here,
+# and the fact that the remake rules might get confused in them is not a
+# big deal in practice (in fact, this test *currently fails*).  Still,
+# keeping the limitation exposed is a good idea anyway.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in <<'END'
+AC_OUTPUT
+END
+
+: > foobar.am
+
+cat > Makefile.am <<'END'
+include $(srcdir)/foobar.am
+$(srcdir)/foobar.am:
+## Creative quoting to avoid spurious matches in the grepping
+## of Makefile.in, later.
+       echo '#' 'foobar' 'was 'here' '#' > $@
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+# OK, so the developer wants to interactively try out how the
+# "distributed form" of his package behaves.
+$MAKE distdir
+cd $distdir
+# He's interested in trying out a VPATH build.
+mkdir build
+cd build
+../configure
+# He wants to verify that the rules he's written to rebuild a file
+# included by configure.in works also in VPATH builds.
+rm -f ../foobar.am
+$MAKE
+grep '# foobar was here #' ../Makefile.in
+$MAKE distcheck
+
+:
diff --git a/tests/remake-m4-pr10111.test b/tests/remake-m4-pr10111.test
new file mode 100644
index 0000000..2d89c25
--- /dev/null
+++ b/tests/remake-m4-pr10111.test
@@ -0,0 +1,62 @@
+#! /bin/sh
+# Copyright (C) 2011 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Check that our remake rules doesn't give spurious successes in
+# some corner case situations where they should actually fail.
+# See automake bug#10111.
+# To be clear, we are speaking about *very* corner-case situations here,
+# and the fact that the remake rules might get confused in them is not a
+# big deal in practice (in fact, this test *currently fails*).  Still,
+# keeping the limitation exposed is a good idea anyway.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in <<'END'
+m4_include([foobar.m4])
+AC_OUTPUT
+END
+
+: > foobar.m4
+
+cat > Makefile.am <<'END'
+$(srcdir)/foobar.m4:
+       echo ': foobar was here :' > $@
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+# OK, so the developer wants to interactively try out how the
+# "distributed form" of his package behaves.
+$MAKE distdir
+cd $distdir
+# He's interested in trying out a VPATH build.
+mkdir build
+cd build
+../configure
+# He wants to verify that the rules he's written to rebuild a file
+# included by configure.in works also in VPATH builds.
+rm -f ../foobar.m4
+$MAKE
+grep ': foobar was here :' ../configure
+$MAKE distcheck
+
+:
diff --git a/tests/uninstall-fail.test b/tests/uninstall-fail.test
index f87a20f..19b9e53 100755
--- a/tests/uninstall-fail.test
+++ b/tests/uninstall-fail.test
@@ -25,7 +25,19 @@
 mkdir d
 : > d/f
 chmod a-w d || skip "cannot make directories unwritable"
-rm -f d/f && skip_ "can delete files from unwritable directories"
+
+# On Solaris 10, if `/bin/rm' is run with the `-f' option, it doesn't
+# print any error message when failing to remove a file (due to e.g.,
+# "Permission denied").  Yikes.  We'll cater to this incompatibility
+# by relaxing a test below if a faulty `rm' is detected.
+st=0; rm -f d/f 2>stderr || st=$?
+cat stderr >&2
+test $st -gt 0 || skip_ "can delete files from unwritable directories"
+if grep 'rm:' stderr; then
+  rm_f_is_silent_on_error=no
+else
+  rm_f_is_silent_on_error=yes
+fi
 
 cat >> configure.in << 'END'
 AC_OUTPUT
@@ -51,15 +63,34 @@ mkdir $inst $inst/share
 chmod a-w $inst/share
 $MAKE uninstall >output 2>&1 && { cat output; Exit 1; }
 cat output
-grep "rm: .*foobar\.txt" output
+if test $rm_f_is_silent_on_error = yes; then
+  : "rm -f" is silent on errors, skip the grepping of make output
+else
+  grep "rm: .*foobar\.txt" output
+fi
 
 chmod a-rwx $inst/share
 (cd $inst/share) && skip_ "cannot make directories fully unreadable"
 
 $MAKE uninstall >output 2>&1 && { cat output; Exit 1; }
 cat output
+#
 # Some shells, like Solaris 10 /bin/sh and /bin/ksh, do not report
-# the name of the `cd' builtin upon a chdir error.
-$EGREP "(cd|sh): .*$inst/share" output
+# the name of the `cd' builtin upon a chdir error:
+#
+#   $ /bin/sh -c 'cd /none'
+#   /bin/sh: /none: does not exist
+#
+# In addition, some shells, like Solaris 10 /usr/xpg4/bin/sh, also print
+# a line number in the error message *if the command contains newlines*:
+#
+#   $ /usr/xpg4/bin/sh -c 'cd unreadable'
+#   /usr/xpg4/bin/sh: unreadable: permission denied
+#   $ /usr/xpg4/bin/sh -c '\
+#   > \
+#   > cd unreadable'
+#   /usr/xpg4/bin/sh[3]: unreadable: permission denied
+#
+$EGREP "(cd|sh)(\[[0-9]*[0-9]\])?: .*$inst/share" output
 
 :


hooks/post-receive
-- 
GNU Automake



reply via email to

[Prev in Thread] Current Thread [Next in Thread]