[M3devel] paths..

Jay jayk123 at hotmail.com
Sat Feb 23 14:50:50 CET 2008


I guess really this is why "I" will use NT386 or NT386MINGNU, and "you" will use NT386GNU.
NT386GNU should be counter whatever I like. :)
Ok, I'll try that again..
(So much for those instructions I just sent out, oh well; they are still correct but after some testing..may be invalidated..)
I did find that Cygwin->cm3->quake->exec("c:\cm3\bin\m3bundle") doesn't work due to these annoying path issues...
 
 - Jay


From: jayk123 at hotmail.comTo: wagner at elegosoft.com; m3devel at elegosoft.comDate: Sat, 23 Feb 2008 13:07:09 +0000Subject: Re: [M3devel] paths..


They'll be escaped.?Olaf, I'm just not sure. It could be that if I just set CM3_ROOT, CM3_INSTALL, and possibly M3_CONFIG, then the Posix code is ok. However, note as I said that Cygwin does accept these paths..The opposite problem holds too -- I like copy/pasting the error messages into file.open dialogs, and forward slashes don't work there unfortunately.I had a diff for a bit that between \ and /, would try to use whatever was already in the data.I had a problem with but it still might be viable, specifically in the Win32 paths. Maybe if I can just get it definitely usable (maybe already there) and get a distribution out, someone else can hack on this issue..  - Jay

> Date: Sat, 23 Feb 2008 13:39:09 +0100> From: wagner at elegosoft.com> To: m3devel at elegosoft.com> Subject: Re: [M3devel] paths..> > Jay,> > I'm not really happy with NT386GNU using PathnameWin32.m3.> In my opininion it should just use the POSIX code, whatever problems> people will have with their installation roots. (These can be avoided> by using the /cygdrive/... equivalents.)> Why don't we just assume that by deafult CM3 is installed in> /usr/local/cm3 as for all other targets (except NT386, of course)?> > One thing that immediately comes to mind is that all paths output> by CM3 programs will contain \ instead of / then and thus be> unusable for simple copy-and-paste, as \ is the escape character> in all POSIX command line tools. So this seems kind of incompatible> to me.> > Olaf> > Quoting Jay <jayk123 at hotmail.com>:> > > I could be wrong about many things here:> >> > Cygwin fopen and I presume open accepts all of:> > c:\foo, c:/foo, /foo, \foo> >> > /foo and \foo probably have a different meaning between Cygwin and Win32.> > In Win32, /foo and \foo are, well, \foo, on the current drive.> > In Cygwin, /foo is probably /foo at the Cygwin root.> > I'd kind of like to be wrong here, about \foo having different > > meanings between them, since it a common form for me.> >> > Cygwin does not accept c:foo.> > In Win32 c:foo is foo in the current working directory of the C: drive.> > I don't think c:foo is used often, but it does have a meaning.> >> > Now, as well, cm3 has its own Path module, M3Path, but I realized > > tonight it also uses libm3's Pathname module a fair amount. In > > particular, I was having errors "shipping".> >> > This throws a big monkey wrench into where I was going.> > So now, after a bunch of going back and forth on various uncommited > > changes, I have now switched (and commited) NT386GNU to use > > PathnameWin32.m3. To some extent, this strikes at the core of "what > > is Posix" and "ruins" NT386GNU's differentiation from "NT386MINGNU". > > However, remember that Cygwin does appear to accept Win32 paths. > > So, again, if Cygwin accepts Win32 paths, is it Posix? (Given that > > Win32 accepts /foo, is it Posix?) As well, this target still uses > > cygwin1.dll for its all its odd behaviors. It still uses > > open/read/write (again, remember that msvcrt.dll DOES expose these > > SAME functions..I still contend that Win32 is close enough to Posix > > to satisfy almost everyone..and then X Windows can be dealt with > > separately maybe, or Trestle/Win32 fixed).> >> > I have some more testing to do but I think this switch will fly, and > > various other options can go away.> > And I can undo the small amount I had commited.> > I think I'll just send my m3path.m3 diff around and then delete it.> >> > I ended up with a set based approach where host and target have a > > set of dir separaters, volume separaters, and separators (union of > > previous two). These are TINY sets, containing a maximum of three > > characters each, and '/' is always a member of two of them. So a set > > is kind of overkill. But it works out pretty ok.> >> > - Jay> > _________________________________________________________________> > Need to know the score, the latest news, or you need your > > Hotmail®-get your "fix".> > http://www.msnmobilefix.com/Default.aspx> > > > -- > Olaf Wagner -- elego Software Solutions GmbH> Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany> phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95> http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194> 

Connect and share in new ways with Windows Live. Get it now! 
_________________________________________________________________
Need to know the score, the latest news, or you need your Hotmail®-get your "fix".
http://www.msnmobilefix.com/Default.aspx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20080223/9a6ac73d/attachment-0002.html>


More information about the M3devel mailing list