summaryrefslogtreecommitdiff
path: root/modules/language/python/module
diff options
context:
space:
mode:
Diffstat (limited to 'modules/language/python/module')
-rw-r--r--modules/language/python/module/collections.scm8
-rw-r--r--modules/language/python/module/collections/abc.scm2
-rw-r--r--modules/language/python/module/enum.py2
-rw-r--r--modules/language/python/module/python.scm4
-rw-r--r--modules/language/python/module/types.scm2
5 files changed, 10 insertions, 8 deletions
diff --git a/modules/language/python/module/collections.scm b/modules/language/python/module/collections.scm
index 04f7ab6..7c2b89f 100644
--- a/modules/language/python/module/collections.scm
+++ b/modules/language/python/module/collections.scm
@@ -116,7 +116,7 @@
(= dict_setitem dict-set!)
(= proxy #f)
(= link link))
- (if (in key self)
+ (if (not (in key self))
(let* ((link (link))
(root (ref self '__root))
(last (get-last root)))
@@ -125,8 +125,8 @@
(set-next! link root)
(set-key! link key)
(set-next! last link)
- (set-prev! root link)
- (dict-set! self key value)))))
+ (set-prev! root link)))
+ (dict-set! self key value)))
(define __delitem__
(lam (self key (= dict_delitem dict-del!))
@@ -145,7 +145,7 @@
(let ((root (ref self '__root)))
(let lp ((curr (get-next root)))
(if (not (eq? curr root))
- (let ((key (get-key curr)))
+ (let ((key (get-key curr)))
(yield key (pylist-ref self key))
(lp (get-next curr)))))))))))
diff --git a/modules/language/python/module/collections/abc.scm b/modules/language/python/module/collections/abc.scm
index 4d442d3..37815d8 100644
--- a/modules/language/python/module/collections/abc.scm
+++ b/modules/language/python/module/collections/abc.scm
@@ -504,7 +504,7 @@
(define __len__
(lambda (self) (len (ref self '_mapping)))))
-(define-python-class ItemsView (MappingView Set)
+(define-python-class ItemsView (MappingView Set)
;; Mixins
(define __contains__
(lambda (self x)
diff --git a/modules/language/python/module/enum.py b/modules/language/python/module/enum.py
index 723fab7..e657af3 100644
--- a/modules/language/python/module/enum.py
+++ b/modules/language/python/module/enum.py
@@ -129,7 +129,7 @@ class EnumMeta(type):
# cannot be mixed with other types (int, float, etc.) if it has an
# inherited __new__ unless a new __new__ is defined (or the resulting
# class will fail).
-
+ pk('new',metacls,cls)
member_type, first_enum = metacls._get_mixins_(bases)
new, save_new, use_args = metacls._find_new_(classdict, member_type,
diff --git a/modules/language/python/module/python.scm b/modules/language/python/module/python.scm
index 7b01c93..3601c2f 100644
--- a/modules/language/python/module/python.scm
+++ b/modules/language/python/module/python.scm
@@ -126,7 +126,9 @@
(it cls sub)
(if (eq? sub cls)
#t
- (is-a? (ref sub '__goops__) (ref cls '__goops__)))))
+ (if (memq cls (ref sub '__mro__))
+ #t
+ #f))))
(define-method (isinstance x y)
(if (null? y)
diff --git a/modules/language/python/module/types.scm b/modules/language/python/module/types.scm
index 840b901..a148426 100644
--- a/modules/language/python/module/types.scm
+++ b/modules/language/python/module/types.scm
@@ -42,7 +42,7 @@ Define names for built-in types that aren't directly accessible as a builtin.
(bool (getattr fget '__isabstractmethod__' #f)))))
(define __get__
- (lam (self instance (= ownerclass None))
+ (lam (self instance (= ownerclass None))
(cond
((eq? instance None)
(if (bool (ref self '__isabstractmethod__))