From: Mark Wooding Date: Sun, 26 Mar 2017 14:16:18 +0000 (+0100) Subject: src/method-impl.lisp (method-keyword-argument-lists): Check message type. X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/commitdiff_plain/fbcba4c0ea87499493235cb32bd3ebc1e2058b10 src/method-impl.lisp (method-keyword-argument-lists): Check message type. Check keyword arguments defined in the message as well as all of the applicable methods. --- diff --git a/src/method-impl.lisp b/src/method-impl.lisp index f24b8c0..e3fb6ae 100644 --- a/src/method-impl.lisp +++ b/src/method-impl.lisp @@ -253,13 +253,16 @@ (defmethod method-keyword-argument-lists ((method effective-method) direct-methods) (with-slots (message) method (and (keyword-message-p message) - (mapcar (lambda (m) - (cons (c-function-keywords (sod-method-type m)) - (format nil "method for ~A on ~A (at ~A)" - message - (sod-method-class m) - (file-location m)))) - direct-methods)))) + (cons (cons (c-function-keywords (sod-message-type message)) + (format nil "message ~A (at ~A)" + message (file-location message))) + (mapcar (lambda (m) + (cons (c-function-keywords (sod-method-type m)) + (format nil "method for ~A on ~A (at ~A)" + message + (sod-method-class m) + (file-location m)))) + direct-methods))))) (defmethod shared-initialize :after ((method effective-method) slot-names &key direct-methods)