Need help fixing subtle bug



There is a very subtle bug in Maxima as compiled under the new build
system. The symptom is:

------------------------------------------------------
(C1) abs(z);

*** - EVAL: variable |$z| has no value
1. Break [1]> 
------------------------------------------------------

I have seen this problem disappear then reappear several times. I
finally discovered the cause of the problem, but I'm not sure what to do
about fixing it.

The problem arises in the following excerpt from hyp.lisp:
------------------------------------------------------
(eval-when (eval compile)

<blah blah>

(DEFMACRO MABS (X) `(SIMP `((MABS) ,,X)))
------------------------------------------------------

The macro MABS interferes with the standard Maxima definition of MABS
that occurs elsewhere. The subtlety arises from the "eval-when (eval
compile)". Whether or not MABS is defined depends on whether hyp has
been compiled or just loaded, which explains why I saw it some times,
but not others.

Anyway, I'm not really sure what the point of MABS in hyp.lisp is, so
I'm not sure how to fix the problem. Any ideas?

--Jim