# HG changeset patch # User Bruno Haible # Date 1189903294 0 # Node ID 6c916785c03e775af3a7b9bd89bf844122e5becb # Parent 09cf746577d7a706d1970514b98256836d40329e Try harder to enable the alias for 'sed'. diff -r 09cf746577d7 -r 6c916785c03e ChangeLog --- a/ChangeLog Thu Sep 13 13:52:18 2007 +0000 +++ b/ChangeLog Sun Sep 16 00:41:34 2007 +0000 @@ -1,3 +1,9 @@ +2007-09-15 Bruno Haible + + * gnulib-tool (sed): Try a little harder to make bash understand the + alias. + Reported by Bruce Korb . + 2007-09-13 Eric Blake * ChangeLog: Remove conflict markers. diff -r 09cf746577d7 -r 6c916785c03e gnulib-tool --- a/gnulib-tool Thu Sep 13 13:52:18 2007 +0000 +++ b/gnulib-tool Sun Sep 16 00:41:34 2007 +0000 @@ -22,7 +22,7 @@ progname=$0 package=gnulib -cvsdatestamp='$Date: 2007-09-09 12:17:36 $' +cvsdatestamp='$Date: 2007-09-16 00:41:34 $' last_checkin_date=`echo "$cvsdatestamp" | sed -e 's,^\$[D]ate: ,,'` version=`echo "$last_checkin_date" | sed -e 's/ .*$//' -e 's,/,-,g'` nl=' @@ -73,6 +73,17 @@ # gnulib-tool generates, since we don't want "sed --posix" to leak # into makefiles. if (alias) > /dev/null 2>&1 && echo | sed --posix -e d >/dev/null 2>&1; then + # Define sed as an alias. + # It is not always possible to use aliases. Aliases are guaranteed to work + # if the executing shell is bash and either it is invoked as /bin/sh or + # is a version >= 2.0, supporting shopt. This is the common case. + # Two other approaches (use of a variable $sed or of a function func_sed + # instead of an alias) require massive, fragile code changes. + # An other approach (use of function sed) requires `which sed` - but 'which' + # is hard to emulate, due to missing "test -x" on some platforms. + if test -n "$BASH_VERSION"; then + shopt -s expand_aliases >/dev/null 2>&1 + fi alias sed='sed --posix' fi