See http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00035.html for the motivation for this patch.
* lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL): Trace through re-exec, to make it easier to debug script startup issues. Idea from recent bug-gnulib change to init.sh. Signed-off-by: Eric Blake <[email protected]> --- ChangeLog | 5 +++++ lib/m4sugar/m4sh.m4 | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5edb50c..0277419 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2010-09-08 Eric Blake <[email protected]> + m4sh: preserve set -vx over re-exec + * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL): Trace through + re-exec, to make it easier to debug script startup issues. + Idea from recent bug-gnulib change to init.sh. + docs: update alloca recommendations * doc/autoconf.texi (Particular Functions): Don't redeclare alloca on FreeBSD. diff --git a/lib/m4sugar/m4sh.m4 b/lib/m4sugar/m4sh.m4 index ef99cb5..ca22161 100644 --- a/lib/m4sugar/m4sh.m4 +++ b/lib/m4sugar/m4sh.m4 @@ -227,11 +227,18 @@ dnl Remove any tests from suggested that are also required [# We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. + # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$...@]"}]) + case $- in @%:@ (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; + esac + exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$...@]"}]) dnl Unfortunately, $as_me isn't available here. AS_IF([test x$as_have_required = xno], -- 1.7.2.2
