]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
* doc/autoconf.texi (Portable Shell): Improve description of zsh
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Mon, 15 Oct 2007 21:15:39 +0000 (23:15 +0200)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Mon, 15 Oct 2007 21:15:39 +0000 (23:15 +0200)
4.x function subshell bug with exit and trap.

ChangeLog
doc/autoconf.texi

index c6654850c6a8f7b4798e4f6cb218e10627fb6a73..6038abb006872846129dc403a8d0c2e04510a7b9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * doc/autoconf.texi (Portable Shell): Improve description of zsh
+       4.x function subshell bug with exit and trap.
+
 2007-10-15  Eric Blake  <ebb9@byu.net>
 
        Enhance AS_HELP_STRING.
index addb7b1a822662517dca48de6690f45fbcd4486c..ded0f67281a14bdd2eaaf4dcb6cde1d79cece506 100644 (file)
@@ -11976,15 +11976,13 @@ that are not found in all Bourne-compatible shells; restrict yourself
 to the lowest common denominator.  Even @code{unset} is not supported
 by all shells!
 
-Shell functions are considered portable nowadays, though Autoconf
-still does not use them (Autotest does).  However, inside a shell
-function you should not be using @code{$?} to check the return code
-of a subshell invocation; in general, since the caller of a shell
-function might look at the function's return code, make sure that the
-last statement of a shell function does not invoke a subshell.
-Using subshells triggers bugs in zsh 4.x; while Autoconf tries
-to find a shell that does not exhibit the bug, zsh might be the
-only shell present on the user's machine.
+Shell functions are considered portable nowadays, though Autoconf still
+does not use them (Autotest does).  However, inside a shell function,
+you should not rely on the error status of a subshell if the last
+command of that subshell was @code{exit} or @code{trap}, as this
+triggers bugs in zsh 4.x; while Autoconf tries to find a shell that
+does not exhibit the bug, zsh might be the only shell present on the
+user's machine.
 
 Some ancient systems have quite
 small limits on the length of the @samp{#!} line; for instance, 32