[slime-devel] swank-arglists fragility

Tobias C. Rittweiler tcr at freebits.de
Tue Nov 24 13:17:42 UTC 2009


Ariel Badichi <abadichi at bezeqint.net> writes:

> 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

Thanks for the report. This should be taken care of in HEAD.

  -T.





More information about the slime-devel mailing list