--- exec.c.orig 2002-07-29 16:00:41.000000000 -0400 +++ exec.c 2002-07-29 16:07:44.000000000 -0400 @@ -459,7 +459,22 @@ find_command(name, entry, printerr, path (statb.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH))) entry->cmdtype = CMDNORMAL; else +#ifndef __CYGWIN__ entry->cmdtype = CMDUNKNOWN; +#else + { + char *name_exe = 0; + name_exe = alloca(strlen(name) + 5); + strcpy(name_exe, name); + strcat(name_exe, ".exe"); + if (stat(name_exe, &statb) == 0 && + S_ISREG(statb.st_mode) && + (statb.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH))) + entry->cmdtype = CMDNORMAL; + else + entry->cmdtype = CMDUNKNOWN; + } +#endif /* !__CYGWIN__ */ entry->u.index = -1; return; }