The only difference between that config.h file and the one from Apr-17 (which works) is that the new config.h file apparently checks for SETUPTERM, and does not find it: --- /u/shelton/new/build/SunOS-4.1/zsh-2001-04-17/config.h Tue Apr 17 08:55:58 2001 +++ /u/shelton/new/build/SunOS-4.1/zsh-2001-04-24-new/config.h Wed Apr 25 08:26:09 2001 @@ -557,6 +557,9 @@ /* Define if you have the setuid function. */ #define HAVE_SETUID 1 +/* Define if you have the setupterm function. */ +/* #undef HAVE_SETUPTERM */ + /* Define if you have the shl_findsym function. */ /* #undef HAVE_SHL_FINDSYM */ OK. I found a little time to investigate further. This is truly ugly. curses.h includes the following definitions: extern char *AL, *BC, *BT, *CD, *CE, *CL, *CM, *CR, *CS, *DC, *DL, *DM, *DO, *ED, *EI, *K0, *K1, *K2, *K3, *K4, *K5, *K6, *K7, *K8, *K9, *HO, *IC, *IM, *IP, *KD, *KE, *KH, *KL, *KR, *KS, *KU, *LL, *MA, *ND, *NL, *RC, *SC, *SE, *SF, *SO, *SR, *TA, *TE, *TI, *UC, *UE, *UP, *US, *VB, *VS, *VE, *AL_PARM, *DL_PARM, *UP_PARM, *DOWN_PARM, *LEFT_PARM, *RIGHT_PARM; 'DO' conflicts with the 'DO' token from zsh.h. I guess curses.h predates any kind of useful namespace standard. - vin