chiark / gitweb /
src/method-proto.lisp: Set `*keyword-struct-disposition*' properly.
[sod] / src / method-proto.lisp
index 048c9249d3471f0f67eb402e419fd1a0b30d85fe..d0199975742c01efb6d11b010b3af8db20f7c756 100644 (file)
@@ -428,7 +428,8 @@ (defun make-trampoline (codegen super body)
                           (cons (make-argument *sod-key-pointer*
                                                (c-type (* (void :const))))
                                 raw-args))))
-        (*keyword-struct-disposition* t))
+        (*keyword-struct-disposition* (if (effective-method-keywords method)
+                                          :pointer :null)))
     (codegen-push codegen)
     (ensure-ilayout-var codegen super)
     (when (and (keyword-message-p message)