[M3devel] new problem on NT386
Jay
jayk123 at hotmail.com
Wed Jan 23 10:11:15 CET 2008
Surprising, but I'm sure it is trivial.
For now try this:
exec ("cmd", "/c \"", pkg, "| cm3", options, "\"")
and if that doesn't work
> "foo.cmd" in
write(pkg, "| cm3", options)
end
exec("foo.cmd")
or in the very unlikely change THAT doesn't work,
exec("cmd /c foo.cmd")
or
exec("cmd", "/c", "foo.cmd")
See version.quake for examples.
cd %cvsroot%
dir /s/b version.quake
I'm embarrased about my proficiency with cmd and Quake. :)
Actually for an even better related example maybe, look at m3cc\m3makefile and m3gdb\m3makefile.
dir /s/b %cvsroot%\m3makefile | findstr /i m3cc
have quick edit turned on in your cmd
double click the output, right click once maybe (it's hard to remember verbally the muscle memory here)
and then file.open, paste
the Windows command line is nice! until you to start "programming it" with cmd (and then it can be nice, but not for long)....
You will be sitting in the target directory likely so you don't need a unique file name.
I have been prepending "private" temporary files with "_m3", like "_m3responsefile.txt", "_m3something.cmd".
CM3 uses ".M3" but I don't like hidden files as that achieves on Unix, they just hide stuff that inevitably should be visible.
(I keep going back and forth about the "@" characters in config files. For now, I have revealed the once per directory mklib and link/gcc, and the occasional C compilation, but kept hidden the repeated runs of m3cg and as; don't worry, this only applies to NT386 and my config-no-install directory.)
What, Reactor is implemented in Quake instead of Modula-3? :)
Later,
- Jay
Date: Wed, 23 Jan 2008 03:50:10 -0500From: rcoleburn at scires.comTo: m3devel at elegosoft.comSubject: [M3devel] new problem on NT386
As you know, I am working to finalize the new Reactor.
I've run into a new problem that did not exist on cm3 v5.2.6 or on cm3 v4.1, so I am hoping someone, perhaps Jay, can shed some light.
Reactor uses quake function calls to invoke operations like build, clean, ship, etc. I have determined that the change directory (cd) call is not working properly.
Here is an example quake function used by Reactor to build a package:
proc build_package (pkg, options) is exec ("cd", pkg, "| cm3", options)end
If I had a package "Hello" located in C:\MyPkgs\Hello, here is what the exec call looks like: exec ("cd C:\MyPkgs\Hello | cm3")
What is happening is that the "cd" is ignored and "cm3" is being called in the current directory (whichever that happens to be). Thus, the cm3.exe can't find the sources for the package.
I've gone back to the old v5.2.6, and this wrong behavior does not occur. Instead, everything works as it should. So something has changed since that point in time that is causing a problem.
Any ideas?
Regards,
Randy
_________________________________________________________________
Climb to the top of the charts! Play the word scramble challenge with star power.
http://club.live.com/star_shuffle.aspx?icid=starshuffle_wlmailtextlink_jan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20080123/0e633715/attachment-0002.html>
More information about the M3devel
mailing list