Update of sr #110319 (project autoconf): Status: None => Invalid Open/Closed: Open => Closed
_______________________________________________________ Follow-up Comment #1: I confirm the problem, but unfortunately there's nothing we can do to fix it. Your second snippet is correct and is how the arguments to AS_IF should always have been quoted (see the "M4 Quotation" section of the manual). In your first snippet, AC_CHECK_PROG is expanded before AS_IF is expanded. In 2.69c, the expansion of AC_CHECK_PROG contains a shell 'case' statement and therefore an unbalanced close parenthesis. M4 thinks that close parenthesis is supposed to end the argument list of AS_IF, and so the expansion of AS_IF puts a `fi` in the middle of the expansion of AC_CHECK_PROG. In 2.69, AC_CHECK_PROG didn't expand to a construct containing a shell 'case' statement. It was introduced in commit 0eebfff3e04aae651b954cf98b97b5d382f3f230 as a bug fix for problems with absolute paths starting with // on cygwin. Off the top of my head I can't think of a way to get the same effect without using 'case' that doesn't involve running subprocesses, and this particular construct gets used a whole lot in autoconf scripts so I am inclined to say we need it not to run subprocesses. This is not the only way things can go wrong if the second argument to AS_IF is not quoted, either. For instance, if AC_CHECK_PROG happened to expand to a construct containing a _comma_ that wasn't inside either square brackets or a macro argument list, the expansion would be understood as _multiple_ arguments to AS_IF. autoupdate cannot fix this because autoupdate can only replace obsolete _macros_. It can't do anything about improper quotation. I will make the existing note about improper quotation in NEWS more explicit but beyond that, again, there's nothing we can do. Sorry. _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/support/?110319> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/