autoconf-patches
[Top][All Lists]
Advanced

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

[PATCH] docs: Posix now says "((cat))" isn't portable


From: Paul Eggert
Subject: [PATCH] docs: Posix now says "((cat))" isn't portable
Date: Tue, 26 Oct 2010 16:15:49 -0700
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.14) Gecko/20101006 Thunderbird/3.0.9

* doc/autoconf.texi (Parenthesis): Update documentation to reflect
what Posix 1003.1-2008 says about "((".
---
 ChangeLog         |    6 ++++++
 doc/autoconf.texi |    9 ++++++---
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 34b3be4..6f9e4c9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-10-26  Paul Eggert  <address@hidden>
+
+       docs: Posix now says "((cat))" isn't portable
+       * doc/autoconf.texi (Parenthesis): Update documentation to reflect
+       what Posix 1003.1-2008 says about "((".
+
 2010-10-20  Eric Blake  <address@hidden>
 
        docs: document dash bug in <>
diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index adbdded..4af8663 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
@@ -16046,12 +16046,15 @@ for the rationale.
 @cindex Shell parentheses
 
 Beware of two opening parentheses in a row, as many shell
-implementations treat them specially.  Posix requires that the command
address@hidden((cat))} must behave like @samp{(cat)}, but many shells, including
+implementations treat them specially, and Posix says that a portable
+script cannot use @samp{((} outside the @samp{$((} form used for shell
+arithmetic.  In traditional shells, @samp{((cat))} behaves like
address@hidden(cat)}; but many shells, including
 Bash and the Korn shell, treat @samp{((cat))} as an arithmetic
 expression equivalent to @samp{let "cat"}, and may or may not report an
 error when they detect that @samp{cat} is not a number.  As another
-example, @samp{pdksh} 5.2.14 misparses the following code:
+example, @samp{pdksh} 5.2.14 does not treat the following code
+as a traditional shell would:
 
 @example
 if ((true) || false); then
-- 
1.7.2




reply via email to

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