Subject: I need help with xmaxima, particularly on windows
From: George N. White III
Date: Sun, 22 Feb 2004 09:44:39 -0400
On Sat, 21 Feb 2004, C Y wrote:
> --- Stavros Macrakis <stavros.macrakis@verizon.net> wrote:
> > > If there is some love for xmaxima out there, now would be the
> > > time to say so.
> >
> > Command line (running under Emacs) is OK for me except for one
> > (important!) thing: there is no way to interrupt an infinite loop in
> > Emacs shell windows as far as I know. I assume plotting would
> > continue to work in separate windows.
I have very little Win32 experience (mostly bad), but I do know that
there are significant differences between the xemacs command-line
on Win9x and WinXP from testing the TeX Live 2003 distro, which
bundles xemacs but also includes many utilities (e.g., perl scripts)
that don't actually work in Win9x unless you can arrange a very specific
environment (no spaces in path components or filenames, for starters).
> I'm personally of the opinion that xmaxima is not worth continued time
> and investment. I'd say the best thing to do at this point would be to
> make sure Maxima runs well using the emacs mode on both Windows and
> Linux, and go with that until we produce a good GUI. (BTW Jay, does
> the emacs package simplify with the new changes that have been added?)
Xmaxima should be continued if and only if there is a Win32 user willing
to do the work, and even then other options could provide a bigger
payoff for less work.
> This leaves us with the question of what to do for the installable
> package on Windows. Here are my thoughts (for whatever they're worth)
>
> a) Have the .exe package work with only command line. This seems like
> asking for trouble to me - xmaxima isn't great, but people do have the
> option to save txt files of their sessions, which is much better than
> nothing. Command line control isn't going to appeal to them, and my
> concern is we might wind up with a lot of people continuing to use
> 5.9.0. Not good for bug reporting and testing purposes. Of course,
> this is the default easiest position to fall back on if need be.
The intersection of the set of people who prefer working in commandline
mode with the set of Win32 users is tiny. There is no point even
releasing a Win32 version if you don't provide some support to encourage
reluctant command-line users.
> b) Advise people to install emacs, and then put the emacs files
> associated with Maxima in whatever directory is appropriate on Windows
> and have the default icon call up an emacs maxima session. More work
> for the end user, but at least they would have the ability to save
> files.
This is fine if the documentation is done properly. You can't assume
users have heard of emacs and need to explain why it is recommended
and make sure it really does work. What I found with TeX is that the
documentation showed an install in "C:\Program Files\TeX Live" but in fact
some developers were using "C:\TL" and didn't provide a way to handle
the spaces in path components.
> c) We bundle emacs and maxima (maybe gnuplot too, if that's
> technically and legally workable) into one self contained installer,
> with all the files in the right places. I don't know how tricky this
> is, but it would have the very distinct advantage of giving us a clean,
> self contained package with minimal effort on the part of the end user.
> A rather large package granted, but we can always bundle things with
> just the command line version if people need a smaller download. I
> don't have a Windows box at my fingertips, so I can't say exactly what
> we could do, but here's my reasoning:
>
> According to this page: http://www.cs.utah.edu/~alee/emacs/emacs.html
> it's possible to install emacs on Windows 95/98/2K/NT/ME/XP. It looks
> like the emacs tarball is about 8 megs. (We might be able to trim out
> a fair bit of that for a special purpose application like this, but I
> don't know how flexible it is.) We install our emacs into the maxima
> directory, along with all the config files and such needed to make it
> work. Then, to launch maxima, we have our icon linked to a script that
> sets whatever variables it needs to and launches emacs with a maxima
> session in it.
Sounds simple, but you have to deal with:
- spaces in paths. Do you deal with them or do users need to supply
the 8.3 equivalents "Program Files" --> "Progra~X" where
usually but not always X=1.
- forward slashes in paths to executables need to be converted to "\"
on Win9x
- increasing environment space to hold those variables
I tried hard to get Tex Live 2003 working on Win9x because our Win32 users
are still running 4AllTeX, which is desperately out of date, but does
provide a simple gui front-end that users like. The problem is that most
of the TeX developers use *x and the few Win32 types have long since moved
onto XP. There are too many tools that assume no spaces in
filenames/path components. WinXP is more likely to accept "/" in a path.
TeX is a much harder problem to solve because you have 100's of
contributed tools/packages.
> It's been a long time since I made any attempts at maxima in emacs on
> windows, but if we can pull it off we get three major advantages: 1)
> we solve any issues with emacs mode on Windows, something worth doing
> anyway 2) people using Maxima on Windows would be continually helping
> us to debug the emacs mode, which unlike xmaxima is likely to be here
> for the duration, and 3) we don't have Windows GUI oriented folk
> totally at sea in a DOS command prompt. Drawbacks are 1) it could be
> tricky and 2) it is a larger download size. 2) I'm not so worried
> about with modern internet and computers - 1) I can't evaluate yet.
Win9X and WinXP are really two different environments, not just in terms
of the programming details, but also in terms of typical hardware and
constraints on user installed software.
> Anyway, a complete self contained installer is about the only way I can
> think of right now for us to ditch xmaxima (yay!) and still provide a
> reasonably smooth user experience that we can expect people to upgrade
> to. We can have other packages for special cases (like if someone
> already has emacs installed, for example) but for most people I think
> this is the way to go.
Making maxima into an add-on for the R stats package could be a way to
get a GUI front end, graphics, and installer as well as introducing
maxima to a larger community.
> I guess that doesn't help you much though Jim :-/. One point we should
> definitely think about, regardless of the above, is gnuplot - if that
> is going to become our default plotter we need to think about
> including it by default in the Windows package.
>
> Thanks for all your hard work!
Unfortunately, porting from *x to Win32 is a lot more hard work to get to
a point acceptable to any but the most dedicated maxima users. It can
easily end up being a huge resource sink with little or no actual
benefit. The R project shows that it can be done.
--
George N. White III