diff options
Diffstat (limited to 'modules/oop')
-rw-r--r-- | modules/oop/pf-objects.scm | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/modules/oop/pf-objects.scm b/modules/oop/pf-objects.scm index e2f0d8b..86a22ef 100644 --- a/modules/oop/pf-objects.scm +++ b/modules/oop/pf-objects.scm @@ -17,7 +17,7 @@ py-super-mac py-super py-equal? *class* *self* pyobject? pytype? type object pylist-set! pylist-ref tr - resolve-method-g rawref rawset py-dict + resolve-method-g rawref rawset rawdel py-dict ref-class fastref fastset )) @@ -186,6 +186,9 @@ explicitly tell it to not update etc. (car l) #f))) +(define-method (rawdel (o <procedure>) key) + (error "not implemented yet")) + (define-method (set (o <procedure>) key val) (set-procedure-property!- o key val)) @@ -762,6 +765,11 @@ explicitly tell it to not update etc. (define-method (rawref (x <pf> ) key . l) (mref x key l)) (define-method (rawref (x <p> ) key . l) (mref x key l)) +(define-method (rawdel (x <p> ) key) + (hash-remove! (slot-ref x 'h) + (if (symbol? key) + key + (string->symbol key)))) (define-method (set (f <procedure>) key val) (set-procedure-property!- f key val)) |