#101: lambda list checking optimizes away dispatch macros which return nil -----------------------------------------+---------------------------------- Reporter: mevenson | Owner: somebody Type: defect | Status: new Priority: major | Milestone: Component: other | Version: Keywords: lambda list, dispatch macro | -----------------------------------------+---------------------------------- After [r12693][1], dispatch macros which return nil are stripped from processing in lambda lists.
For example
{{{ CL-USER> (defun foo (&key (this :that)) this)
CL-USER> (foo :this (#+:nil :other)) Odd number of keyword arguments. [Condition of type PROGRAM-ERROR] }}}
Among other things, this causes [usocket][2] to fail to load, erroring with the slightly mysterious "Unrecognized keyword argument :NAME" as reported by Kevin Raison.
[1]: http://trac.common-lisp.net/armedbear/changeset/12693
[2]: http://common-lisp.net/project/usocket/
#101: lambda list checking optimizes away dispatch macros which return nil -----------------------+---------------------------------------------------- Reporter: mevenson | Owner: somebody Type: defect | Status: closed Priority: major | Milestone: Component: other | Version: Resolution: fixed | Keywords: lambda list, dispatch macro -----------------------+---------------------------------------------------- Changes (by ehuelsmann):
* status: new => closed * resolution: => fixed
Comment:
(In [12766]) Fix #101: Regression in 0.20 where dispatch macros return NIL.
armedbear-ticket@common-lisp.net