Hi,
Zach wrote:
[...] decidedly benign warnings?
If you care for context, Iterate warns if you include some code that it cannot walk. [...] Without-interrupts, in SBCL, uses a macrolet environment which is one of the things that the Iterate code walker doesn't know how to walk.
What you could try is to teach Iterate about SBCL's without-interrupts special form syntax. Look up iterate::*special-form-alist*
This means that so long as there Slime aborts compilation upon any warning, any code with a macrolet inside an Iterate is more difficult than than it needs to be when compiling from a buffer in Slime.
Iterate being a code-rewriter, I see no way around a warning about code that Iterate does not know how to walk. Either a warning, or teach Iterate how to handle that form.
If you go that route, I recommend you teach Iterate about the user-visible form, e.g. without-interrupts, rather than the several internal forms or macrolets etc. that such a form expands into. Perhaps it has the same syntax as (locally . walk-cdr-with-declarations)
Regards, Jörg Höhle