chiark / gitweb /
src/builtin.lisp (method-keyword-argument-lists): Don't `delete-duplicates'.
authorMark Wooding <mdw@distorted.org.uk>
Sun, 26 Mar 2017 14:16:18 +0000 (15:16 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Fri, 8 Jun 2018 18:58:28 +0000 (19:58 +0100)
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.

src/builtin.lisp

index c7cb1488fd01bd62f12aeed20bcc4abde4c03c22..c49f263e89ecd37d17950eae3fdbdb660619ea08 100644 (file)
@@ -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)