[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: kludgey patch for Ultrix4.4 failure
From: |
Akim Demaille |
Subject: |
Re: kludgey patch for Ultrix4.4 failure |
Date: |
19 Mar 2001 11:11:04 +0100 |
User-agent: |
Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.1 (Cuyahoga Valley) |
| This fixes that nagging `illegal io' problem with Ultrix's /bin/sh.
| (Thanks again for the account, Harlan!)
|
| Here's a kludgey patch that shows what needs to be done.
| I'm sure someone will find a way to induce the desired change
| in a cleaner way, but I can't spend any more time on this today :-)
|
| Here's a small example to illustrate the problem
| $ (eval echo > foo)
|
| illegal io
|
| If you rewrite that slightly, it no longer fails:
|
| $ ((eval echo) > foo)
| $
|
| That's what my patch does to similar code that autoconf
| puts in nearly every configure file.
That's great! Thanks for tracking this down.
But given the semantics I was trying to give to all these macros, it
seems to me that the actually fix should be:
AC_DEFUN([_AC_PREPROC_IFELSE],
[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl
- if _AC_EVAL_STDERR([$ac_cpp conftest.$ac_ext >/dev/null]); then
becoming
AC_DEFUN([_AC_PREPROC_IFELSE],
[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl
+ if _AC_EVAL_STDERR([$ac_cpp conftest.$ac_ext]) >/dev/null; then
i.e., the /dev/null pulled outside. This lets AC_EVAL_STDERR keep its
eval, and given that there is already a () provided by
_AC_EVAL_STDERR, it should be enough.