autoconf-patches
[Top][All Lists]
Advanced

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

Re: VPATH / English / etc updates for Autoconf manual


From: Paul Eggert
Subject: Re: VPATH / English / etc updates for Autoconf manual
Date: Thu, 15 Jun 2006 01:52:26 -0700
User-agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux)

Ralf Wildenhues <address@hidden> writes:

> I was wondering if we could unify the spelling of
>   timestamp  vs.  time stamp
>   side-effect vs. side effect

Posix uses "timestamp" and "side effect" so let's use that.

> I didn't know the word discontent.  Looking it up turned up
> a description that makes me wonder if it fits a technical
> manual...

You didn't get the reference to Sigmund Freud's famous book?  Freud
had phobias about death, trains, ferns, and VPATH (you could look it
up :-).

OK, let's change it to "woes".

>> -The following variables specify the directories where the package will
>> -be installed, see @ref{Directory Variables, , Variables for
>> +The following variables specify the directories where the package
>> +is installed, see @ref{Directory Variables, , Variables for
>
> This change seems misleading to me.  Users may wonder whether it deals
> with some already-installed files, or whether it is somehow necessary
> to have something installed prior to using these variables.  IMVHO the
> original wording was just fine, and I think this is one of the places
> where it is very helpful to have the tense imply the actual sequence of
> actions.

But the actual sequence of actions might be other than what you're
thinking of, and the code works just fine.  This is partly indicated
by the fact that the rest of the section does not use future tense.

I kept "will" when there was a real need to refer to a future action,
but here I think the tense is confusing more than helpful.  However,
I'll reword it to remove "is" as well ("The following specify the
directories for package installation...."); I hope this addresses
at least part of the objection.

> ensures any macros @code{AC_REQUIRE}'d by @code{HANDLE_FOO}
> (or some other reformulation that avoids the "'d").

OK, done.  I'll also fix all instances of "}'" that look ugly in
Emacs info mode.

>> -the variable being initialized will never be IFS-split (i.e., it's not a
>> +the variable being initialized is never IFS-split (i.e., it's not a
>> ...
>> -the variable being initialized will be IFS-split (i.e., it's a list),
>> +the variable being initialized is IFS-split (i.e., it's a list),
>> ...
>
> These two also benefit tremendously from future tense, IMO.

OK, I'll reword these too.

>> -have greater confidence that your programs will work on a wide variety
>> +have greater confidence that your programs work on a wide variety
>> ...
>
> works

"programs work" looks OK to me.

Other changes look fine.  I installed this.  Thanks.

2006-06-15  Paul Eggert  <address@hidden>

        * doc/autoconf.texi: More formatting and English tweaks,
        many suggested by Ralf Wildenhues.
        Reword to avoid "@code{...}'s" and the like, since it's ugly
        with Emacs info mode.  discontents -> woes.
        Put a few "will"s back.  time stamp -> timestamp.
        side-effect -> side effect.

--- doc/autoconf.texi   15 Jun 2006 07:33:41 -0000      1.1047
+++ doc/autoconf.texi   15 Jun 2006 08:47:21 -0000      1.1048
@@ -494,7 +494,7 @@ Portable Make Programming
 * Comments in Make Rules::      Other problems with Make comments
 * obj/ and Make::               Don't name a subdirectory @file{obj}
 * make -k Status::              Exit status of @samp{make -k}
-* VPATH and Make::              @code{VPATH} and its many discontents
+* VPATH and Make::              @code{VPATH} woes
 * Single Suffix Rules::         Single suffix rules and separated dependencies
 * Timestamps and Make::         Subsecond timestamp resolution
 
@@ -1091,8 +1091,8 @@ AC_CHECK_HEADER([stdio.h],
 @noindent
 because @samp{1} cannot contain a macro call.  Here, the argument of
 @code{AC_MSG_ERROR} must be quoted; otherwise, its comma would be
-interpreted as an argument separator.  Also, @samp{AC_CHECK_HEADER}'s
-second and third arguments must be quoted, since those arguments contain
+interpreted as an argument separator.  Also, the second and third arguments
+of @samp{AC_CHECK_HEADER} must be quoted, since they contain
 macro calls.  The three arguments @samp{HAVE_STDIO_H}, @samp{stdio.h},
 and @samp{Define to 1 if you have <stdio.h>.} do not need quoting, but
 if you unwisely defined a macro with a name like @samp{Define} or
@@ -2058,7 +2058,7 @@ The variables set during the execution o
 @item srcdir
 The name of the top source directory, assuming that the working
 directory is the top build directory.  This
-is what @command{configure}'s option @option{--srcdir} sets.
+is what the @command{configure} option @option{--srcdir} sets.
 
 @item ac_top_srcdir
 The name of the top source directory, assuming that the working
@@ -2132,7 +2132,7 @@ Make @code{AC_OUTPUT} create each @file{
 file (by default @address@hidden), substituting the output variable
 values.
 @c Before we used to have this feature, which was later rejected
address@hidden because it complicates the write of makefiles:
address@hidden because it complicates the writing of makefiles:
 @c If the file would be unchanged, it is left untouched, to preserve
 @c timestamp.
 This macro is one of the instantiating macros; see @ref{Configuration
@@ -2400,8 +2400,8 @@ Absolute name of @code{top_srcdir}.
 @cindex Installation directories
 @cindex Directories, installation
 
-The following variables specify the directories where the package
-is installed, see @ref{Directory Variables, , Variables for
+The following variables specify the directories for
+package installation, see @ref{Directory Variables, , Variables for
 Installation Directories, standards, The @acronym{GNU} Coding
 Standards}, for more information.  See the end of this section for
 details on when and how to use these variables.
@@ -2945,12 +2945,12 @@ however, you'll be thankful for the exis
 
 The fact that the symbols are documented is important in order to
 @emph{check} that @file{config.h} makes sense.  The fact that there is a
-well-defined list of symbols that should be @code{#define}'d (or not) is
+well-defined list of symbols that should be defined (or not) is
 also important for people who are porting packages to environments where
 @command{configure} cannot be run: they just have to @emph{fill in the
 blanks}.
 
-But let's come back to the point: @command{autoheader}'s address@hidden
+But let's come back to the point: the invocation of @address@hidden
 
 If you give @command{autoheader} an argument, it uses that file instead
 of @file{configure.ac} and writes the header file to the standard output
@@ -3036,7 +3036,7 @@ the @var{description} argument to an @sa
 Tell @command{autoheader} to include the @var{template} as-is in the header
 template file.  This @var{template} is associated with the @var{key},
 which is used to sort all the different templates and guarantee their
-uniqueness.  It should be a symbol that can be @code{AC_DEFINE}'d.
+uniqueness.  It should be a symbol that can be defined via @code{AC_DEFINE}.
 
 For example:
 
@@ -3122,7 +3122,7 @@ AC_CONFIG_COMMANDS([fubar],
 
 Here is a better one:
 @example
-AC_CONFIG_COMMANDS([time-stamp], [date >time-stamp])
+AC_CONFIG_COMMANDS([timestamp], [date >timestamp])
 @end example
 @end defmac
 
@@ -3329,7 +3329,7 @@ checking for, and what they find.  They 
 
 Some of these macros set output variables.  @xref{Makefile
 Substitutions}, for how to get their values.  The phrase ``define
address@hidden'' is used below as a shorthand to mean ``define C
address@hidden'' is used below as a shorthand to mean ``define the C
 preprocessor symbol @var{name} to the value 1''.  @xref{Defining
 Symbols}, for how to get those symbol definitions into your program.
 
@@ -3745,8 +3745,8 @@ types are equal, then it is also searche
 
 As noted in @ref{Specifying Names, , Specifying the system type}, the
 target is rarely specified, because most of the time it is the same
-as the host: it is the type of system for which any compiler tools in
-the package produce code.  What this macro looks for is,
+as the host: it is the type of system for which any compiler tool in
+the package produces code.  What this macro looks for is,
 for example, @emph{a tool @r{(assembler, linker, etc.)}@: that the
 compiler driver @r{(@command{gcc} for the @acronym{GNU} C Compiler)}
 uses to produce objects, archives or executables}.
@@ -3879,8 +3879,8 @@ specified, the default action prepends @
 @code{LIBS} and defines @address@hidden (in all
 capitals).  This macro is intended to support building @code{LIBS} in
 a right-to-left (least-dependent to most-dependent) fashion such that
-library dependencies are satisfied as a natural side-effect of
-consecutive tests.  Some linkers are sensitive to library ordering
+library dependencies are satisfied as a natural side effect of
+consecutive tests.  Linkers are sensitive to library ordering
 so the order in which @code{LIBS} is generated is important to reliable
 detection of libraries.
 
@@ -7412,7 +7412,7 @@ avoid ``shortcuts'' and simplifications.
 Don't just play with the preprocessor if you want to prepare a
 compilation.  For instance, using @command{cpp} to check whether a header is
 functional might let your @command{configure} accept a header which
-causes some @emph{compiler} error.  Do not hesitate checking a header with
+causes some @emph{compiler} error.  Do not hesitate to check a header with
 other headers included before, especially required headers.
 
 Make sure the symbols you use are properly defined, i.e., refrain for
@@ -8212,7 +8212,7 @@ Declare @var{variable} is a precious var
 Being precious means that
 @itemize @minus
 @item
address@hidden is @code{AC_SUBST}'d.
address@hidden is substituted via @code{AC_SUBST}.
 
 @item
 The value of @var{variable} when @command{configure} was launched is
@@ -8226,7 +8226,7 @@ We emphasize that it is the @emph{initia
 is saved, not that found during the execution of @command{configure}.
 Indeed, specifying @samp{./configure FOO=foo} and letting
 @samp{./configure} guess that @code{FOO} is @code{foo} can be two
-different runs.
+different things.
 
 @item
 @var{variable} is checked for consistency between two
@@ -8354,7 +8354,7 @@ AC_DEFUN([AC_SHELL_TRUE],
 
 @noindent
 This fails if the cache is enabled: the second time this macro is run,
address@hidden @emph{is not defined}.  The proper implementation
address@hidden @emph{will not be defined}.  The proper implementation
 is:
 
 @example
@@ -9266,8 +9266,8 @@ autom4te --warnings=syntax,$WARNINGS,@va
 @end example
 
 @noindent
-For example, if you want to disable @command{autom4te}'s defaults and
address@hidden, but enable the warnings about obsolete
+For example, if you want to disable defaults and @env{WARNINGS}
+of @command{autom4te}, but enable the warnings about obsolete
 constructs, you would use @option{-W none,obsolete}.
 
 @cindex Back trace
@@ -9903,7 +9903,7 @@ AS_IF([test "$foo" = yes], [HANDLE_FOO([
 @end example
 
 @noindent
-ensures any @code{AC_REQUIRE}'s macros of @code{HANDLE_FOO}
+ensures any required macros of @code{HANDLE_FOO}
 are expanded before the first test.
 @end defmac
 
@@ -10243,7 +10243,7 @@ square brackets.  @var{macro-name} must 
 @code{AC_DEFUN} or else contain a call to @code{AC_PROVIDE} to indicate
 that it has been called.
 
address@hidden must be used inside an @code{AC_DEFUN}'d macro; it
address@hidden must be used inside a macro defined by @code{AC_DEFUN}; it
 must not be called from the top level.
 @end defmac
 
@@ -10251,7 +10251,7 @@ must not be called from the top level.
 dependencies between macros in the sense that if one macro depends upon
 another, the latter is expanded @emph{before} the body of the
 former.  To be more precise, the required macro is expanded before
-the outermost @code{AC_DEFUN}'d macro in the current expansion stack.
+the outermost defined macro in the current expansion stack.
 In particular, @samp{AC_REQUIRE([FOO])} is not replaced with the body of
 @code{FOO}.  For instance, this definition of macros:
 
@@ -10570,7 +10570,7 @@ of an @code{AC_REQUIRE} directive, and m
 inside arguments do not need to be expanded before this macro, then
 use @code{m4_define}.  In case of doubt, use @code{AC_DEFUN}.
 All the @code{AC_REQUIRE} statements should be at the beginning of the
-macro, @code{dnl}'ed.
+macro, and each statement should be followed by @code{dnl}.
 
 You should not rely on the number of arguments: instead of checking
 whether an argument is missing, test that it is not empty.  It provides
@@ -11576,8 +11576,8 @@ brace, use:
 
 @item
 If the default value contains no closing brace, has to be expanded, and
-the variable being initialized is never IFS-split (i.e., it's not a
-list), then use:
+the variable being initialized is not intended to be IFS-split
+(i.e., it's not a list), then use:
 
 @example
 : address@hidden"$default"@}
@@ -11585,7 +11585,7 @@ list), then use:
 
 @item
 If the default value contains no closing brace, has to be expanded, and
-the variable being initialized is IFS-split (i.e., it's a list),
+the variable being initialized is intended to be IFS-split (i.e., it's a list),
 then use:
 
 @example
@@ -11596,7 +11596,7 @@ address@hidden"$default"@}
 If the default value contains a closing brace, then use:
 
 @example
-test "address@hidden@}" = set || var='address@hidden@}'
+test "address@hidden@}" = set || var="$default"
 @end example
 @end enumerate
 
@@ -12333,8 +12333,8 @@ fi
 @c ------------------
 @prindex @command{printf}
 A format string starting with a @samp{-} can cause problems.
-Bash (e.g., 2.05b) interpret it as an options argument and
-give an error.  And @samp{--} to mark the end of options is not good
+Bash (e.g., 2.05b) interprets it as an options argument and
+gives an error.  And @samp{--} to mark the end of options is not good
 in the address@hidden Almquist shell (e.g., 0.4.6) which takes that
 literally as the format string.  Putting the @samp{-} in a @samp{%c}
 or @samp{%s} is probably the easiest way to avoid doubt,
@@ -12645,8 +12645,8 @@ funny side effect: when asked whether @c
 than @command{true} Alexandre Oliva answered:
 
 @quotation
-In a sense, yes, because if it doesn't exist, the shell exits
-with a failure status, which is correct for @command{false}, but not
+In a sense, yes, because if it doesn't exist, the shell will produce an
+exit status of failure, which is correct for @command{false}, but not
 for @command{true}.
 @end quotation
 
@@ -12899,7 +12899,7 @@ the system calls that @command{cp} uses;
 1-microsecond resolution.  These newer implementations include @acronym{GNU}
 Core Utilities 5.0.91 or later, and Solaris 8 (sparc) patch 109933-02 or
 later.  Unfortunately as of January 2006 there is still no system
-call to set time stamps to the full nanosecond resolution.
+call to set timestamps to the full nanosecond resolution.
 
 Bob Proulx notes that @samp{cp -p} always @emph{tries} to copy
 ownerships.  But whether it actually does copy ownerships or not is a
@@ -13260,7 +13260,7 @@ was equivalent to @samp{sources='*.c not
 @c ------------------
 @prindex @command{mkdir}
 @cindex Making directories
-None of @command{mkdir}'s options are portable to older systems.  Instead of
+No @command{mkdir} option is portable to older systems.  Instead of
 @samp{mkdir -p @var{file-name}}, you should use use
 @code{AS_MKDIR_P(@var{file-name})} (@pxref{Programming in M4sh})
 or @code{AC_PROG_MKDIR_P} (@pxref{Particular Programs}).
@@ -13334,7 +13334,7 @@ On some systems moving files from @file{
 undesirable (but perfectly valid) warnings, even if you created these
 files.  This is because @file{/tmp} belongs to a group that ordinary
 users are not members of, and files created in @file{/tmp} inherit
address@hidden/tmp}'s group.  When the file is copied, @command{mv} issues
+the group of @file{/tmp}.  When the file is copied, @command{mv} issues
 a diagnostic without failing:
 
 @smallexample
@@ -13627,7 +13627,7 @@ itself.
 * Comments in Make Rules::      Other problems with Make comments
 * obj/ and Make::               Don't name a subdirectory @file{obj}
 * make -k Status::              Exit status of @samp{make -k}
-* VPATH and Make::              @code{VPATH} and its many discontents
+* VPATH and Make::              @code{VPATH} woes
 * Single Suffix Rules::         Single suffix rules and separated dependencies
 * Timestamps and Make::         Subsecond timestamp resolution
 @end menu
@@ -13812,7 +13812,7 @@ command line.  When run inside a @comman
 @command{make} 3.80 and prior versions forget to propagate the
 @option{-e} option to submakes.
 
-Moreover, using @option{-e} could have unexpected side-effects if your
+Moreover, using @option{-e} could have unexpected side effects if your
 environment contains some other macros usually defined by the
 makefile.  (See also the note about @code{make -e} and @code{SHELL}
 below.)
@@ -14687,7 +14687,7 @@ The standard functions @code{asctime}, @
 @code{ctime_r}, and @code{gets} are prone to buffer overflows, and
 portable code should not use them unless the inputs are known to be
 within certain limits.  The time-related functions can overflow their
-buffers if given time stamps out of range (e.g., a year less than -999
+buffers if given timestamps out of range (e.g., a year less than -999
 or greater than 9999).  Time-related buffer overflows cannot happen with
 recent-enough versions of the GNU C library, but are possible with other
 implementations.  The @code{gets} function is the worst, since it almost
@@ -15958,9 +15958,9 @@ other macros.
 Autoconf, up to 2.13, used to provide this version of
 @code{AC_CHECK_TYPE}, deprecated because of its flaws.  First, although
 it is a member of the @code{CHECK} clan, it does
-more than just checking.  Secondly, missing types are not
address@hidden'd, they are @code{#define}'d, which can lead to
-incompatible code in the case of pointer types.
+more than just checking.  Secondly, missing types are defined
+using @code{#define}, not @code{typedef}, and this can lead to
+problems in the case of pointer types.
 
 This use of @code{AC_CHECK_TYPE} is obsolete and discouraged; see
 @ref{Generic Types}, for the description of the current macro.
@@ -18078,7 +18078,7 @@ Here is some further explanation, writte
 
 @quotation
 One of the advantages of Imake is that it easy to generate large
-makefiles using @code{cpp}'s @samp{#include} and macro mechanisms.
+makefiles using the @samp{#include} and macro mechanisms of @command{cpp}.
 However, @code{cpp} is not programmable: it has limited conditional
 facilities, and no looping.  And @code{cpp} cannot inspect its
 environment.
@@ -18377,7 +18377,7 @@ then let there be address@hidden
 In June 1991 I was maintaining many of the @acronym{GNU} utilities for the
 Free Software Foundation.  As they were ported to more platforms and
 more programs were added, the number of @option{-D} options that users
-had to select in @file{Makefile} (around 20) became burdensome.
+had to select in the makefile (around 20) became burdensome.
 Especially for me---I had to test each new release on a bunch of
 different systems.  So I wrote a little shell script to guess some of
 the correct settings for the fileutils package, and released it as part




reply via email to

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