The user can intercept an assignment by means of
SETCHECK, SETCHECKBREAK, and SETVAL. If SETCHECK: ALL,
every assignment is intercepted and a message is
printed. If SETCHECKBREAK: TRUE, a break prompt is
given as well. The user can change the assignment in
midstream by assigning to SETVAL; that new value
replaces the original assignment.
All this works as expected, with one strangeness: the
SETVAL assignment itself is intercepted, with a message
printed and a break prompt. Exiting from this nested
break prompt takes the user back to the original break
I guess the solution is to have the code (mset in
mlisp.lisp) pass over the assignment if the variable in
question is SETVAL.
The observed behavior is confusing, but yields the
correct result (i.e., the original assigned-to variable
is given a different assignment).
Maxima version: 5.9.1
Maxima build date: 21:24 9/23/2004
host type: i686-pc-linux-gnu
lisp-implementation-type: CMU Common Lisp
Log in to post a comment.