Hi,

ksh93 has a strange bug which prevents some scripts generated by autoconf to be run on 
UWIN correctly.

David Korn wrote:

> The problem is that the value of IFS was getting set to the null
> string after a command substitution that was inside a here document.
> Since on UNIX systems, the value was restored after the command
> containing the here document, it wasn't noticed.  However, the
> simple test
>       IFS=:
>       cat << EOF
>       $IFS$(print hi)$IFS
>       EOF
> failed even on UNIX systems.

In UWIN IFS is a null string after the here doc and the configure scripts run into an 
error later when trying to invoke $as_executable_p (which is "test -f"), because "test 
-f" is treated as the command name not only "test".

David Korn suggested a workaround which is putting the here docs which use command 
substitutions into a seperate subshell, e.g.

if test `eval echo '${'$ac_ac_Header'}'` = yes; then
(
  cat >>confdefs.h <<EOF
#define `echo "HAVE_$ac_header" | $ac_tr_cpp` 1
EOF
) 

I'm not sure how much work this would be and if would be worth the efforts as UWIN is 
the only system that shows this bug and the next UWIN release will not have it anymore.

Karsten

Reply via email to