[MonoDevelop] Win32 patch

Levi Bard taktaktaktaktaktaktaktaktaktak at gmail.com
Fri Sep 1 10:28:30 EDT 2006


> Is this for mono on windows or .net or both?

This is for mono on windows.

> Also, there seems to be a bunch of whitespace changes which makes it
> hard to review.

Sorry, I removed all the \r from the VBBinding file.  Its changes are
basically the same as for the CSharpBinding.  I can revert the
whitespace stuff if you prefer.

> I didn't review the whole thing but here are some:
> + char splitc = SystemPackage.IsWin32 ? ';' : ':' ;
>
> I think just use System.IO.Path.DirectorySeperatorChar for this

This isn't the DirectorySeparatorChar, this is the char to separate
different elements in environment variables.  E.g. Unix PATH:
/bin:/usr/bin   Win32 PATH: c:\windows;c:\windows\system

> For all the path stuff like:
> file = file.Substring (7);
> if (file.StartsWith("/") && SystemPackage.IsWin32)
>     file =file.Substring(1);

This is necessary for URIs because on Unix, new
Uri("/blah").ToString() => "file:///blah" , and on win32, new
Uri("c:\blah").ToString() => "file:///c:/blah"  (also with .net).

> if (SystemPackage.IsWin32)
>     datadir = datadir.Replace("\\","/");

This is actually only necessary for the autotools addin because it
needs different slashes than

> it would probably be better if:
> 1) we just use '/' unconditionally on windows also (assuming that works
> like someone told me it does)

This would require replacing every Path.Combine with foo + '/' + bar
and every Path.DirectorySeparatorChar with '/'

> 2) we add helper methods (maybe in FileUtilityService?) to do that stuff
We could - I would have if it was more than a one-liner...

> 3) consistently use file:// Uris or regular paths and stop converting
> to/from them all the time

I don't think we could 100% replace paths with Uris, and I'm sure
removing Uris entirely would limit the Gnomability...


-- 
Tcsh: Now with higher FPS!
http://www.gnu.org/philosophy/shouldbefree.html


More information about the Monodevelop-list mailing list