[M3devel] cm3.cfg variables for IDE

Tony Hosking hosking at cs.purdue.edu
Tue Jan 29 00:50:55 CET 2008


Hear, hear.  Jay, please listen to this -- it is important!

On Jan 28, 2008, at 5:34 PM, Randy Coleburn wrote:

> Jay:
>
> I understand about use of the "shell" in Windows to find stuff.  I  
> use the "start" command all the time.
>
> I'm not ASKING for how best to fix/change/improve the current  
> situation.  I'm just STATING what is required for now.  Anyone is  
> welcome to improve upon things later.  I'm just trying to get this  
> "out the door" so it is available to everyone.
>
> At one point in time, circa cm3 v4.1, all of this did in fact work;  
> and, it worked across multiple platforms.  If we can get the IDE  
> into the repository, we can migrate it along with the rest of cm3  
> as the system evolves.
>
> No, I don't use WordPad or Notepad as my primary editor for m3  
> code.  I use CRiSP, but that is beside the point.  The original  
> CMass Reactor designers tried to come up with some reasonable  
> defaults for the various platforms that would work in virtually all  
> cases.  CMInstall used notepad as the default editor for Windows  
> because all Windows systems were known to have notepad installed by  
> default.  On Unix, it used a different default, probably vi or  
> something.  During the CMInstall dialog, my recollection is that it  
> probed your system for "known" editors and browsers and let you  
> pick from a list of what it found, or you could override its  
> default choices by specifying whatever you wanted.  At run-time,  
> the IDE has a configuration screen where you can change these  
> selections again.
>
> So, the idea was to make sure Reactor worked out-of-the-box, and  
> let the user customize it to make the experience better, e.g.,  
> choose your favorite editor, source code control system, etc.
>
> Bottom line, for now we need to make sure INSTALL_ROOT, BUILD_DIR  
> and PKG_USE are defined in cm3.cfg for all platforms.  Otherwise,  
> the user is going to run into trouble and we will have to deal with  
> a bunch of support requests.
>
> Going forward, we can adapt the IDE code to do whatever works best  
> for everyone.
>
> Regards,
> Randy
>
> >>> Jay <jayk123 at hotmail.com> 1/28/2008 1:40 PM >>>
> There are other ways to do this...rather than run iexplore, you can  
> use ShellExecute and run a url or something, or find the clsid of  
> mshtml.dll maybe. For wordpad, again ShellExecute wil tend to find  
> it. Notice how if you say start.run and type wordpad, it finds it?  
> Or "start wordpad" from the command line? "start" ~ ShellExecute,  
> instead of CreateProcess. "Shell" meaning the GUI shell -- Windows  
> Explorer.
>
> Wordpad and notepad stink as text editors. And notepad doesn't like  
> Unix newlines. I assume that's why wordepad.
> Someting should be done, like, in the grand gui installer, where it  
> lists some freeware/shareware editors and offers to download and  
> install and set them as the editor for you. Stuf like TextEdit,  
> TextPad, UltraEdit...I think all of those exist, though somewhat  
> I'm guesing based on the obvious formula. :)
> As well if it locate msdev or devenv that would be super.
>
> As I was saying the other day, I believe msdev and devenv are  
> easily findable via normal installs, except not on my machines. :)  
> I need to go through the environment you sent.
>
> The way this stuff works in Modula-3 today is..unnecessarily old  
> fashioned...
> I'm all for simplicity, but having a bajillion environment  
> variables does not seem to be the thing. Or a bajillion line user  
> editor text files. Or short file names anywhere! Just do a backup/ 
> restore and see if those names survive. They might. They might not.  
> Oh well, true, nobody ever backs anything up. Still, xcopy your  
> software from one machine to another and see if the paths still  
> work -- definitely it's hard to do that for free, but you can keep  
> the cost down.
>
>  - Jay
>
> Date: Mon, 28 Jan 2008 13:15:42 -0500
> From: rcoleburn at scires.com
> To: jayk123 at hotmail.com
> CC: m3devel at elegosoft.com
> Subject: cm3.cfg variables for IDE
>
> Jay:
>
> I thought I should let you know what I understand to be the  
> variables that the IDE is looking to find in cm3.cfg.  That way, as  
> you work through any changes to the various cm3.cfg, you can make  
> sure these requirements are met.
>
> INSTALL_ROOT   (e.g., c:\cm3)
> BUILD_DIR   (e.g., NT386)
> PKG_USE   (e.g., c:\cm3\pkg)
>
> DOC_INSTALL  (e.g., c:\cm3\doc)
> INITIAL_CM3_IDE_BROWSER   (e.g., c:\progra~1\intern~1\iexplore.exe)
> INITIAL_CM3_IDE_EDITOR   (e.g.,   c:\progra~1\window~1\accessories 
> \wordpad.exe)
>
> Now, of these 6 listed above, the first three: INSTALL_ROOT,  
> BUILD_DIR and PKG_USE, are the most critical for the IDE.
>
> DOC_INSTALL can be omitted, in which case the IDE will substitute  
> INSTALL_ROOT\doc
>
> If INITIAL_CM3_IDE_BROWSER and/or INITIAL_CM3_IDE_EDITOR are not  
> defined, the IDE will prompt the user via its console log window  
> for the complete paths to these two programs; thus their definition  
> can be omitted from the cm3.cfg.  The IDE will store the user's  
> input for subsequent reuse in its own private cfg file.  This file  
> is stored in the user's home folder or as specified in the optional  
> CM3_IDE_HOME environment variable.  The CM3_IDE_HOME environment  
> variable should point to the path of the user's primary private  
> package repository.  CM3_IDE_HOME should NOT be defined in cm3.cfg.
>
> If anyone wants to keep the cminstall program up-to-date, they should
> replace INITIAL_REACTOR_BROWSER and INITIAL_REACTOR_EDITOR
> with INITIAL_CM3_IDE_BROWSER and/or INITIAL_CM3_IDE_EDITOR .
>
> Regards,
> Randy
>
> Connect and share in new ways with Windows Live. Get it now!




More information about the M3devel mailing list