X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/81054f0131824964d2cebfd7dec6f18be113020b..3ee33e04477ace9d13587f28253fb8c6d1c7ed6c:/src/class-make-proto.lisp?ds=inline diff --git a/src/class-make-proto.lisp b/src/class-make-proto.lisp index a2783ee..5622dc6 100644 --- a/src/class-make-proto.lisp +++ b/src/class-make-proto.lisp @@ -86,7 +86,7 @@ (defgeneric make-sod-slot (class name type pset &key location) (export 'make-sod-instance-initializer) (defgeneric make-sod-instance-initializer - (class nick name value pset &key location) + (class nick name value pset &key location inhibit-initargs) (:documentation "Construct and attach an instance slot initializer, to CLASS. @@ -95,7 +95,13 @@ (defgeneric make-sod-instance-initializer construction process. The default method looks up the slot using `find-instance-slot-by-name', calls `make-sod-initializer-using-slot' to actually make the initializer object, and adds it to the appropriate list - in CLASS.")) + in CLASS. + + Usually, if an `initarg' property is set on PSET, then a slot initarg is + created and attached to the slot; this can be prevented by setting + INHIBIT-INITARGS non-nil. This is needed when creating a slot and + initializer from the same property set, in order to prevent creation of a + duplicate initarg.")) (export 'make-sod-class-initializer) (defgeneric make-sod-class-initializer