[parenscript-devel] PS warning being treated as error by ASDF+SBCL

Daniel Gackle danielgackle at gmail.com
Mon Jan 17 23:07:10 UTC 2011


PS does the following to warn you about redefining built-in operators:

  (warn "Redefining Parenscript operator/macro ~A" name)

As it happens, we redefine DEFMACRO and IN-PACKAGE to expand to nothing
and @ to expand to something a bit different than what PS does. The purpose
of these redefinitions is to support cross-compiling a number of files to
both CL
and JS.

Unfortunately, that warning turns into an error preventing ASDF from loading
the system in SBCL:

; compilation unit aborted
;   caught 1 fatal ERROR condition
;   caught 3 WARNING conditions

I don't see what the ERROR is, since only the above three warnings
are written to the REPL. It goes away, however, when I comment out the WARN
form above.

I have an ugly workaround for this (reach in to PS::*PS-DEFINED-OPERATORS*
and rip out these three symbols before attempting to redefine them), but
that seems like a horrible thing to do. Resorting to SBCL's
condition-muffling
mechanism seems even worse.

Just to be clear, I don't object to PS issuing the warning, just to the fact
that
it turns into a fatal error along the way. So I guess my question is: what's
the
intended way to redefine a PS operator/macro, on the rare occasion when one
really does need to do that?

Daniel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/parenscript-devel/attachments/20110117/76dcc823/attachment.html>


More information about the parenscript-devel mailing list