complement is a macro...



> I think this (in maxmac.lisp) is a bad idea:
> (DEFMACRO COMPLEMENT (SWITCH) `(SETF ,SWITCH (NOT ,SWITCH)))
> (does it really mean that i have to do
> (lisp::complement #'fun) in my package?

"When in doubt, dike it out." (cf. Jargon file)

This complement macro is not used *anywhere* in Maxima (verified with
grep).  There is, on the other hand, a complement *function* defined in
the old set package (share/misc/set.lisp).

I say, off with their heads!

      -s

PS This sort of thing is unavoidable in a system like Maxima, the vast
bulk of which was written before Common Lisp and before there was a
module system.  Just feel lucky that you have the option of using
lisp::xxx -- in the old Lisps, the system definition would simply have
vanished....