<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><div><div style="font-family: Calibri, sans-serif; font-size: 16.363636016845703px; "><font face="Arial">  >  And Microsoft's command shell is a  pain in the backside to say the least.</font></div></div><div><br></div><div><br></div><font face="Calibri, sans-serif" size="3">I live in cmd every day and find it vastly preferable to e.g. Mac OS X Terminal.</font><div style="font-family: Calibri, sans-serif; font-size: 12pt; ">It's output is much faster. It's command line editing is much better, including history.</div><div style="font-family: Calibri, sans-serif; font-size: 12pt; ">The feature invoked by the F8 key -- command line completion against history -- I use all the time and have yet to find anywhere else.</div><div style="font-family: Calibri, sans-serif; font-size: 12pt; "><span style="font-family: Arial; background-color: rgb(255, 255, 255); font-size: 15.454545021057129px; "><br></span></div><div style="font-family: Calibri, sans-serif; font-size: 12pt; "><div><font face="Arial"> > A brute force approach such as copying "link.exe" to cm3/bin doesn't work either</font></div><div><font face="Arial"> >because</font></div><div><font face="Arial"><br></font></div><div><font face="Arial"><br></font></div><div><font face="Arial">Agreed. A \cm3\bin\link.cmd that first runs vcvars32.bat would work.</font></div><div><font face="Arial"><br></font></div></div><div style="font-family: Calibri, sans-serif; font-size: 12pt; "><span style="font-family: Arial; background-color: rgb(255, 255, 255); font-size: 15.454545021057129px; "><br></span></div><div><span style="background-color: rgb(255, 255, 255); "><font face="Calibri, sans-serif"> > i</font></span><span style="font-family: Arial; font-size: 15.454545021057129px; background-color: rgb(255, 255, 255); ">t doesn't </span><font face="Arial" style="font-size: 15.454545021057129px; ">allow copy-paste etc etc</font></div><div><font face="Arial" style="font-size: 15.454545021057129px; "><br></font></div><div><font face="Arial" style="font-size: 15.454545021057129px; ">Sure it does! I use it all the time</font></div><div><font face="Arial" style="font-size: 15.454545021057129px; ">By default you have to use the menu in the upper left, but you can enable "quickedit" and then it is more convenient. You should definitely try it.</font></div><div><font face="Arial" style="font-size: 15.454545021057129px; "><br></font></div><div><span style="background-color: rgb(255, 255, 255); font-size: 15.454545021057129px; line-height: 21.81818199157715px; font-family: Calibri, sans-serif; "> </span></div><div style="font-family: Calibri, sans-serif; font-size: 12pt; "><div style="line-height: 21.81818199157715px; font-size: 15.454545021057129px; background-color: rgb(255, 255, 255); "><font face="Arial" style="line-height: normal; ">> And also, sorry to say so, cm3ide is far from being an elegant development tool, you can</font></div><div style="line-height: 21.81818199157715px; font-size: 15.454545021057129px; background-color: rgb(255, 255, 255); "><font face="Arial" style="line-height: normal; ">inspect only one file at a time and using VIM from cm3ide brings you back to the above</font></div><div style="line-height: 21.81818199157715px; font-size: 15.454545021057129px; background-color: rgb(255, 255, 255); "><font face="Arial" style="line-height: normal; ">dilemma.</font></div><div style="background-color: rgb(255, 255, 255); font-size: 10pt; font-family: Tahoma; "></div><br>Agreed. cm3ide is kind of worthless and not an "IDE" by anyone's expectation.<br><br><br></div><div style="font-family: Calibri, sans-serif; font-size: 12pt; ">- Jay</div><div style="font-family: Calibri, sans-serif; font-size: 12pt; "><br><div><div id="SkyDrivePlaceholder"></div><hr id="stopSpelling">From: dmuysers@hotmail.com<br>To: jay.krell@cornell.edu; hosking@cs.purdue.edu; m3devel@elegosoft.com<br>Date: Sat, 20 Oct 2012 16:33:40 +0200<br>Subject: Re: [M3devel] Windows issue<br><br>


<style><!--
.ExternalClass .ecxhmmessage P
{padding:0px;}
.ExternalClass body.ecxhmmessage
{font-size:12pt;font-family:Calibri;}

--></style>



<div><font face="Arial">Both solutions 1. as well as 2. work only from within the 
shell where vcvars32 was called.</font></div>
<div><font face="Arial">Let's say you use the second solution and open a unix 
shell (e.g. UWIN's korn shell) the</font></div>
<div><font face="Arial">effect of vcvars32 is not visible from with that shell, 
and also if you open vim from within</font></div>
<div><font face="Arial">the ms command shell after calling "cmd /k" and then cm3 
from within vim, the same thing</font></div>
<div><font face="Arial">happens, the effect of vcvars is strictly limited to the 
"CMD" environment.</font></div>
<div><font face="Arial">A brute force approach such as copying 
"link.exe" to cm3/bin doesn't work either because</font></div>
<div><font face="Arial">"link" refers to many (how many?) other files within the 
VS environment (e.g. mspdb100.dll).</font></div>
<div><font face="Arial"></font> </div>
<div><font face="Arial">Now, the the interest of calling cm3 from within VIM 
resides in the fact that it leads one</font></div>
<div><font face="Arial">directly to the faulty lines in your preferred editor, 
sure, not as elegantly as in a real IDE</font></div>
<div><font face="Arial">such as Visual Studio or Eclipse, but fair enough if you 
are used to it.</font></div>
<div><font face="Arial">And Microsoft's command shell is a  pain in the 
backside to say the least.</font></div>
<div><font face="Arial">(it uses a weird file syntax, it can't remember its 
history between incarnations, it doesn't</font></div>
<div><font face="Arial">allow copy-paste etc etc) </font><font face="Arial">One is 
bound to hate it.</font></div>
<div><font face="Arial"></font> </div>
<div><font face="Arial">And also, sorry to say so, cm3ide is far from being an 
elegant development tool, you can</font></div>
<div><font face="Arial">inspect only one file at a time and using VIM from cm3ide 
brings you back to the above</font></div>
<div><font face="Arial">dilemma.</font></div>
<div style="font:10pt Tahoma">
<div><font size="3" face="Arial"></font><font size="3" face="Arial"></font><font size="3" face="Arial"></font><font size="3" face="Arial"></font><font size="3" face="Arial"></font><font size="3" face="Arial"></font><br></div>
<div style="background:#f5f5f5">
<div style="font-color:black"><b>From:</b> <a title="jay.krell@cornell.edu" href="mailto:jay.krell@cornell.edu">Jay K</a> </div>
<div><b>Sent:</b> Friday, October 19, 2012 5:51 PM</div>
<div><b>To:</b> <a title="hosking@cs.purdue.edu" href="mailto:hosking@cs.purdue.edu">Tony</a> ; <a title="m3devel@elegosoft.com" href="mailto:m3devel@elegosoft.com">m3devel</a> </div>
<div><b>Subject:</b> Re: [M3devel] Windows issue</div></div></div>
<div><br></div>
<div dir="ltr"><font face="Arial"> > I know there exists vcvars32.bat, 
but its effect is not permanent.</font><br><br> <br>Sure it is. If you use 
it right. Permance is relative.<br>There are two easy 
ways.<br> <br> <br>1. start; run; run vcvars32.bat; stay in same cmd 
and use cm3<br> <br> <br>2. somewhere on the start menu is a link 
that will do #1 -- opens up a cmd that runs vcvars32.bat and sticks around; the 
command line for the shortcut is roughly cmd /k c:\program files (x86)\visual 
studio\vcvars32.bat -- that /k means "run and don't exit" as opposed to the 
Unix-shell-like /c which means "run and exit". (see cmd /? for plenty more 
decent documentation -- cmd isn't great, but it is better than people realize, 
and the command line editor and text output performance are a lot better than 
anything else I've used; the scripting language aspect of it is not good though 
-- use Python instead...).<br> <br><font face="Arial"></font> <br><font face="Arial"> > It should be invoked somewhere by 
cm3/bin/config/NT386.common etc.</font><br><font face="Arial"></font> <br><font face="Arial"></font> <br><font face="Arial">Not really. But maybe/kind of/store of. If we could find 
vcvars32.bat, then we can likely know all that it does and just do it ourselves. 
Granted, past versions did try to do something like that, but they didn't work 
well. They hunted around in a few places for C compiler and linker, asked user 
to confirm, and tried to form up short paths to them. Short paths aren't 
predictable, aren't necessarily stable across backup/restore (APIs added only as 
recently as Windows XP to set them), and aren't available on all file systems -- 
either tools should tolerate spaces, or depend on %PATH%, %LIB%, and 
%INCLUDE%.</font><br><font face="Arial"></font> <br><font face="Arial"></font> <br><font face="Arial">Perhaps an option to configure 
where vcvars32.bat is and run it, and then run other stuff, should be 
considered. Because "it isn't permanant", what one can do is generate a little 
temporary .cmd file that runs vcvars32.bat, then does whatever you "really" 
wanted to do, then exists.</font><br><font face="Arial"></font> <br><font face="Arial"></font> <br><font face="Arial">Another thing we can consider is 
symlinks or hardlinks.</font><br><font face="Arial">We could create 
\cm3\bin\cl.exe, \cm3\bin\link.exe that..er..nevermind that..matter of setting 
%INCLUDE% and %LIB% not dealt with.., but this:</font><br><font face="Arial"></font> <br><font face="Arial"></font> <br><font face="Arial">We could create \cm3\bin\cl.cmd and \cm3\bin\link.cmd that run 
vcvars32.bat and then cl.exe/link.exe -- they'd be considered user editable to 
find vcvars.bat.</font><br><font face="Arial"></font> <br><font face="Arial"></font> <br><font face="Arial">On the other hand..I have a LOT of 
history with wrapper programs and such..might be better to create 
cl.exe/link.exe or cl.com/link.com that read some input and then run the 
real cl.exe/link.exe.</font><br><font face="Arial">I've been through a similar 
exercise with nmake and I'm happier to have nmake.com than nmake.cmd. ".com" 
comes before ".exe" in %PATHEXT% so if you run "foo" and there is "foo.com" and 
"foo.exe", "foo.com" will be run. Whereas ".cmd" is after ".exe" so if you have 
foo.cmd and foo.exe and run "foo", "foo.exe" will be run.</font><br><font face="Arial"></font> <br><font face="Arial"></font> <br><font face="Arial">The lesson is "users should run foo" and "creative environments" 
should introduce "foo.com".</font><br><font face="Arial"></font> <br><font face="Arial"></font> <br><font face="Arial">But still, cl.cmd/link.cmd are 
easier because they would look like this:</font><br><font face="Arial">call 
c:\program files\...vcvars32.bat -- user editable line</font><br><font face="Arial">%~0.exe %* -- foo.cmd => foo.exe, with repeated command 
line.</font><br><font face="Arial"></font> <br><font face="Arial"></font> <br><font face="Arial">whereas foo.com would have to 
either replicate vcvars32.bat somehow, or create a wrapper 
.cmd..</font><br><font face="Arial"></font> <br><font face="Arial"></font> <br><font face="Arial">Thoughts?</font><br><font face="Arial">Really asis is not bad -- run vcvars32.bat yourself, and then use 
cm3.</font><br><font face="Arial"></font> <br><font face="Arial"></font> <br> - Jay<br> <br>
<div>
<div id="ecxSkyDrivePlaceholder"></div>
<hr id="ecxstopSpelling">
From: hosking@cs.purdue.edu<br>Date: Fri, 19 Oct 2012 09:56:11 -0400<br>To: 
m3devel@elegosoft.com<br>Subject: [M3devel] Windows issue<br><br>
<div>I have had a query from a user of CM3 regarding Windows installation. 
 I am completely at sea answering since I never use Windows.</div>
<div><br></div>
<div>Here is his question:</div>
<div><br></div>
<div>
<div><font face="Arial">I have a problem with the M3 compiler since I have 
installed Visual Studio 10.</font></div>
<div><font face="Arial">cm3 does not find the Windows linker. I work with vim and 
have configured the</font></div>
<div><font face="Arial">make macro to call cm3/bin/cm3.exe and the error happens 
when quake tries to</font></div>
<div><font face="Arial">invoke the MS tools. I know there exists vcvars32.bat, but 
its effect is not permanent.</font></div>
<div><font face="Arial">It should be invoked somewhere by 
cm3/bin/config/NT386.common etc.</font></div>
<div><br></div></div>
<div><font face="Arial">Can anyone help?</font></div><br>
<div><span style="border-spacing:0px;border-collapse:separate" class="ecxApple-style-span"><span style="widows:2;text-transform:none;text-indent:0px;border-collapse:separate;font:12px Helvetica;white-space:normal;orphans:2;letter-spacing:normal;color:rgb(0,0,0);word-spacing:0px;font-size-adjust:none;font-stretch:normal" class="ecxApple-style-span">
<div style="word-wrap:break-word"><span style="widows:2;text-transform:none;text-indent:0px;border-collapse:separate;font:12px Helvetica;white-space:normal;orphans:2;letter-spacing:normal;color:rgb(0,0,0);word-spacing:0px;font-size-adjust:none;font-stretch:normal" class="ecxApple-style-span">
<div style="word-wrap:break-word"><span style="widows:2;text-transform:none;text-indent:0px;border-collapse:separate;font:12px Helvetica;white-space:normal;orphans:2;letter-spacing:normal;color:rgb(0,0,0);word-spacing:0px;font-size-adjust:none;font-stretch:normal" class="ecxApple-style-span"><span style="widows:2;text-transform:none;text-indent:0px;border-collapse:separate;font:12px Helvetica;white-space:normal;orphans:2;letter-spacing:normal;color:rgb(0,0,0);word-spacing:0px;font-size-adjust:none;font-stretch:normal" class="ecxApple-style-span"><span style="widows:2;text-transform:none;text-indent:0px;border-collapse:separate;font:12px Helvetica;white-space:normal;orphans:2;letter-spacing:normal;color:rgb(0,0,0);word-spacing:0px;font-size-adjust:none;font-stretch:normal" class="ecxApple-style-span"><span style="widows:2;text-transform:none;text-indent:0px;border-collapse:separate;font:12px Helvetica;white-space:normal;orphans:2;letter-spacing:normal;color:rgb(0,0,0);word-spacing:0px;font-size-adjust:none;font-stretch:normal" class="ecxApple-style-span"><span style="widows:2;text-transform:none;text-indent:0px;border-collapse:separate;font:12px Helvetica;white-space:normal;orphans:2;letter-spacing:normal;color:rgb(0,0,0);word-spacing:0px;font-size-adjust:none;font-stretch:normal" class="ecxApple-style-span"><span style="widows:2;text-transform:none;text-indent:0px;border-collapse:separate;font:12px Helvetica;white-space:normal;orphans:2;letter-spacing:normal;color:rgb(0,0,0);word-spacing:0px;font-size-adjust:none;font-stretch:normal" class="ecxApple-style-span"><span style="widows:2;text-transform:none;text-indent:0px;border-collapse:separate;font:12px Helvetica;white-space:normal;orphans:2;letter-spacing:normal;color:rgb(0,0,0);word-spacing:0px;font-size-adjust:none;font-stretch:normal" class="ecxApple-style-span"><span style="widows:2;text-transform:none;text-indent:0px;border-collapse:separate;font:12px Helvetica;white-space:normal;orphans:2;letter-spacing:normal;color:rgb(0,0,0);word-spacing:0px;font-size-adjust:none;font-stretch:normal" class="ecxApple-style-span">
<div><font class="ecxApple-style-span" color="#0000ff"><font class="ecxApple-style-span" face="Gill Sans"><span style="font-family:'Gill Sans';color:rgb(0,0,255)" class="ecxApple-style-span"><span style="font-family:'Gill Sans';color:rgb(0,0,255)" class="ecxApple-style-span">Antony Hosking</span></span></font></font><font class="ecxApple-style-span" face="Gill Sans"><span style="font-family:'Gill Sans'" class="ecxApple-style-span"><span style="font-family:'Gill Sans'" class="ecxApple-style-span"><span class="ecxApple-converted-space"> </span>|<span class="ecxApple-converted-space"> </span></span></span><span style="font-family:'Gill Sans'" class="ecxApple-style-span"><span style="font-family:'Gill Sans'" class="ecxApple-style-span">Associate 
Professor</span></span><span style="font-family:'Gill Sans'" class="ecxApple-style-span"><span style="font-family:'Gill Sans'" class="ecxApple-style-span"> | Computer Science | Purdue 
University</span></span></font></div>
<div><font class="ecxApple-style-span" face="GillSans-Light"><span style="font-family:GillSans-Light" class="ecxApple-style-span">305 N. University 
Street | West Lafayette | IN 47907 | USA</span></font></div>
<div><font class="ecxApple-style-span" color="#0000ff" face="Gill Sans"><span style="font-family:'Gill Sans';color:rgb(0,0,255)" class="ecxApple-style-span"><span style="font-family:'Gill Sans';color:rgb(0,0,255)" class="ecxApple-style-span">Mobile</span></span></font><font class="ecxApple-style-span" face="GillSans-Light"><span style="font-family:GillSans-Light" class="ecxApple-style-span"><span style="font-family:GillSans-Light" class="ecxApple-style-span"><span class="ecxApple-converted-space"> </span>+1 765 427 
5484</span></span></font></div>
<div><font class="ecxApple-style-span" face="GillSans-Light"><br class="ecxkhtml-block-placeholder"></font></div></span></span></span></span></span></span></span><br class="ecxApple-interchange-newline"></span></div></span></div></span><br class="ecxApple-interchange-newline"></span><br class="ecxApple-interchange-newline"></div><br></div></div></div></div>                                     </div></body>
</html>