Some aspects of Clon
’s behavior can be configured before the
library is actually loaded. Clon
stores its user-level configuration
(along with some other setup parameters) in another ASDF system called
‘net.didierverna.clon.setup’ (and the eponym package). In order to
configure the library (I repeat, prior to loading it), you will
typically do something like this:
(require "asdf") (asdf:load-system :net.didierverna.clon.setup) (net.didierverna.clon.setup:configure <option> <value>)
Set KEY to VALUE in the current Clon
configuration.
Out of curiosity, you can also inquire the current configuration for specific options with the following function.
Return KEY’s value in the current Clon
configuration.
Currently, the following options are provided.
:swank-eval-in-emacs
¶This option is only useful if you use Slime, and mostly if you plan on
hacking Clon
itself. The library provides indentation information for
some of its functions directly embedded in the code. This information
can be automatically transmitted to Emacs when the ASDF system is loaded
if you set this option to t
. However, note that for this to work,
the Slime variable slime-enable-evaluate-in-emacs
must also be
set to t
in your Emacs session. If you’re interested to know how
this process works, I have described it in this
blog
entry.
:restricted
¶Some non-ANSI features of Clon
require external functionality that
may not be available in all contexts. Normally, Clon
should
autodetect this and switch to so-called restricted mode at
build-time (see Non-ANSI Features). If Clon
has failed to
autodetect the problem (in which case I would like to know), or if for
some reason, you explicitly want to disable those features, you may set
the :restricted
configuration option to t
. Another way to
do it, without even bothering with configuration is to just use the
‘net.didierverna.clon.core’ system instead of the regular one.
:dump
¶This option is only used by the ABCL port. Dumping Executables, provides more information on its use.