[consfigurator] which package is *CONSFIG*
Sean Whitton
spwhitton at spwhitton.name
Fri Dec 10 21:43:54 GMT 2021
Hello,
On Wed 08 Dec 2021 at 06:35PM GMT, Yehouda Harpaz wrote:
> Looking at the fix in the sources:
>
> 1) I would make the init-form just a function call
> (get-default-systems)
> and then define GET-DEFAULT-SYSTEMS to what is the current the
> initform. Having such a large piece of code inside the defclass make
> it difficult to debug.
>
> 2) Instead of the handler-case form, I would use something like:
>
> (let ((sym (find-symbol ...")))
> (when (boundp sym) (symbol-value sym)))
>
> that avoids a call to ERROR if the symbol is not bound. Even though
> the call to ERROR is caught, it is still not useful, because the
> system has to do some work before reaching teh point of deciding to
> throw out. It is also a problem for any kind of code that tries to
> record error calls even if they are caught. In addition, it is much more
> efficient code, because handler-case is quite a heavy machinary
> even when error is not invoked.
Good, thanks, implemented something like this now.
> 3) As far as I can see the test will give the warning, because nothing
> sets *package*, so it will be be CL-USER, or whatever the current
> package is when the test is executed). Also need to document in
> the documentation the requirement for *package* to be the same as
> in the call in-consfig.
It's not a requirement, which is why it's a warning not an error.
Ideally I could arrange for a MUFFLE-WARNING handler to be in effect
while the tests are run, but I'm not sure how to do that with ASDF.
--
Sean Whitton
More information about the sgo-software-discuss
mailing list