TIMER(FOO) has no effect if TRACE(FOO) is already in
effect. -- if you call UNTRACE(FOO) and then TIMER(FOO)
it works as expected.
TIMER(FOO) after TRACE(FOO) yields "FOO is already
traced" and timing numbers are not collected for FOO.
Likewise TRACE(FOO) has no effect if TIMER(FOO) is
already in effect -- if you call UNTIMER(FOO) and then
TRACE(FOO) it works as expected.
UNTIMER(FOO) turns off TRACE(FOO) and UNTRACE(FOO)
turns off TIMER(FOO).
In mtrace.lisp, $TIMER calls MACSYMA-TIMER, which calls
MACSYMA-TRACE-SUB. From reading the code, I can see
where the "FOO is already traced" message comes from,
but I don't see why TIMER fails to go into effect in
There's nothing in the available documentation that
suggests TIMER and TRACE are mutually exclusive.
Log in to post a comment.