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