[slime-devel] swank-arglists fragility
Ariel Badichi
abadichi at bezeqint.net
Sun Nov 22 20:49:24 UTC 2009
Hello,
The arglist mechanism is too vocal when presumptions about its input
are not met. A case in point, SWANK::EXTRACT-LOCAL-OP-ARGLISTS
expects the second element of the supplied "form", given that there is
such an element, to be a cons. If it is not a cons, it will signal an
error. A simple example of how this results in unsatisfactory
behavior:
(defmacro foo (bar zot)
`(labels ,bar
(|
Where | is the place following point. Another example:
(defmacro foo (bar zot)
`(labels (quux (boo))
(|
This time an error may or may not be signaled, depending on whether
symbols corresponding to the strings in the source text exist.
I know that these particular cases can (and should) be fixed, but I
think in general the arglist mechanism shouldn't be allowed to scream
so loud, demanding the immediate attention of anyone within debugger
range when they're not even interested.
Ariel
More information about the slime-devel
mailing list