Bug in Maxima 5.30.0



It is clearly wrong to have $sign call clearsign -- sign/asksign results
are supposed to be persistent across a single user interaction (%i/%o --
see suprv1/meval*).  This makes sense because the user has no way of
knowing what internal/local scope they might be in.

If a more local scope is wanted for a sign/asksign result, it should be
handled using the context mechanism.  I suppose you could try to do it also
using unwind-protect etc., but that is tricky to get right.  For example, I
see that compar/asksign-p-or-n has a bug where if it is previously assumed
that not equal(x,0), then (asksign-p-or-n x) will *remove* that preexisting
assumption.

I suppose there may be cases where the caller really knows that the result
should not be persistent, and could call sign-plus-cleanup, but that seems
like a really bad idea in general.

           -s



On Fri, Aug 30, 2013 at 12:52 PM, Robert Dodier <robert.dodier at gmail.com>wrote:

> On 2013-08-30, Raymond Toy <toy.raymond at gmail.com> wrote:
>
> >     3137b946bed77dc4311e4266ed338cd2d46d299f is the first bad commit
> >     commit 3137b946bed77dc4311e4266ed338cd2d46d299f
> >     Author: robert_dodier <robert_dodier at users.sourceforge.net>
> >     Date:   Thu Mar 21 16:03:43 2013 -0700
> >
> >         Call CLEARSIGN from $SIGN to clean up facts introduced by sign
> functions.
> >
> > All versions before this commit are fine; you only have to answer one
> > question and the integral is evaluated correctly.  All versions after
> this
> > version are bad; you have to answer several questions and the integral
> > is not evaluated.
>
> Hrm. That change was made to counteract some other strange behavior --
> 'sign' left some facts floating around after it was called. Without
> looking at the integration code, my guess is that it is assuming the
> sign fact persists for the duration of the integration. Should there be
> separate sign-plus-cleanup and sign-with-no-cleanup functions? It hurts
> my head a little bit but maybe so ....
>
> Thanks for looking into it --
>
> Robert Dodier
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>