How to decide what to kill



I am making my first foray into bug fixing for the next release. There
are a couple of bugs in the bugs database relating to the kill function.
I think the currently fragility of the test suite is largely due to
kill(all) not being aggressive enough, so fixing kill is a logical
starting point.

The (first?) problem I see with kill is that it avoids killing built-in
functions by not killing any symbol that is compiled. The assumption
	compiled == built-in
is a bad one, especially considering the fact that maxima has a compile
function. My proposed solution is to give all built-in functions, rules,
etc a new property, "built_in". The kill function would then avoid
symbols withe the built_in property. The problem, of course, is that we
would have to add the built_in property to all relevant symbols and
remember to do so for all new built-in symbols in the future.

Opinions?

--Jim