summaryrefslogtreecommitdiff
path: root/modules/oop
diff options
context:
space:
mode:
Diffstat (limited to 'modules/oop')
-rw-r--r--modules/oop/pf-objects.scm10
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))