summaryrefslogtreecommitdiff
path: root/modules/language/python/def.scm
diff options
context:
space:
mode:
Diffstat (limited to 'modules/language/python/def.scm')
-rw-r--r--modules/language/python/def.scm7
1 files changed, 6 insertions, 1 deletions
diff --git a/modules/language/python/def.scm b/modules/language/python/def.scm
index 5c83b6f..fa4cbc5 100644
--- a/modules/language/python/def.scm
+++ b/modules/language/python/def.scm
@@ -82,7 +82,12 @@
(ww- (fold get-ww '() #'(arg ...)))
(kv (fold get-kv '() #'(arg ...))))
(if (and-map null? (list kw ww- kv))
- #`(object-method (lambda #,as code ...))
+ #`(object-method
+ (lambda (#,@as . u12345678)
+ (if (and (pair? u12345678)
+ (not (keyword? (car u12345678))))
+ (raise (ArgumentError "too many arguments to function")))
+ code ...))
(with-syntax ((kw (if (null? kw)
(datum->syntax x (gensym "kw"))
(car kw)))