[ adding autoconf-patches; this is
  <http://thread.gmane.org/gmane.comp.sysutils.automake.patches/3698> ]

Proposed patch for Autoconf.  OK?

Thanks,
Ralf

commit 4f89a570c7ccb07237d4a698a4e60db507880be0
Author: Stefano Lattarini <stefano.lattar...@gmail.com>
Date:   Sat Dec 5 12:56:30 2009 +0100

    Document Solaris/Heirloom sh set -e issue with command substitutions.
    
    * doc/autoconf.texi (Limitations of Builtins): Fix typos `set -d'
    in previous example.  Document failure to honor && lists with set -e
    and a command substitution in the failing command.
    Report and initial patch by Stefano Lattarini against Automake.
    
    Signed-off-by: Ralf Wildenhues <ralf.wildenh...@gmx.de>

diff --git a/ChangeLog b/ChangeLog
index e03604d..1c0c612 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2009-12-05  Stefano Lattarini  <stefano.lattar...@gmail.com>
+           Ralf Wildenhues  <ralf.wildenh...@gmx.de>
+
+       Document Solaris/Heirloom sh set -e issue with command substitutions.
+       * doc/autoconf.texi (Limitations of Builtins): Fix typos `set -d'
+       in previous example.  Document failure to honor && lists with set -e
+       and a command substitution in the failing command.
+       Report and initial patch by Stefano Lattarini against Automake.
+
 2009-12-04  Eric Blake  <e...@byu.net>
 
        Warn if using unnamed diversion.
diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index 7d2c72e..b25f165 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
@@ -16794,12 +16794,21 @@ Limitations of Builtins
 Solaris @command{/bin/sh} cannot be ignored, even with @samp{||}.
 
 @example
-$ @kbd{/bin/sh -c 'set -d; foo=`false` || echo foo; echo bar'}
-$ @kbd{bash -c 'set -d; foo=`false` || echo foo; echo bar'}
+$ @kbd{/bin/sh -c 'set -e; foo=`false` || echo foo; echo bar'}
+$ @kbd{bash -c 'set -e; foo=`false` || echo foo; echo bar'}
 foo
 bar
 @end example
 
+...@noindent
+Moreover, a command substitution, successful or not, causes this shell to
+exit from a failing outer command even in presence of an @samp{&&} list:
+
+...@example
+$ @kbd{/bin/sh -c 'set -e; false `true` || echo did not exit'}
+$
+...@end example
+
 Portable scripts should not use @samp{set -e} if @command{trap} is used
 to install an exit handler.  This is because Tru64/OSF 5.1 @command{sh}
 sometimes enters the trap handler with the exit status of the command


Reply via email to