X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/64cbfb65118395be4d6628a2ba9d5b2bd95663e0..fddbedf7b1b4b19add30eeb62281748cc77e6955:/src/class-finalize-impl.lisp diff --git a/src/class-finalize-impl.lisp b/src/class-finalize-impl.lisp index 320dabe..895b3c9 100644 --- a/src/class-finalize-impl.lisp +++ b/src/class-finalize-impl.lisp @@ -391,7 +391,9 @@ ;; Make sure direct slots have distinct names. (find-duplicates (simple-complain "slot name" #'sod-slot-name) - (sod-class-slots class) :key #'sod-slot-name) + (sod-class-slots class) + :key #'sod-slot-name + :test #'equal) ;; Make sure there's at most one initializer for each slot. (flet ((check-initializer-list (list kind) @@ -405,7 +407,8 @@ in class `~A'" kind slot class) (simple-previous previous))) - list :key #'sod-initializer-slot))) + list + :key #'sod-initializer-slot))) (check-initializer-list (sod-class-instance-initializers class) "instance") (check-initializer-list (sod-class-class-initializers class) @@ -413,7 +416,9 @@ ;; Make sure messages have distinct names. (find-duplicates (simple-complain "message name" #'sod-message-name) - (sod-class-messages class) :key #'sod-message-name) + (sod-class-messages class) + :key #'sod-message-name + :test #'equal) ;; Make sure methods are sufficiently distinct. (find-duplicates (lambda (method previous) @@ -426,7 +431,8 @@ class) (simple-previous previous)) (sod-class-methods class) - :key #'sod-method-function-name :test #'equal) + :key #'sod-method-function-name + :test #'equal) ;; Make sure superclasses have distinct nicknames. (let ((state (make-inheritance-path-reporter-state class))) @@ -447,7 +453,7 @@ (let ((link (sod-class-chain-link class))) (unless (or (not link) (member link (cdr (sod-class-precedence-list class)))) - (cerror* "In `~A~, chain-to class `~A' is not a proper superclass" + (cerror* "In `~A', chain-to class `~A' is not a proper superclass" class link))) ;; Check that the initargs declare compatible types. Duplicate entries,