A new bug with assume and reset() in Maxima 5.18.1?
Subject: A new bug with assume and reset() in Maxima 5.18.1?
From: Robert Dodier
Date: Sun, 3 May 2009 17:56:50 -0600
On 5/3/09, Stefano Ferri <ferriste at gmail.com> wrote:
> I had to came back to 5.17.1 to keep my code working... With 5.18.1 I
> need to continuously type quit().
> What is the best way to start a new session of Maxima? So far I used
> both kill(all) and reset(), that are at the beginning of the .mac I
> load to execute the code. Maybe it is not the best way to do it,
> moreover the facts database isn't cleaned.
Hmm. What is the effect of kill(all) on the assume database?
When I try it, kill(all) clears the database.
The effect of reset is to assign variables which were declared with
DEFMVAR their original values. :lisp *variable-initial-values*
shows the list of affected variables. The list comprises many
user-visible global variables (although not all).
Maxima has a rather complex and disorganized global state, and
there is really no easy way to return to the initial state of Maxima.
The one thing that can really do it, at present, is to fork a new
Maxima process when it is launched, and fork it again when you
want a clean slate. That only works if the Lisp implementation
supports POSIXish process control.
> What has been changed in reset() behaviour between 5.17 and 5.18?
Looking at the CVS logs, possibly it was r1.43 src/compar.lisp and
r1.74 src/suprv1.lisp, or maybe r1.13 src/inmis.lisp.
Not sure but anyway those could be things to look at.
> Anyway, should I fill a bug report on sourceforge tracker?
Yes, please.
Robert Dodier