![](https://secure.gravatar.com/avatar/5cd0acc03793e7944454dbb533bbfe43.jpg?s=120&d=mm&r=g)
On 25 April 2012 16:47, Tobias C Rittweiler <tcr@freebits.de> wrote:
I was pleased to discover that DESTRUCTURING-CASE made it into Alexandria meanwhile. Very nice! This allows me to share the little gem that I'm attaching with this posting. It's a handy macro to make writing macros like DEFPACKAGE, DEFGENERIC of DEFREADTABLE easy like a breeze.
Nice! Unless I misread this, duplicate clauses cause the earlier one to be discarded? Signaling an error instead might be better, though a fairly common pattern might also be served by special casing clauses of the form (:keyword &append stuff) or something like that, which would cause duplicate clauses to have their contents merged. Or maybe that should be factored into a separate function MERGE-ALIST, for preprocessing the clauses? function MERGE-ALIST keys alist &optional (merge #'append) ...or something along those lines? Cheers, -- Nikodemus