]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
* doc/autoconf.texi (Here-Documents): We now know more about
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Thu, 25 May 2006 08:49:02 +0000 (08:49 +0000)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Thu, 25 May 2006 08:49:02 +0000 (08:49 +0000)
the variable expansion in here documents bug.
Thanks to Tim Rice and Stepan Kasal.

ChangeLog
doc/autoconf.texi

index d0a5b66a0eab59ee6300ce4297b27053f8b8bd31..759612a3ec3579f94bf1a8f6de6aaabd774e3816 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2006-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
+       * doc/autoconf.texi (Here-Documents): We now know more about
+       the variable expansion in here documents bug.
+       Thanks to Tim Rice and Stepan Kasal.
+
        * doc/autoconf.texi (Making testsuite Scripts): Add an example
        how to use TESTSUITEFLAGS.  Suggested by Eric Blake.
 
index 34d19df15abd4a6e9b5ce8216b105089fdee3a7c..af79b3a4c4d24ea8bce6429027bb953f032650b6 100644 (file)
@@ -10748,13 +10748,14 @@ bash-2.04$ @kbd{cat <<EOF
 
 
 Many older shells (including the Bourne shell) implement here-documents
-inefficiently.  And some shells mishandle large here-documents: for
-example, Solaris @command{dtksh}, which is derived from Korn shell
-version M-12/28/93d, mishandles variable expansion that occurs on
-1024-byte buffer boundaries within a here-document.  Users can generally
-fix these problems by using a faster or more reliable shell, e.g., by
-using the command @samp{CONFIG_SHELL=/bin/bash /bin/bash ./configure} rather
-than plain @samp{./configure}.
+inefficiently.  And some shells mishandle large here-documents: for example,
+Solaris 10 @command{dtksh} and the UnixWare 7.1.1 Posix shell, which are
+derived from Korn shell version M-12/28/93d, mishandle braced variable
+expansion @code{$@{var@}} that crosses a 1024- or 4096-byte buffer boundary
+within a here-document.  If the closing brace does not lie on the boundary,
+the failure is silent and the variable expansion will be empty, otherwise
+the shell will report a bad substitution.  This bug can usually be worked
+around by omitting the braces: @code{$var}.
 
 Some shells can be extremely inefficient when there are a lot of
 here-documents inside a single statement.  For instance if your