Since Bill Schelter wrote XMaxima for GCL, why not always use it
with GCL. Is there some reason to spend time making it also run
on other lisps? Bill also had a version for Windows that was
pretty good.
Portability is a nice idea in the abstract but is there a reason to
spend time
on this (CLISP Xmaxima) or any non-GCL XMaxima, for that matter?
RJF
James Amundson wrote:
>Here is a brief summary of the xmaxima situation. Anyone interested in
>looking at the problems should either check out the cvs version of
>maxima or download the most recent snapshot available from
><http://sourceforge.net/projects/maxima>. The guts of the xmaxima source
>are in the subdirectory interfaces/xmaxima/Tkmaxima.
>
>(These notes are disjoint and incomplete. I apologize. If you are
>interested in helping and something is not clear here, please ask!)
>
>1) As of 5.9.0, xmaxima worked with maxima, but:
> a) The connection to the various maxima directory variables was very
>complicated and undocumented.
> b) The windows version was hardcoded to talk to gcl maxima through
>gcl's implementation-specific command-line arguments.
> c) The unix version invoked maxima with the arguments
>-p $lisp -r ":lisp (progn (user::setup PORT)(values))", where PORT is
>the socket port number substituted in by xmaxima and $lisp was the full
>path to server.lisp, which was in the xmaxima install directory. (PORT
>is usually 4008.)
>
>2) For 5.9.1 (and beyond) I've made several changes to reduce the number
>of connections between maxima, xmaxima and platform. In principle,
>everything should be much simpler now, but I am having trouble debugging
>things in practice.
> a) maxima can be started in server mode directly:
> maxima -s 4008
> is the equivalent of the complicated mess in (1c).
>
> b) maxima works the same way on windows as it does on unix.
> There is now a maxima.bat script that allows maxima to be
> started with the same command-line arguments as on unix.
> maxima -s 4008
> should be enough to start the server.
>
> c) The various maxima directory variables, which have changed,
> are now documented in doc/implementation/dir_vars.txt.
>
> d) maxima can now be queried to show its directory variables.
> This means that other programs don't need to duplicate the
> directory selection logic -- they can just execute
> maxima -d
> lists all the directories and their values.
>
>The only xmaxima changes I've made are in Paths.tcl. You can view the
>history of changes on the web at
><http://cvs.sourceforge.net/viewcvs.py/maxima/maxima/>, particularly
><http://cvs.sourceforge.net/viewcvs.py/maxima/maxima/interfaces/xmaxima/Tkmaxima/>.
>
>Miscellaneous notes:
>
>I have never been able to get clisp to work with xmaxima on windows. It
>works fine under linux. I think part of the problem is the way errors
>are redirected to the socket in src/server.lisp -- if there is an error
>with the socket, the error message gets sent to the socket, which
>generates an error message, which gets sent to the socket, which ....
>
>Running tests in xmaxima requires knowing the location of the test
>directory. I'm going to make the test suite an internal maxima command,
>so that problem will disappear.
>
>--Jim
>
>_______________________________________________
>Maxima mailing list
>Maxima@www.math.utexas.edu
>http://www.math.utexas.edu/mailman/listinfo/maxima
>
>