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