From 138d020e1b84005e12e8d4f5557bd6387bf26f51 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 22 Jun 2013 16:22:25 +0300 Subject: [PATCH] Compare internal commands of non-Unix shells on Windows case-insensitively. job.c (construct_command_argv_internal) [WINDOWS32]: Use case-insensitive comparison with internal commands of non-Unix shells. --- ChangeLog | 4 ++++ job.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index c01a3233..17a68f2c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2013-06-22 Eli Zaretskii + * job.c (construct_command_argv_internal) [WINDOWS32]: Use + case-insensitive comparison with internal commands of non-Unix + shells. + * main.c (find_and_set_default_shell): Don't use file_exists_p or dir_file_exists_p, as those call readdir, which can fail if PATH includes directories with non-ASCII characters, and that would diff --git a/job.c b/job.c index ef24caa0..8b1a8dfd 100644 --- a/job.c +++ b/job.c @@ -3172,12 +3172,12 @@ construct_command_argv_internal (char *line, char **restp, char *shell, { if (streq (sh_cmds[j], new_argv[0])) goto slow; -# ifdef __EMX__ +#if defined(__EMX__) || defined(WINDOWS32) /* Non-Unix shells are case insensitive. */ if (!unixy_shell && strcasecmp (sh_cmds[j], new_argv[0]) == 0) goto slow; -# endif +#endif } }