diff options
Diffstat (limited to 'modules/language/python/def.scm')
-rw-r--r-- | modules/language/python/def.scm | 7 |
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))) |