summaryrefslogtreecommitdiff
path: root/modules/language/python
diff options
context:
space:
mode:
Diffstat (limited to 'modules/language/python')
-rw-r--r--modules/language/python/def.scm14
-rw-r--r--modules/language/python/module/python.scm12
2 files changed, 14 insertions, 12 deletions
diff --git a/modules/language/python/def.scm b/modules/language/python/def.scm
index c65cd07..1b91f85 100644
--- a/modules/language/python/def.scm
+++ b/modules/language/python/def.scm
@@ -17,9 +17,17 @@
(hash-remove! kw s)
it)
v))
- (begin
- (hash-remove! kw s)
- (values (cdr ww*) (car ww*)))))
+ (if (pair? ww*)
+ (begin
+ (hash-remove! kw s)
+ (values (cdr ww*) (car ww*)))
+ (values ww*
+ (aif it (hash-ref kw s #f)
+ (begin
+ (hash-remove! kw s)
+ it)
+ v)))))
+
(define (get-akw l)
(let lp ((l l) (args '()) (kw (make-hash-table)))
diff --git a/modules/language/python/module/python.scm b/modules/language/python/module/python.scm
index 110ae6b..1b8973f 100644
--- a/modules/language/python/module/python.scm
+++ b/modules/language/python/module/python.scm
@@ -18,18 +18,18 @@
#:use-module (language python number )
#:use-module (language python dir )
#:use-module (language python hash )
+ #:use-module (language python property )
#:replace (list abs min max)
#:re-export (Exception StopIteration send sendException next
GeneratorExit sendClose RuntimeError
- len dir next dict None)
+ len dir next dict None property)
#:export (print repr complex float int round
set all any bin callable
chr classmethod staticmethod
divmod enumerate filter format
getattr hasattr hash hex isinstance
- iter map sum id input oct ord pow
- property))
+ iter map sum id input oct ord pow))
(define-syntax-rule (aif it p x y) (let ((it p)) (if it x y)))
@@ -191,12 +191,6 @@
((x y z)
(py-mod (expt x y) z))))
-(def (property (= getx None) (= setx None) (= delx None))
- (let ((o (make <property>)))
- (slot-set! o 'get getx)
- (slot-set! o 'set setx)
- (slot-set! o 'del delx)
- o))
(define min py-min)