* 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>.
This commit is contained in:
Ralf Wildenhues 2005-06-05 17:34:17 +00:00
parent 7e0238b4f3
commit 0872a7f5fc
3 changed files with 18 additions and 14 deletions

View File

@ -1,3 +1,14 @@
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.

View File

@ -96,9 +96,6 @@ sed_quote_subst='s/\([[`"$\\]]\)/\\\1/g'
# 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.
@ -286,11 +283,9 @@ func_quote_for_eval ()
# Double-quote args containing shell metacharacters to delay
# word splitting, command substitution and and variable
# expansion for a subsequent eval.
# 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* | *@:>@* | *\|* | *\&* | *\(* | *\)* | "")
# Many Bourne shells cannot handle close brackets correctly
# in scan sets, so we specify it separately.
*[[\@<:@\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]]*|*@:>@*|"")
func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
;;
*)
@ -316,11 +311,8 @@ func_quote_for_expand ()
# 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

View File

@ -1228,7 +1228,8 @@ func_mode_compile ()
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."
func_basename "$obj"
objname="$func_basename_result"
func_dirname "$obj" "/" ""