<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
In the top of cm3.cfg put<br>if not defined("SL") SL = "/"<br>and/or just hardcode forward slash -- it works on Windows.<br><br>There is already similar in a few places.<br>Look at cminstall/src/config-no-install/cm3.cfg.<br><br>This is why m3tohtml and such were crashing, but I dealt with them.<br>I thought. Again, see the cm3.cfg and cm3cfg.common, etc.<br><br>I have a proposal for next release that the predefines that cm3 does<br>be made available to all quake clients via some new function.<br><br> - Jay<br><br><br>> Date: Sat, 22 Aug 2009 01:16:49 +0200<br>> From: wagner@elegosoft.com<br>> To: m3devel@elegosoft.com<br>> Subject: [M3devel] config init problem<br>> <br>> In MxConfig.m3 quake runtime exception were ignored and thrown away<br>> in EvalConfig. Writing them to stderr, we get the following output<br>> for a simple cm3.cfg file:<br>> <br>> % cat ~/cm3-rc3/bin/cm3.cfg<br>> <br>> %INSTALL_ROOT = "/ad0e/home/wagner/cm3-rc3"<br>> INSTALL_ROOT = path() & SL & ".."<br>> <br>> include(path() & "/config/FreeBSD4")<br>> <br>> luthien [~/work/cm3] wagner<br>> % cm3 -trace -version<br>> Critical Mass Modula-3 version p5.8.3<br>> last updated: 2009-08-10<br>> compiled: 2009-08-21 22:59:34<br>> configuration: /ad0e/home/wagner/cm3-rc3/bin/cm3.cfg<br>> host: FreeBSD4<br>> ****** /ad0e/home/wagner/cm3-rc3/bin/cm3.cfg ******<br>> .0 SetLine 1<br>> .1 SetLine 3<br>> .2 LoadVar (193) "path"<br>> .3 StartCall<br>> .4 CallFunc 0<br>> .5 LoadVar (373) "SL"<br>> quake runtime error: "/ad0e/home/wagner/cm3-rc3/bin/cm3.cfg", line 3: <br>> quake runtime error: undefined variable: SL<br>> <br>> --procedure-- -line- -file---<br>> 3 /ad0e/home/wagner/cm3-rc3/bin/cm3.cfg<br>> target:<br>> <br>> SL gets defined in M3Build.m3 in cm3, along with all the other<br>> builtins that the compiler may use (and the config file author).<br>> Of course MxConfig in package m3quake does not know about these,<br>> as it creates its own quake machine on the fly.<br>> <br>> So configuration evaluation won't work in general currently,<br>> unless only standard quake functions and definitions are used.<br>> <br>> Any ideas?<br>> <br>> Olaf<br>> -- <br>> Olaf Wagner -- elego Software Solutions GmbH<br>> Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany<br>> phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95<br>> http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin<br>> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194<br>> <br></body>
</html>