core: split PATH on ; on Windows
authorAlexis Laferrière <alexis.laf@xymus.net>
Thu, 16 Mar 2017 17:12:48 +0000 (13:12 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Fri, 17 Mar 2017 15:44:17 +0000 (11:44 -0400)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

lib/core/environ.nit

index 941bd1c..4ef4c99 100644 (file)
@@ -46,10 +46,12 @@ redef class String
        # Search for the program `self` in all directories from `PATH`
        fun program_is_in_path: Bool
        do
+               var sep = if is_windows then ";" else ":"
                var full_path = "PATH".environ
-               var paths = full_path.split(":")
+               var paths = full_path.split(sep)
                for path in paths do if path.file_exists then
                        if path.join_path(self).file_exists then return true
+                       if is_windows and (path / self + ".exe").file_exists then return true
                end
 
                return false