Paul Eggert
2016-02-05 22:15:42 UTC
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 Autoconf source repository".
http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=5483deb8ae9a6265ce3af0f4c5c574d44cafbcf5
The branch, master has been updated
via 5483deb8ae9a6265ce3af0f4c5c574d44cafbcf5 (commit)
from 5ad3567c3cbd90b4faa6539c35bc4a8c6500f535 (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 5483deb8ae9a6265ce3af0f4c5c574d44cafbcf5
Author: Paul Eggert <***@cs.ucla.edu>
Date: Fri Feb 5 14:15:07 2016 -0800
Document dash ${*-unset} behavior
* doc/autoconf.texi (Shell Substitutions): Document dash
incompatibility. Problem reported by David Caldwell in:
http://bugs.gnu.org/22556
-----------------------------------------------------------------------
Summary of changes:
doc/autoconf.texi | 15 ++++++++++++++-
1 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index 9eac07b..b288d59 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
@@ -16063,7 +16063,8 @@ j a0
@cindex @code{$@{@var{var}-@var{value}@}}
Old BSD shells, including the Ultrix @code{sh}, don't accept the
colon for any shell substitution, and complain and die.
-Similarly for $@{@var{var}:=@var{value}@}, $@{@var{var}:?@var{value}@}, etc.
+Similarly for @code{$@{@var{var}:=@var{value}@}},
+@code{$@{@var{var}:?@var{value}@}}, etc.
However, all shells that support functions allow the use of colon in
shell substitution, and since m4sh requires functions, you can portably
use null variable substitution patterns in configure scripts.
@@ -16089,6 +16090,18 @@ EOF}
b c
@end example
+Most shells treat the special parameters @code{*} and @code{@@} as being
+unset if there are no positional parameters. However, some shells treat
+them as being set to the empty string. Posix does not clearly specify
+either behavior.
+
+@example
+$ @kbd{bash -c 'echo "* is $@{*-unset@}."'}
+* is unset.
+$ @kbd{dash -c 'echo "* is $@{*-unset@}."'}
+* is .
+@end example
+
According to Posix, if an expansion occurs inside double quotes, then
the use of unquoted double quotes within @var{value} is unspecified, and
any single quotes become literal characters; in that case, escaping must
hooks/post-receive
generated because a ref change was pushed to the repository containing
the project "GNU Autoconf source repository".
http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=5483deb8ae9a6265ce3af0f4c5c574d44cafbcf5
The branch, master has been updated
via 5483deb8ae9a6265ce3af0f4c5c574d44cafbcf5 (commit)
from 5ad3567c3cbd90b4faa6539c35bc4a8c6500f535 (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 5483deb8ae9a6265ce3af0f4c5c574d44cafbcf5
Author: Paul Eggert <***@cs.ucla.edu>
Date: Fri Feb 5 14:15:07 2016 -0800
Document dash ${*-unset} behavior
* doc/autoconf.texi (Shell Substitutions): Document dash
incompatibility. Problem reported by David Caldwell in:
http://bugs.gnu.org/22556
-----------------------------------------------------------------------
Summary of changes:
doc/autoconf.texi | 15 ++++++++++++++-
1 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index 9eac07b..b288d59 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
@@ -16063,7 +16063,8 @@ j a0
@cindex @code{$@{@var{var}-@var{value}@}}
Old BSD shells, including the Ultrix @code{sh}, don't accept the
colon for any shell substitution, and complain and die.
-Similarly for $@{@var{var}:=@var{value}@}, $@{@var{var}:?@var{value}@}, etc.
+Similarly for @code{$@{@var{var}:=@var{value}@}},
+@code{$@{@var{var}:?@var{value}@}}, etc.
However, all shells that support functions allow the use of colon in
shell substitution, and since m4sh requires functions, you can portably
use null variable substitution patterns in configure scripts.
@@ -16089,6 +16090,18 @@ EOF}
b c
@end example
+Most shells treat the special parameters @code{*} and @code{@@} as being
+unset if there are no positional parameters. However, some shells treat
+them as being set to the empty string. Posix does not clearly specify
+either behavior.
+
+@example
+$ @kbd{bash -c 'echo "* is $@{*-unset@}."'}
+* is unset.
+$ @kbd{dash -c 'echo "* is $@{*-unset@}."'}
+* is .
+@end example
+
According to Posix, if an expansion occurs inside double quotes, then
the use of unquoted double quotes within @var{value} is unspecified, and
any single quotes become literal characters; in that case, escaping must
hooks/post-receive
--
GNU Autoconf source repository
GNU Autoconf source repository