[ dropping automake-patches ] * Eric Blake wrote on Thu, Jan 20, 2011 at 10:16:22PM CET: > bash 2.05 doesn't dump core on unset, but > suffered from the same problem still in NetBSD /bin/sh in setting $? > incorrectly (which in turn affects set -e). The core dump was bash > 2.01, and affected MAILCHECK as well as MAIL. > > http://groups.google.com/group/gnu.bash.bug/msg/5a41781550c61d62 > > But since bash 2.05a is pretty much dead these days, while NetBSD > /bin/sh is still alive and kicking, the autoconf section should be > updated to use a modern example in its claim that unset exit status is > still a portability problem to be aware of.
Like, this? Thanks, Ralf docs: update entry about unset. * doc/autoconf.texi (Limitations of Builtins): NetBSD sh unset also fails upon `unset' of a variable that is not set. Bash 2.01 could also dump core over `unset MAILPATH'. Suggestion by Eric Blake. diff --git a/doc/autoconf.texi b/doc/autoconf.texi index 4cb3a8c..57a298c 100644 --- a/doc/autoconf.texi +++ b/doc/autoconf.texi @@ -17758,8 +17758,8 @@ Limitations of Builtins @item @command{unset} @c ------------------ @prindex @command{unset} -In some nonconforming shells (e.g., Bash 2.05a), @code{unset FOO} fails -when @code{FOO} is not set. You can use +In some nonconforming shells (e.g., NetBSD 5.99.43 sh or Bash 2.05a), +@code{unset FOO} fails when @code{FOO} is not set. You can use @smallexample FOO=; unset FOO @@ -17777,8 +17777,8 @@ Limitations of Builtins Usually, shells that do not support @command{unset} need less effort to make the environment sane, so for example is not a problem if you cannot unset @command{CDPATH} on those shells. However, Bash 2.01 mishandles -@code{unset MAIL} in some cases and dumps core. So, you should do -something like +@code{unset MAIL} and @code{unset MAILPATH} in some cases and dumps core. +So, you should do something like @smallexample ( (unset MAIL) || exit 1) >/dev/null 2>&1 && unset MAIL || :