From: Mark Wooding Date: Sun, 26 Mar 2017 14:16:18 +0000 (+0100) Subject: src/builtin.lisp (method-keyword-argument-lists): Don't `delete-duplicates'. X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/commitdiff_plain/4b64aeef18655c33e033e9e0eadf939f51581d5e src/builtin.lisp (method-keyword-argument-lists): Don't `delete-duplicates'. No idea why this was here. The `merge-keyword-lists' function copes fine with duplicate names. And the `:key' argument was hopelessly wrong, so the code could never have worked. --- diff --git a/src/builtin.lisp b/src/builtin.lisp index c7cb148..c49f263 100644 --- a/src/builtin.lisp +++ b/src/builtin.lisp @@ -297,17 +297,15 @@ (defmethod sod-message-effective-method-class (defmethod method-keyword-argument-lists ((method initialization-effective-method) direct-methods) (append (call-next-method) - (delete-duplicates - (mapcan (lambda (class) - (let ((initargs (sod-class-initargs class))) - (and initargs - (list (cons (mapcar #'sod-initarg-argument - initargs) - (format nil "initargs for ~A" - class)))))) - (sod-class-precedence-list - (effective-method-class method))) - :key #'argument-name))) + (mapcan (lambda (class) + (let ((initargs (sod-class-initargs class))) + (and initargs + (list (cons (mapcar #'sod-initarg-argument + initargs) + (format nil "initargs for ~A" + class)))))) + (sod-class-precedence-list + (effective-method-class method))))) (defmethod lifecycle-method-kernel ((method initialization-effective-method) codegen target)