# HG changeset patch # User Bruno Haible # Date 1138279908 0 # Node ID d399372960680e8bd2ee561de27107d2857080b5 # Parent 2b0f7fda1c840d47387dda57e641383241e71118 'trap' portability trapped me... diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-01-26 Bruno Haible + + * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :". + Reported by Paul Eggert. + 2006-01-25 Bruno Haible * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get diff --git a/gnulib-tool b/gnulib-tool --- a/gnulib-tool +++ b/gnulib-tool @@ -22,7 +22,7 @@ progname=$0 package=gnulib -cvsdatestamp='$Date: 2006-01-25 14:20:06 $' +cvsdatestamp='$Date: 2006-01-26 12:51:48 $' last_checkin_date=`echo "$cvsdatestamp" | sed -e 's,^\$[D]ate: ,,'` version=`echo "$last_checkin_date" | sed -e 's/ .*$//' -e 's,/,-,g'` @@ -1176,7 +1176,13 @@ func_add_or_update done rm -rf "$tmp" - trap : 0 1 2 3 15 + # Undo the effect of the previous 'trap' command. Some shellology: + # We cannot use "trap - 0 1 2 3 15", because Solaris sh would attempt to + # execute the command "-". "trap '' ..." is fine only for signal 0 (= normal + # exit); for the others we need to call 'exit' explicitly. The value of $? is + # 128 + signal number and is set before the trap-registered command is run. + trap '' 0 + trap 'exit $?' 1 2 3 15 # Command-line invocation printed in a comment in generated gnulib-cache.m4. actioncmd="gnulib-tool --import"