[M3commit] CVS Update: cm3

Jay Krell jkrell at elego.de
Mon Feb 18 16:16:44 CET 2008


CVSROOT:	/usr/cvs
Changes by:	jkrell at birch.	08/02/18 16:16:44

Modified files:
	cm3/m3-sys/m3quake/src/: QMachine.i3 QMachine.m3 
	cm3/m3-sys/cm3/src/: M3Path.m3 

Log message:
	At least for purposes of determining if Join(a,b) is b or a + slash + b,
	treat any path that starts with a forward or backward slash, or
	contains a colon as the second character, as absolute, on all platforms.
	It is ASSUMED that backslashes and colons are never used in paths
	on non-Windows systems, or at least that this interpretation is ok.
	This will contribute some ease of use. NT386 and NT386GNU need not
	be so picky about path forms. Cygwin and Win32 already generally
	accept either form in many contexts, sometimes with slightly different
	meaning, sometimes not. e.g. the path /foo in Win32 is at the root
	of the "current drive, but is just "at the root" in Cygwin.
	In either case, for purposes of Join, it CAN be considered absolute
	though this does change the meaning of some constructs.
	e.g. if current drive is C:, is Join(D:, /foo) => D:/foo or just /foo,
	which would then become C:/foo?
	What is more interesting and useful is for NT386GNU to treat c:\foo
	as absolute, as this change also achieves, so that Join(c:\foo, d:\bar)
	is the valid path d:\bar and not the invalid c:\foo/d:\bar.
	Again note that Cygwin appears to accept all of c:\foo, c:/foo, /foo,
	and \foo style paths, and that Win32 definitely accepts them, albeit
	maybe with different meaning. (//foo and \\foo also)




More information about the M3commit mailing list