@@ -230,21 +230,24 @@ public override void UserRefreshRequest()
230230 /// </summary>
231231 static public void SetHaxeEnvironment ( string sdkPath )
232232 {
233+ sdkPath = sdkPath . TrimEnd ( new char [ ] { '/' , '\\ ' } ) ;
233234 if ( currentEnv == sdkPath ) return ;
234- currentEnv = sdkPath ;
235235 Environment . SetEnvironmentVariable ( "HAXEPATH" , sdkPath ) ;
236236
237237 var neko = Path . GetFullPath ( Path . Combine ( sdkPath , "..\\ neko" ) ) ;
238238 if ( Directory . Exists ( neko ) )
239239 Environment . SetEnvironmentVariable ( "NEKO_INSTPATH" , neko ) ;
240240 else neko = null ;
241241
242- var path = Environment . GetEnvironmentVariable ( "PATH" ) ;
243- path = Regex . Replace ( path . Replace ( currentSDK + ";" , "" ) , "^[^;]+neko;" , "" , RegexOptions . IgnoreCase ) ;
244- path = Regex . Replace ( path . Replace ( currentSDK + ";" , "" ) , "^[^;]+haxe;" , "" , RegexOptions . IgnoreCase ) ;
245- path = currentSDK . TrimEnd ( new char [ ] { '/' , '\\ ' } ) + ";" + path ;
242+ var path = ";" + Environment . GetEnvironmentVariable ( "PATH" ) ;
243+ if ( currentEnv != null ) path = path . Replace ( currentEnv + ";" , ";" ) ;
244+ path = Regex . Replace ( path , ";[^;]+neko[/\\ \\ ]*;" , ";" , RegexOptions . IgnoreCase ) ;
245+ path = Regex . Replace ( path , ";[^;]+haxe[/\\ \\ ]*;" , ";" , RegexOptions . IgnoreCase ) ;
246+ path = path . TrimStart ( new char [ ] { ';' } ) ;
247+ path = sdkPath + ";" + path ;
246248 if ( neko != null ) path = neko . TrimEnd ( new char [ ] { '/' , '\\ ' } ) + ";" + path ;
247249 Environment . SetEnvironmentVariable ( "PATH" , path ) ;
250+ currentEnv = sdkPath ;
248251 }
249252
250253 /// <summary>
0 commit comments