Major effort to plug slot-name leaks.
Arrange that all slot names, for structures and CLOS objects, are
internal symbols of the relevant package.
There used to be a number of bad words in slot names, including `class',
`method', `expr', `type', and `condition'. All of these have gone.
I've used two main approaches.
* Renaming the slots with a leading `%'. For structures, this
involves hacking the constructor function to initialize the slot
from a dummy argument with a less unpleasant name, and setting up
trivial reader and writer function wrappers, so there's a new macro
`define-access-wrapper' in utilities.lisp to do this. For CLOS
objects, the accessor functions are named explicitly so that's not
a problem, but there's a lot of work needed to track down direct
slot accesses through `slot-value' and `with-slots'.
* For classes defined through `definst', I've instead named the slots
with gensyms (at read time), because their names are used as part of
automagically defined methods.
I may not have fixed everything: this is a rather invasive change.
24 files changed: