X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/73c17a8112be89922604824f47e5c4f6debda1e7..54c017728489af16b13e13541e7cc53c985ca436:/src/builtin.lisp diff --git a/src/builtin.lisp b/src/builtin.lisp index c38d92c..5aad5f5 100644 --- a/src/builtin.lisp +++ b/src/builtin.lisp @@ -61,7 +61,7 @@ ',name (lambda (,classvar) (make-sod-slot ,classvar ,name (c-type ,type) - (make-property-set :lisp-class 'sod-class-slot + (make-property-set :slot-class 'sod-class-slot :initializer-function (lambda (,class) ,init) @@ -95,7 +95,7 @@ static void *~A__imprint(void *p) { struct ~A *sod__obj = p; - ~:{sod__obj->~A.~A._vt = &~A;~:^~% ~} + ~:{sod__obj->~A.~A._vt = &~A.~A;~:^~% ~} return (p); }~2%" class @@ -105,7 +105,8 @@ static void *~A__imprint(void *p) (tail (ichain-tail ichain))) (list (sod-class-nickname head) (sod-class-nickname tail) - (vtable-name class head)))) + (vtable-name class head) + (sod-class-nickname tail)))) (ilayout-ichains ilayout))))) (define-class-slot "init" (class stream) @@ -331,4 +332,7 @@ static const SodClass *const ~A__cpl[] = { (bootstrap-classes module)) (setf *builtin-module* module))) +(define-clear-the-decks builtin-module + (unless *builtin-module* (make-builtin-module))) + ;;;----- That's all, folks --------------------------------------------------