The variable *handle-warn-on-redefinition*
specifies what action should be taken on defining external symbols in certain packages. It is designed to protect against (re)definition of symbols in implementation packages.
The protected packages are those specified in the variable *packages-for-warn-on-redefinition*.
If *handle-warn-on-redefinition*
is set to :warn
then you are warned. If it is set to :quiet
or nil
, the definition is done quietly. If, however, it is set to :error
, then LispWorks signals an error.
The checking is useful because it is relatively easy to redefine an external symbol by mistake, and it leads to undefined behavior which is difficult to debug. It is therefore a bad idea to change the value of *handle-warn-on-redefinition*
to something else. If required, do this by rebinding *handle-warn-on-redefinition*
rather than setting its global value.
LispWorks User Guide and Reference Manual - 20 Sep 2017