autoconf-patches
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]