diff options
Diffstat (limited to 'modules/oop/pf-objects.scm')
-rw-r--r-- | modules/oop/pf-objects.scm | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/modules/oop/pf-objects.scm b/modules/oop/pf-objects.scm index 988e282..2bf904f 100644 --- a/modules/oop/pf-objects.scm +++ b/modules/oop/pf-objects.scm @@ -1196,25 +1196,26 @@ explicitly tell it to not update etc. #'(ddname ...)) #'(let () - (define name - (letruc2 ((dname (make-up dval)) ...) - body - (let ((ret - (make-p-class 'name doc - parents - (lambda (dict) - (pylist-set! dict 'dname dname) - ... - dict)))) - (begin - (module-define! (current-module) 'ddname dname) - (name-object ddname)) - ... - ret))) - (module-define! (current-module) 'nname (rawref name '__goops__)) - (name-object nname) - (name-object name) - name)))))) + (define name + (let ((pa parents)) + (letruc2 ((dname (make-up dval)) ...) + body + (let ((ret + (make-p-class 'name doc + pa + (lambda (dict) + (pylist-set! dict 'dname dname) + ... + dict)))) + (begin + (module-define! (current-module) 'ddname dname) + (name-object ddname)) + ... + ret)))) + (module-define! (current-module) 'nname (rawref name '__goops__)) + (name-object nname) + (name-object name) + name)))))) (define-syntax mk-p-class-noname (lambda (x) |