automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.12.3


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.12.3-855-g88d130e
Date: Wed, 03 Oct 2012 11:26:20 +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=88d130e2b105d1fe0546a498d7e43e42345d91af

The branch, ng/master has been updated
       via  88d130e2b105d1fe0546a498d7e43e42345d91af (commit)
       via  136a7f587daf8ee9af062703725a4d18f8ca2fa6 (commit)
       via  60f638dad223db8b459cd35c7d430d8e663c3e67 (commit)
       via  7411adcdad588acf2a167dd05e5a942fa752e90e (commit)
       via  b8651afd8279a6eb86648b08579776eec368f8fb (commit)
       via  0983d15f0a9d9b6ed85ec6495f530e7437a02c0a (commit)
       via  25ffe7d54d557a056a1c00332a2fea2bbf8ba532 (commit)
       via  58ec9d74d9001246b222320f2a9dfe8ecb71bb52 (commit)
       via  9f2442d723e3e473708390821bf34f7bc6a83cb6 (commit)
       via  d6008c51a33b42ae0578b71448b188741e96f0af (commit)
       via  dcff988359f0dba5d133bbacde8fcb983108ccbf (commit)
       via  58b4936fed9d52b39445e02e9984eae3b6daec19 (commit)
       via  b90321a7ed5ffbbd51cccc80499fcc07bcb5b0b8 (commit)
      from  485e9b76fa99dd688794b54f3540139dfda49318 (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 88d130e2b105d1fe0546a498d7e43e42345d91af
Merge: 136a7f5 7411adc
Author: Stefano Lattarini <address@hidden>
Date:   Wed Oct 3 13:07:17 2012 +0200

    Merge branch 'master' into ng/master
    
    * master:
      config headers: remove stale comment in makefile fragment
      NEWS: wording and quoting fixlets in few older entries
      config headers: don't emit rules for headers not generated by autoheader
      docs: fix minor typo: s/expending/expanding/
      sync: update files from upstream with "make fetch"
      maint: post-release minor version bump
      maint: typo fixes s/lies into/lies in/
      release: stable release 1.12.4
      NEWS: minor fix
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 136a7f587daf8ee9af062703725a4d18f8ca2fa6
Author: Stefano Lattarini <address@hidden>
Date:   Wed Oct 3 00:03:10 2012 +0200

    dry run: use $(MFLAGS), not $(MAKEFLAGS), to determine whether running dry
    
    $(MFLAGS) does not containing the command line variable definitions, and
    it always begins with a hyphen unless it is empty (MAKEFLAGS begins with
    a hyphen only when it begins with an option that has no single-letter
    version, such as '--warn-undefined-variables').  This allows use to make
    stricter assumptions on its content, thus simplifying the implementation
    of ...
    
    * lib/am/header-vars.am (am__make_dryrun): ... this macro.
    * t/make-dryrun.tap: Simplify accordingly.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 60f638dad223db8b459cd35c7d430d8e663c3e67
Author: Stefano Lattarini <address@hidden>
Date:   Tue Oct 2 23:10:19 2012 +0200

    dry run: improve coverage on $(am.make.dry-run)
    
    * t/make-dryrun.tap: Here.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

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

Summary of changes:
 NEWS                        |   73 ++++++++++++++++++++++----------------
 THANKS                      |    1 +
 automake.in                 |    1 +
 doc/automake-ng.texi        |    8 +++--
 lib/am/header-vars.mk       |   17 +++------
 lib/am/remake-hdr.am        |    4 +-
 lib/texinfo.tex             |   71 +++++++++++++++++---------------------
 t/autohdr-subdir-pr12495.sh |   80 +++++++++++++++++++++++++++++++++++++++++++
 t/make-dryrun.tap           |   69 ++++++++++++------------------------
 9 files changed, 191 insertions(+), 133 deletions(-)
 create mode 100755 t/autohdr-subdir-pr12495.sh

diff --git a/NEWS b/NEWS
index 46aa8cd..15c9332 100644
--- a/NEWS
+++ b/NEWS
@@ -149,7 +149,7 @@ New in 1.13:
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-New in 1.12.4:
+New in 1.12.5:
 
 * WARNING: Future backward-incompatibilities!
 
@@ -205,13 +205,25 @@ New in 1.12.4:
     use the options '--automake-acdir' and '--system-acdir' instead
     (which have been introduced in Automake 1.11.2).
 
-  - The 'missing' script will not try anymore to update the timestamp
+  - The 'missing' script will no longer try to update the timestamp
     of out-of-date files that require a maintainer-specific tool to be
     remade, in case the user lacks such a tool (or has a too-old version
     of it).  In fact, starting from Automake 1.13, all it'll do will be
     giving more useful warnings than a bare "command not found" from a
     make recipe would.
 
+Bugs fixed in 1.12.5:
+
+* Long-standing bugs:
+
+  - Automake no longer generates spurious remake rules invoking autoheader
+    to regenerate the template corresponding to header files specified after
+    the first one in AC_CONFIG_HEADERS (automake bug#12495).
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+New in 1.12.4:
+
 * Warnings and deprecations:
 
   - Warnings in the 'obsolete' category are enabled by default both in
@@ -227,9 +239,8 @@ New in 1.12.3:
 
 * Miscellaneous changes:
 
-  - The '.m4' files provided by Automake does not define serial numbers
-    anymore.  This should cause no difference in the behaviour of aclocal
-    though.
+  - The '.m4' files provided by Automake no longer define serial numbers.
+    This should cause no difference in the behaviour of aclocal though.
 
   - Some testsuite weaknesses and spurious failures have been fixed.
 
@@ -322,7 +333,7 @@ New in 1.12.1:
   - Use of the long-deprecated two- and three-arguments invocation forms
     of the AM_INIT_AUTOMAKE macro now elicits a warning in the 'obsolete'
     category.  Starting from some future major Automake release (likely
-    post-1.13), such usages won't be allowed anymore.
+    post-1.13), such usages will be no longer allowed.
 
   - Support for the "Cygnus-style" trees (enabled by the 'cygnus' option) is
     now deprecated (its use triggers a warning in the 'obsolete' category).
@@ -336,8 +347,8 @@ New in 1.12.1:
 * Miscellaneous changes:
 
   - The Automake test cases now require a proper POSIX-conforming shell.
-    Older non-POSIX Bourne shells (like Solaris 10 /bin/sh) won't be
-    accepted anymore.  In most cases, the user shouldn't have to specify
+    Older non-POSIX Bourne shells (like Solaris 10 /bin/sh) will be no
+    longer accepted.  In most cases, the user shouldn't have to specify
     such POSIX shell explicitly, since it will be looked up at configure
     time.  Still, when this lookup fails, or when the user wants to
     override its conclusion, the variable 'AM_TEST_RUNNER_SHELL' can be
@@ -448,7 +459,7 @@ New in 1.12:
     the '--add-missing' option, or manually copy the 'test-driver' script
     into their tree.  The second, and more important, implication is that
     now, when the 'parallel-tests' option is in use, TESTS_ENVIRONMENT can
-    not be used anymore to define a test runner, and the command specified
+    no longer be used to define a test runner, and the command specified
     in LOG_COMPILER (and <ext>_LOG_COMPILER) must be a *real* executable
     program or script.  For example, this is still a valid usage (albeit
     a little contorted):
@@ -461,7 +472,7 @@ New in 1.12:
         fi;
       LOG_COMPILER = $(SHELL) $$maybe_errexit
 
-    while this is not anymore:
+    OTOH, this is no longer a valid usage:
 
       TESTS_ENVIRONMENT = \
         $(SHELL) `test -n '$(STRICT_TESTS_CHECKING)' && echo ' -e'`
@@ -562,9 +573,9 @@ Bugs fixed in 1.12:
   - The AM_COND_IF macro also works if the shell expression for the
     conditional is no longer valid for the condition.
 
-  - The automake-provided parallel testsuite harness does not fail anymore
-    with BSD make used in parallel mode when there are test scripts in a
-    subdirectory, like in:
+  - The automake-provided parallel testsuite harness no longer fails
+    with BSD make used in parallel mode when there are test scripts in
+    a subdirectory, like in:
 
       TESTS = sub/foo.test sub/bar.test
 
@@ -639,7 +650,7 @@ Bugs fixed in 1.11.4:
 * Bugs introduced by 1.11.2:
 
   - A definition of 'noinst_PYTHON' before 'python_PYTHON' (or similar)
-    don't cause spurious failures upon "make install" anymore.
+    no longer cause spurious failures upon "make install".
 
   - The user can now instruct the 'uninstall-info' rule not to update
     the '${infodir}/dir' file by exporting the environment variable
@@ -657,9 +668,9 @@ Bugs fixed in 1.11.4:
     '-I' is non-existent, aclocal will now create it before trying to copy
     files in it.
 
-  - An empty declaration of a "foo_PRIMARY" don't cause anymore the
-    generated install rules to create an empty $(foodir) directory;
-    for example, if Makefile.am contains something like:
+  - An empty declaration of a "foo_PRIMARY" no longer cause the generated
+    install rules to create an empty $(foodir) directory; for example, if
+    Makefile.am contains something like:
 
       pkglibexec_SCRIPTS =
       if FALSE
@@ -677,15 +688,15 @@ New in 1.11.3:
   - Automake's own build system is more silent by default, making use of
     the 'silent-rules' option.
 
-  - The master copy of the `gnupload' script is now maintained in gnulib,
+  - The master copy of the 'gnupload' script is now maintained in gnulib,
     not in automake.
 
-  - The `missing' script doesn't try to wrap calls to `tar' anymore.
+  - The 'missing' script no longer tries to wrap calls to 'tar'.
 
-  - "make dist" doesn't wrap `tar' invocations with the `missing' script
-    anymore.  Similarly, the obsolescent variable `$(AMTAR)' (which you
-    shouldn't be using BTW ;-) does not invoke the missing script anymore
-    to wrap tar, but simply invokes the `tar' program itself.
+  - "make dist" no longer wraps 'tar' invocations with the 'missing'
+    script.  Similarly, the obsolescent variable '$(AMTAR)' (which you
+    shouldn't be using BTW ;-) no longer invokes the 'missing' script
+    to wrap tar, but simply invokes the 'tar' program itself.
 
   - "make dist" can now create lzip-compressed tarballs.
 
@@ -711,24 +722,24 @@ Bugs fixed in 1.11.3:
 * Bugs introduced by 1.11.2:
 
   - Automake now correctly recognizes the prefix/primary combination
-   `pkglibexec_SCRIPTS' as valid.
+   'pkglibexec_SCRIPTS' as valid.
 
-  - The parallel-tests harness doesn't trip anymore on sed implementations
+  - The parallel-tests harness now doesn't trip on sed implementations
     with stricter limits on the length of input lines (problem seen at
     least on Solaris 8).
 
 * Long-standing bugs:
 
   - The "deleted header file problem" for *.am files is avoided by stub
-    rules.  This allows `make' to trigger a rerun of `automake' also if
-    some previously needed `.am' file has been removed.
+    rules.  This allows 'make' to trigger a rerun of 'automake' also if
+    some previously needed '.am' file has been removed.
 
-  - The `silent-rules' option now generates working makefiles even
-    for the uncommon `make' implementations that do not support the
-    nested-variables extension to POSIX 2008.  For such `make'
+  - The 'silent-rules' option now generates working makefiles even
+    for the uncommon 'make' implementations that do not support the
+    nested-variables extension to POSIX 2008.  For such 'make'
     implementations, whether a build is silent is determined at
     configure time, and cannot be overridden at make time with
-    `make V=0' or `make V=1'.
+    "make V=0" or "make V=1".
 
   - Vala support now works better in VPATH setups.
 
diff --git a/THANKS b/THANKS
index ca95db8..88f539c 100644
--- a/THANKS
+++ b/THANKS
@@ -143,6 +143,7 @@ Harald Dunkel                   address@hidden
 Harlan Stenn                    address@hidden
 He Li                           address@hidden
 Henrik Frystyk Nielsen          address@hidden
+Hib Eris                        address@hidden
 Ian Lance Taylor                address@hidden
 Ignacy Gawedzki                 address@hidden
 Илья Н. Голубев                 address@hidden
diff --git a/automake.in b/automake.in
index 1799875..6606853 100644
--- a/automake.in
+++ b/automake.in
@@ -3556,6 +3556,7 @@ sub handle_configure ($@)
          $output_rules .=
            file_contents ('remake-hdr',
                           new Automake::Location,
+                          'FIRST-HDR'      => ($hdr_index == 1),
                           CONFIG_H         => $cn_sans_dir,
                           CONFIG_HIN       => $ins[0],
                           CONFIG_H_DEPS    => "@ins",
diff --git a/doc/automake-ng.texi b/doc/automake-ng.texi
index 6bc5467..e7c960b 100644
--- a/doc/automake-ng.texi
+++ b/doc/automake-ng.texi
@@ -2951,9 +2951,11 @@ Automake will require the sources file declared with
 macro.
 
 @item AC_CONFIG_HEADERS
-Automake will generate rules to rebuild these headers.  Older versions
-of Automake required the use of @code{AM_CONFIG_HEADER}; this is no
-longer the case, and that macro has indeed been removed.
+Automake will generate rules to rebuild these headers from the
+corresponding templates (usually, the template for a @file{foo.h}
+header being @file{foo.h.in}).  Older versions of Automake
+required the use of @code{AM_CONFIG_HEADER}; this is no longer
+the case, and that macro has indeed been removed.
 
 As with @code{AC_CONFIG_FILES} (@pxref{Requirements}), parts of the
 specification using shell variables will be ignored as far as
diff --git a/lib/am/header-vars.mk b/lib/am/header-vars.mk
index 27699ba..c067bdf 100644
--- a/lib/am/header-vars.mk
+++ b/lib/am/header-vars.mk
@@ -160,19 +160,12 @@ DESTDIR ?=
 
 # Tell whether make is running in "dry mode".  It is either 'true' or
 # 'false', so that it can be easily used in shell code as well as in
-# GNU make conditionals.
-# If we run "make TESTS='snooze nap'", GNU make will export MAKEFLAGS to
-# "TESTS=foo\ nap", so that the builtins operating on word-split lists
-# would see a "make flag" equal to "nap" when analyzing $(MAKEFLAGS), and
-# would wrongly misinterpret that as and indication that make is running
-# in dry mode.  This has already happened in practice.  So we need the
-# hack with $(subst \ , ...).
+# GNU make conditionals.  Use $(MFLAGS), not $(MAKEFLAGS), since the
+# former doesn't containing the command line variable definitions, and
+# it always begins with a hyphen unless it is empty, assumptions that
+# allow a simpler implementation.
 am.make.dry-run := \
-  $(strip $(if $(strip \
-    $(foreach v, $(subst \ ,,$(strip $(MAKEFLAGS))), \
-      $(if $(or $(findstring =,$v),$(filter --%,$v)),, \
-        $(findstring n,$v)))), \
-    true, false))
+  $(if $(findstring n,$(filter-out --%,$(MFLAGS))),true,false)
 
 am.util.strip-first-word = $(wordlist 2,$(words $(1)),$(1))
 am.util.strip-last-word  = $(wordlist 2,$(words $(1)),dummy $(1))
diff --git a/lib/am/remake-hdr.am b/lib/am/remake-hdr.am
index cf4f013..54222c0 100644
--- a/lib/am/remake-hdr.am
+++ b/lib/am/remake-hdr.am
@@ -27,7 +27,7 @@
 
 ## Only the first file of AC_CONFIG_HEADERS is assumed to be generated
 ## by autoheader.
-if %?FIRST%
+if %?FIRST-HDR%
 %CONFIG_HIN%: $(am.remake.configure-deps)
        cd $(top_srcdir) && $(AUTOHEADER)
 ## Whenever $(AUTOHEADER) has run, we must make sure that
@@ -67,4 +67,4 @@ if %?FIRST%
 ## by config.status, there is no reason to make things complex for
 ## config.hin.
        touch $@
-endif %?FIRST%
+endif %?FIRST-HDR%
diff --git a/lib/texinfo.tex b/lib/texinfo.tex
index f458ba7..f3093d0 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{2012-09-04.17}
+\def\texinfoversion{2012-09-12.16}
 %
 % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -2272,8 +2272,6 @@ end
 
 \gdef\markupsetcodequoteleft{\let`\codequoteleft}
 \gdef\markupsetcodequoteright{\let'\codequoteright}
-
-\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft}
 }
 
 \let\markupsetuplqcode \markupsetcodequoteleft
@@ -2282,6 +2280,9 @@ end
 \let\markupsetuplqexample \markupsetcodequoteleft
 \let\markupsetuprqexample \markupsetcodequoteright
 %
+\let\markupsetuplqkbd     \markupsetcodequoteleft
+\let\markupsetuprqkbd     \markupsetcodequoteright
+%
 \let\markupsetuplqsamp \markupsetcodequoteleft
 \let\markupsetuprqsamp \markupsetcodequoteright
 %
@@ -2291,8 +2292,6 @@ end
 \let\markupsetuplqverbatim \markupsetcodequoteleft
 \let\markupsetuprqverbatim \markupsetcodequoteright
 
-\let\markupsetuplqkbd \markupsetnoligaturesquoteleft
-
 % Allow an option to not use regular directed right quote/apostrophe
 % (char 0x27), but instead the undirected quote from cmtt (char 0x0d).
 % The undirected quote is ugly, so don't make it the default, but it
@@ -2382,8 +2381,7 @@ end
   \aftersmartic
 }
 
-% like \smartslanted except unconditionally uses \ttsl, and no ic.
-% @var is set to this for defun arguments.
+% Unconditional use \ttsl, and no ic.  @var is set to this for defuns.
 \def\ttslanted#1{{\ttsl #1}}
 
 % @cite is like \smartslanted except unconditionally use \sl.  We never want
@@ -2695,10 +2693,6 @@ end
   \let\email=\uref
 \fi
 
-% @kbd is like @code, except that if the argument is just one @key command,
-% then @kbd has no effect.
-\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}}
-
 % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
 %   `example' (@kbd uses ttsl only inside of @example and friends),
 %   or `code' (@kbd uses normal tty font always).
@@ -2722,11 +2716,17 @@ end
 % Default is `distinct'.
 \kbdinputstyle distinct
 
+% @kbd is like @code, except that if the argument is just one @key command,
+% then @kbd has no effect.
+\def\kbd#1{{\def\look{#1}\expandafter\kbdsub\look??\par}}
+
 \def\xkey{\key}
-\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
-\ifx\one\xkey\ifx\threex\three \key{#2}%
-\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
-\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi}
+\def\kbdsub#1#2#3\par{%
+  \def\one{#1}\def\three{#3}\def\threex{??}%
+  \ifx\one\xkey\ifx\threex\three \key{#2}%
+  \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
+  \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
+}
 
 % definition of @key that produces a lozenge.  Doesn't adjust to text size.
 %\setfont\keyrm\rmshape{8}{1000}{OT1}
@@ -3272,7 +3272,8 @@ end
 % Settings used for typesetting titles: no hyphenation, no indentation,
 % don't worry much about spacing, ragged right.  This should be used
 % inside a \vbox, and fonts need to be set appropriately first.  Because
-% it is always used for titles, nothing else, we call \rmisbold.
+% it is always used for titles, nothing else, we call \rmisbold.  \par
+% should be specified before the end of the \vbox, since a vbox is a group.
 % 
 \def\raggedtitlesettings{%
   \rmisbold
@@ -3289,7 +3290,7 @@ end
 
 \parseargdef\title{%
   \checkenv\titlepage
-  \vbox{\titlefonts \raggedtitlesettings #1}
+  \vbox{\titlefonts \raggedtitlesettings #1\par}%
   % print a rule at the page bottom also.
   \finishedtitlepagefalse
   \vskip4pt \hrule height 4pt width \hsize \vskip4pt
@@ -4256,7 +4257,7 @@ end
 }
 \def\ifcmddefinedfail{\doignore{ifcommanddefined}}
 
-% @ifcommandnotdefined CMD ... handlded similar to @ifclear above.
+% @ifcommandnotdefined CMD ... handled similar to @ifclear above.
 \makecond{ifcommandnotdefined}
 \def\ifcommandnotdefined{%
   \parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}}
@@ -5592,14 +5593,6 @@ end
 
 % Define @majorheading, @heading and @subheading
 
-% NOTE on use of \vbox for chapter headings, section headings, and such:
-%       1) We use \vbox rather than the earlier \line to permit
-%          overlong headings to fold.
-%       2) \hyphenpenalty is set to 10000 because hyphenation in a
-%          heading is obnoxious; this forbids it.
-%       3) Likewise, headings look best if no \parindent is used, and
-%          if justification is not attempted.  Hence \raggedright.
-
 \def\majorheading{%
   {\advance\chapheadingskip by 10pt \chapbreak }%
   \parsearg\chapheadingzzz
@@ -5607,10 +5600,8 @@ end
 
 \def\chapheading{\chapbreak \parsearg\chapheadingzzz}
 \def\chapheadingzzz#1{%
-  {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                    \parindent=0pt\ptexraggedright
-                    \rmisbold #1\hfill}}%
-  \bigskip \par\penalty 200\relax
+  \vbox{\chapfonts \raggedtitlesettings #1\par}%
+  \nobreak\bigskip \nobreak
   \suppressfirstparagraphindent
 }
 
@@ -5769,8 +5760,7 @@ end
     %
     % Typeset the actual heading.
     \nobreak % Avoid page breaks at the interline glue.
-    \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright
-          \hangindent=\wd0 \centerparametersmaybe
+    \vbox{\raggedtitlesettings \hangindent=\wd0 \centerparametersmaybe
           \unhbox0 #1\par}%
   }%
   \nobreak\bigskip % no page break after a chapter title
@@ -5792,18 +5782,18 @@ end
 \def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
 %
 \def\unnchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                       \parindent=0pt\ptexraggedright
-                       \rmisbold #1\hfill}}\bigskip \par\nobreak
+  \chapoddpage
+  \vbox{\chapfonts \raggedtitlesettings #1\par}%
+  \nobreak\bigskip\nobreak
 }
 \def\chfopen #1#2{\chapoddpage {\chapfonts
 \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
 \par\penalty 5000 %
 }
 \def\centerchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                       \parindent=0pt
-                       \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak
+  \chapoddpage
+  \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}%
+  \nobreak\bigskip \nobreak
 }
 \def\CHAPFopen{%
   \global\let\chapmacro=\chfopen
@@ -7082,7 +7072,10 @@ end
   \df \sl \hyphenchar\font=0
   %
   % On the other hand, if an argument has two dashes (for instance), we
-  % want a way to get ttsl.  Let's try @var for that.
+  % want a way to get ttsl.  We used to recommend @var for that, so
+  % leave the code in, but it's strange for @var to lead to typewriter.
+  % Nowadays we recommend @code, since the difference between a ttsl hyphen
+  % and a tt hyphen is pretty tiny.  @code also disables ?` !`.
   \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}%
   #1%
   \sl\hyphenchar\font=45
diff --git a/t/autohdr-subdir-pr12495.sh b/t/autohdr-subdir-pr12495.sh
new file mode 100755
index 0000000..77d2522
--- /dev/null
+++ b/t/autohdr-subdir-pr12495.sh
@@ -0,0 +1,80 @@
+#! /bin/sh
+# Copyright (C) 2012 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/>.
+
+# Related to automake bug#12495: Automake shouldn't generate useless
+# remake rules for AC_CONFIG_HEADERS arguments after the first one,
+# not even when subdirs are involved.
+
+. ./defs || exit 1
+
+cat >> configure.ac << 'END'
+AC_CONFIG_HEADERS([a.h b.h sub/c.h])
+AC_CONFIG_FILES([sub/Makefile])
+AC_OUTPUT
+END
+
+mkdir sub
+echo SUBDIRS = sub > Makefile.am
+: > sub/Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOHEADER
+# Even if an AC_CONFIG_HEADERS invocation is passed several files in
+# the first argument, only the first one is considered by autoheader
+# for automatic generation.  Otherwise, the present test case would
+test -f a.h.in && test ! -f c.h.in && test ! -f sub/c.h.in \
+  || fatal_ "unexpected autoheader behavior with multiple" \
+            "AC_CONFIG_HEADERS arguments"
+# Automake should require the missing headers though.
+AUTOMAKE_fails -Wno-error -Wnone
+grep "^configure\.ac:4:.* required file 'b.h.in' not found" stderr
+grep "^configure\.ac:4:.* required file 'sub/c.h.in' not found" stderr
+: > b.h.in
+: > sub/c.h.in
+$AUTOMAKE
+
+./configure
+
+# Automake should regenerate this.
+grep '^$(srcdir)/a\.h\.in:' Makefile.in
+# But not these.
+grep '[bc]\.h\.in.*:' Makefile.in sub/Makefile.in && exit 1
+
+test -f a.h && test -f b.h && test -f sub/c.h \
+  || fatal_ "unexpected ./configure behavior with multiple" \
+            "AC_CONFIG_HEADERS arguments"
+
+rm -f a.h.in a.h
+$MAKE
+test -f a.h.in
+test -f a.h
+
+ocwd=$(pwd)
+for x in b c; do
+  test $x = b || cd sub
+  rm -f $x.h.in
+  $MAKE $x.h.in 2>stderr && { cat stderr >&2; exit 1; }
+  cat stderr >&2
+  test ! -f $x.h.in
+  if using_gmake; then
+    grep "No rule to make target [\`\"']$x\.h\.in[\`\"']" stderr
+  fi
+  : > $x.h.in
+  cd "$ocwd" || fatal_ "cannot chdir back"
+done
+
+:
diff --git a/t/make-dryrun.tap b/t/make-dryrun.tap
index 39a3454..487681b 100755
--- a/t/make-dryrun.tap
+++ b/t/make-dryrun.tap
@@ -20,21 +20,19 @@
 
 plan_ 14
 
-mkdir sub
-
 echo AC_OUTPUT >> configure.ac
 
 cat > Makefile.am <<'END'
 all:
-       : Dummy, nothing to do.
-foo:
-       $(MAKE) all
-notdry:
-       @echo ":: $$MAKEFLAGS ::" # For debugging.
+       @echo "Target '$@' should never run" >&2; exit 1;
+notdry-plain:
        $(am.make.dry-run) && exit 1; exit 0
-dry:
-       address@hidden ":: $$MAKEFLAGS ::" # For debugging.
+notdry-recursive:
+       $(MAKE) notdry-plain
+dry-plain:
        +$(am.make.dry-run) || exit 1; echo ok > from-dry-mode
+dry-recursive:
+       $(MAKE) dry-plain
 END
 
 $ACLOCAL    || fatal_ "aclocal failed"
@@ -46,31 +44,36 @@ $AUTOMAKE   || fatal_ "automake failed"
 
 check_no_dryrun ()
 {
-  command_ok_ "dry-run ($cnt)" $MAKE notdry ${1+"$@"}
+  for kind in plain recursive; do
+    command_ok_ "wet-run, $kind ($cnt)" $MAKE notdry-$kind ${1+"$@"}
+  done
   cnt=$(($cnt + 1))
 }
 cnt=1
 
 check_no_dryrun
+check_no_dryrun -k
 
 # Test against a known regression.  This was especially heinous, since
 # make running in normal mode was sometimes mistaken for make running
 # in dry mode.
-check_no_dryrun TESTS="n1.test n2.test"
-check_no_dryrun TESTS="n1 n2"
-check_no_dryrun TESTS="n1 n2"
-check_no_dryrun FOOFLAGS="-n -n -knf2 n --none -n"
-check_no_dryrun MYFLAGS="-n --dryrun -n --dry-run -n"
+mkdir n ./--dry-run
+check_no_dryrun -I n
+check_no_dryrun -I --dry-run
+check_no_dryrun -I n -I --dry-run
+rmdir n ./--dry-run
 
 # ----------------------------------------------------------------------
 
 check_dryrun ()
 {
-  r=ok
-  $MAKE dry ${1+"$@"}   || r='not ok'
-  test -f from-dry-mode || r='not ok'
-  rm -f from-dry-mode   || fatal_ "cleaning up"
-  result_ "$r" "not dry-run ($cnt)"
+  for kind in plain recursive; do
+    r=ok
+    $MAKE dry-$kind ${1+"$@"} || r='not ok'
+    test -f from-dry-mode || r='not ok'
+    rm -f from-dry-mode || fatal_ "cleaning up"
+    result_ "$r" "dry-run, $kind ($cnt)"
+  done
   cnt=$(($cnt + 1))
 }
 cnt=1
@@ -80,30 +83,4 @@ check_dryrun --dry-run -k
 
 # ----------------------------------------------------------------------
 
-# Test for when shell metacharacters or backslashes are in $(MAKEFLAGS).
-
-check_metachars ()
-{
-  r=ok
-  $MAKE notdry ${1+"$@"} || r='not ok'
-  if test -f bad; then
-    r='not ok'
-  else
-    rm -f bad || fatal_ "cleaning up"
-  fi
-  result_ "$r" "dry-run, with shell metachars ($cnt)"
-  unset r
-  cnt=$(($cnt + 1))
-}
-cnt=1
-
-check_metachars MYFLAGS="-n \"n\" '-n' --none -n"
-check_metachars MYFLAGS='-knf2\ n\ \\n'
-check_metachars MYFLAGS="(&) | ; \" \` '"
-check_metachars MYFLAGS=" ' # ' "
-check_metachars MYFLAGS='$(foo)'
-check_metachars MYFLAGS='`touch bad`'
-
-# ----------------------------------------------------------------------
-
 :


hooks/post-receive
-- 
GNU Automake



reply via email to

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