+2005-06-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * config/ltmain.m4sh (func_mode_compile): In order to find out
+ about forbidden characters in output, check with grep after checking
+ func_quote_for_eval result. Also, warn instead of fail.
+ * config/general.m4sh (func_quote_for_eval, func_quote_for_expand):
+ Revert SunOS sh bug workaround patch from 2004-12-28 as it
+ triggers bugs in the Tru64 5.1B shell.
+ Reported by Albert Chin <libtool@mlists.thewrittenword.com> and
+ Nicolas Joly <njoly@pasteur.fr>.
+
2005-06-01 Olly Betts <olly@survex.com> (tiny change)
* libltdl/argz.c (argz_create_sep): Fix typo.
# Same as above, but do not quote variable references.
double_quote_subst='s/\([["`\\]]\)/\\\1/g'
-# Protect character class for func_quote_* by variable expansion.
-quote_scanset='[[@<:@~#^*{};<>?'"'"' ]]'
-
# Re-`\' parameter expansions in output of double_quote_subst that were
# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
# in input to double_quote_subst, that '$' was protected from expansion.
# word splitting, command substitution and and variable
# expansion for a subsequent eval.
# Many Bourne shells cannot handle close brackets correctly
- # in scan sets, and some SunOS ksh mistreat backslash-escaping
- # in scan sets (worked around with variable expansion),
- # and furthermore cannot handle '|' '&' '(' ')' in scan sets
- # at all, so we specify them separately.
- *$quote_scanset* | *@:>@* | *\|* | *\&* | *\(* | *\)* | "")
+ # in scan sets, so we specify it separately.
+ *[[\@<:@\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]]*|*@:>@*|"")
my_arg="\"$my_arg\""
;;
esac
# Double-quote args containing shell metacharacters to delay
# word splitting and command substitution for a subsequent eval.
# Many Bourne shells cannot handle close brackets correctly
- # in scan sets, and some SunOS ksh mistreat backslash-escaping
- # in scan sets (worked around with variable expansion),
- # and furthermore cannot handle '|' '&' '(' ')' in scan sets
- # at all, so we specify them separately.
- *$quote_scanset* | *@:>@* | *\|* | *\&* | *\(* | *\)* | "")
+ # in scan sets, so we specify it separately.
+ *[[\@<:@\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]]*|*@:>@*|"")
my_arg="\"$my_arg\""
;;
esac
func_quote_for_eval "$libobj"
test "X$libobj" != "X$func_quote_for_eval_result" \
- && func_fatal_error "libobj name \`$libobj' may not contain shell special characters."
+ && $ECHO "X$libobj" | $GREP ['[@:>@~#^*{};<>?"'"'"' &()|`$@<:@]'] \
+ && func_warning "libobj name \`$libobj' may not contain shell special characters."
objname=`$ECHO "X$obj" | $Xsed -e 's%^.*/%%'`
xdir=`$ECHO "X$obj" | $Xsed -e 's%/[[^/]]*$%%'`
if test "X$xdir" = "X$obj"; then