--- implicit.c.orig Tue Feb 28 12:44:49 2006 +++ implicit.c Tue Feb 28 12:12:51 2006 @@ -352,7 +352,7 @@ check_lastslash = strchr (target, '/') == 0; #ifdef HAVE_DOS_PATHS /* Didn't find it yet: check for DOS-type directories. */ - if (!check_lastslash) + if (check_lastslash) { char *b = strrchr (target, '\\'); check_lastslash = !(b ? b > lastslash --- job.c.orig Tue Feb 28 12:44:59 2006 +++ job.c Tue Feb 28 12:46:33 2006 @@ -2521,7 +2521,7 @@ #endif if (p[1] != '\\' && p[1] != '\'' && !isspace ((unsigned char)p[1]) - && strchr (sh_chars_sh, p[1]) == 0) + && strchr (sh_chars, p[1]) == 0) /* back up one notch, to copy the backslash */ --p; #endif /* HAVE_DOS_PATHS */ --- make.h.orig Tue Feb 28 12:53:40 2006 +++ make.h Tue Feb 28 12:53:18 2006 @@ -347,7 +347,7 @@ #define S_(msg1,msg2,num) ngettext (msg1,msg2,num) /* Handle other OSs. */ -#if defined(HAVE_DOS_PATHS) +#if defined(HAVE_DOS_PATHS) && !defined(__MSYS__) # define PATH_SEPARATOR_CHAR ';' #elif defined(VMS) # define PATH_SEPARATOR_CHAR ','