fix `keyword-apply' when the argument list is missing
Closes PR 11249
This commit is contained in:
parent
e6fd878e14
commit
bbc0c687ee
|
@ -193,7 +193,7 @@
|
||||||
#f
|
#f
|
||||||
plain-proc)]))
|
plain-proc)]))
|
||||||
|
|
||||||
(define (keyword-apply proc kws kw-vals . normal-argss)
|
(define (keyword-apply proc kws kw-vals normal-args . normal-argss)
|
||||||
(let ([type-error
|
(let ([type-error
|
||||||
(lambda (what which)
|
(lambda (what which)
|
||||||
(apply raise-type-error
|
(apply raise-type-error
|
||||||
|
@ -203,6 +203,7 @@
|
||||||
proc
|
proc
|
||||||
kws
|
kws
|
||||||
kw-vals
|
kw-vals
|
||||||
|
normal-args
|
||||||
normal-argss))])
|
normal-argss))])
|
||||||
(unless (procedure? proc)
|
(unless (procedure? proc)
|
||||||
(type-error "procedure" 0))
|
(type-error "procedure" 0))
|
||||||
|
@ -229,7 +230,7 @@
|
||||||
kws)
|
kws)
|
||||||
kw-vals))
|
kw-vals))
|
||||||
(let ([normal-args
|
(let ([normal-args
|
||||||
(let loop ([normal-argss normal-argss][pos 3])
|
(let loop ([normal-argss (cons normal-args normal-argss)][pos 3])
|
||||||
(if (null? (cdr normal-argss))
|
(if (null? (cdr normal-argss))
|
||||||
(let ([l (car normal-argss)])
|
(let ([l (car normal-argss)])
|
||||||
(if (list? l)
|
(if (list? l)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user