From bbc0c687eef0b75f8912a0990e8d0f4a6eeca1c8 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 8 Jan 2011 08:12:31 -0700 Subject: [PATCH] fix `keyword-apply' when the argument list is missing Closes PR 11249 --- collects/racket/private/kw.rkt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/collects/racket/private/kw.rkt b/collects/racket/private/kw.rkt index 3a9da1bc16..3c85148ab9 100644 --- a/collects/racket/private/kw.rkt +++ b/collects/racket/private/kw.rkt @@ -193,7 +193,7 @@ #f 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 (lambda (what which) (apply raise-type-error @@ -203,6 +203,7 @@ proc kws kw-vals + normal-args normal-argss))]) (unless (procedure? proc) (type-error "procedure" 0)) @@ -229,7 +230,7 @@ kws) kw-vals)) (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)) (let ([l (car normal-argss)]) (if (list? l)