chiark / gitweb /
lib/keyword.c, src/method-impl.lisp: Use `kw.valist' consistently.
[sod] / src / method-impl.lisp
index 91c22bb2aeebb84b79c2a20460a64a5d07d0d9db..d0c7a5492c322ae9dfa8d40eddff34c882a25de6 100644 (file)
@@ -272,6 +272,9 @@ (defmethod sod-message-keyword-argument-lists
                             (c-function-keywords (sod-method-type method))))
                     direct-methods))))
 
+(defmethod sod-message-check-methods
+    ((message sod-message) (class sod-class) direct-methods)
+  (compute-effective-method-keyword-arguments message class direct-methods))
 
 (defmethod shared-initialize :after
     ((method effective-method) slot-names &key direct-methods)
@@ -552,7 +555,7 @@ (defun make-keyword-parser-function (codegen method tag set keywords)
       (codegen-push codegen)
       (call "aap" "va_arg" "*ap" (c-type (* va-list)))
       (call :void name "kw" "aap" *null-pointer* 0)
-      (setf va-act (namecheck "k" "kw.va_list"
+      (setf va-act (namecheck "k" "kw.valist"
                              (codegen-pop-block codegen) va-act))
 
       ;; Finish up the varargs loop.
@@ -578,7 +581,7 @@ (defun make-keyword-parser-function (codegen method tag set keywords)
       (codegen-push codegen)
       (convert "aap" (c-type (* va-list)))
       (call :void name "kw" "aap" *null-pointer* 0)
-      (setf tab-act (namecheck "v->kw" "kw.va_list"
+      (setf tab-act (namecheck "v->kw" "kw.valist"
                               (codegen-pop-block codegen) tab-act))
 
       ;; Finish off the table loop.