In 5.14.0 (CLISP 2.41) calling desolve inside a "for...do" block makes it loop
endlessly.
(%i1) for i : 1 thru 3 do (print(i));
1
2
3
(%o1) done
(%i2) for i : 1 thru 3 do (desolve('diff(foo(x),x)=1,foo(x)), print(i));
1
1
1
...
Seems to happen with CLISP and SBCL, but not with GCL and CMUCL. Actually, the problem is related to ilt which is called by desolve.
http://www.math.utexas.edu/pipermail/maxima/2008/011592.html
Logged In: YES
user_id=501686
Originator: NO
Looks like MDO in src/mlisp.lisp uses a variable (VAR) which is declared special and clobbered by some function called from ilt. Changing the name from VAR to MY-VAR avoids the name collision. I'll commit a patch in a day or two.
Logged In: YES
user_id=501686
Originator: NO
Resolved by r1.65 src/mlisp.lisp which renames VAR in MDO and MDOIN to avoid name collision with special variable of same name. Closing this report as fixed.