[M3devel] cm3.cfg variables for IDE

Randy Coleburn rcoleburn at scires.com
Mon Jan 28 23:34:19 CET 2008


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! ( http://www.windowslive.com/share.html?ocid=TXT_TAGHM_Wave2_sharelife_012008 ) 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20080128/5409cc69/attachment-0002.html>


More information about the M3devel mailing list