<html><div style='background-color:'><DIV class=RTE>
<P>I removed SL from sysinfo.cmd, seeing if could reduce how much it does. The result was everything worked except I got a few warnings like:</P>
<P> ignoring override foo\bar already overridden witih foo/bar</P>
<P>something like that, maybe I got the slashes backwards.</P>
<P>A quick survey of m3overrides files in the tree shows lots of / and very few SLs, these were the only SLs. So I conclude that / works fine and SL is not needed.</P>
<P>Maybe this is being a little sleazy -- Win32 usually works fine with / or \. But maybe there was a desire to abstract the character for other systems, like : on class Mac OS? Maybe all the users of / should be revisited and changed to SL?</P>
<P>"usually" -- all the kernel32.dll apis treat / and \ the same, unless the path starts, literally, <A href="file://\\?\">\\?\</A>. That is a special prefix that is documented to allow using paths beyond 260 characters and other unclear affects. The other unclear affects is a general skipping of canonicalization -- no handling of current working directory, no handling of ".." and "." elements, no removal of spaces in various places like at the end of the path. This is very dumb but oh well. Paths beyond 260 characters should simply be allowed in the usual form. Oh also you are limited to 260 in Ascii APIs, have to use Unicode to go beyond it, also dumb. I expect Unix is pretty bad here too just that folks pick a different maximum like 1024. The NT kernel has an actual limit of 32k for full path opens but the thin kernel32.dll wrapper over it reduces that functionaly...</P>
<P>Other parts of system, like comdlg32.dll (file.open/save dialogs) don't I think allow forward slashes, and command line utilities VERY often try to second guess kernel32.dll and don't allow forward slashes. Sometimes quotes allow them to work, which doesn't really make sense. (I have been mucking in the m3tests directory for example..)</P>
<P>Really the behavior of the underlying OS is not the only important thing here. cm3 itself can interpret these paths however it wants. It can convert paths. It depends. It depends how thin the abstractions should be vs. getting folks to have to author OS-dependent stuff correctly for different OSes, and if the lower levels can figure things out without additional context.</P>
<P> - Jay<BR></P></DIV>
<DIV></DIV>
<BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #a0c6e5 2px solid; MARGIN-RIGHT: 0px"><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">
<HR color=#a0c6e5 SIZE=1>
<DIV></DIV>From: <I>Henning Thielemann <lemming@henning-thielemann.de></I><BR>To: <I>Jay Krell <jkrell@birch.elego.de></I><BR>CC: <I>Modula-3 developers <m3devel@elegosoft.com></I><BR>Subject: <I>[M3devel] Re: [M3commit] CVS Update: cm3</I><BR>Date: <I>Wed, 03 Jan 2007 14:31:24 +0100 (MET)</I><BR>><BR>>On Sat, 30 Dec 2006, Jay Krell wrote:<BR>><BR>> > CVSROOT: /usr/cvs<BR>> > Changes by: jkrell@birch. 06/12/30 09:02:29<BR>> ><BR>> > Modified files:<BR>> > cm3/m3-libs/arithmetic/src/: m3overrides<BR>> > cm3/m3-libs/commandrw/src/: m3overrides<BR>> > cm3/m3-libs/dosunixrw/src/: m3overrides<BR>> > cm3/m3-libs/fftw/src/: m3overrides<BR>> > cm3/m3-libs/lapack/src/: m3overrides<BR>> > cm3/m3-libs/plplot/src/: m3overrides<BR>> >
cm3/m3-libs/unittest/src/: m3overrides<BR>> > cm3/m3-tools/pp/src/: m3overrides<BR>> > cm3/m3-ui/ui/src/: m3overrides<BR>> > cm3/m3-ui/vbtkit/src/: m3overrides<BR>> ><BR>> > Log message:<BR>> > Most m3overrides do not use SL (SLash -- \ for Windows or / for Unix).<BR>> > These few do.<BR>> > Fewer variables are better.<BR>> > Removing these uses lets us not define SL in scripts\win\sysinfo.cmd.<BR>> > It is still used in some m3makefiles and those uses need to be reviewed.<BR>><BR>>Since I added the SLs recently in many of my m3overrides - can you<BR>>elaborate on these changes?<BR>>_______________________________________________<BR>>M3devel mailing list<BR>>M3devel@elegosoft.com<BR>>https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel<BR></FONT></BLOCKQUOTE></div><br clear=all><hr> <a
href="http://g.msn.com/8HMAENUS/2731??PS=47575" target="_top">Fixing up the home? Live Search can help</a> </html>