From 364e4ff3d5b09bbcd848ea41e21bb01ef5838982 Mon Sep 17 00:00:00 2001 From: Jay McCarthy Date: Tue, 26 Jan 2010 21:59:22 +0000 Subject: [PATCH] The closure library was designed just for the Web language, which operates after expansion, so it never saw normal lambdas. The documentation, however, advertises it for general use and it disallowed keyword arguments. This fixes that problem. svn: r17844 --- collects/web-server/lang/closure.ss | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/collects/web-server/lang/closure.ss b/collects/web-server/lang/closure.ss index a2346d6550..2a030cb874 100644 --- a/collects/web-server/lang/closure.ss +++ b/collects/web-server/lang/closure.ss @@ -78,9 +78,12 @@ ; prop-vals: (list (cons prop:serializable #,CLOSURE:serialize-info-id) (cons prop:procedure - (#%plain-lambda (clsr . args) - (let-values ([#,fvars ((CLOSURE-ref clsr 0))]) - (apply #,stx args))))) + (make-keyword-procedure + (lambda (kws kw-vals clsr . rst) + (let-values ([#,fvars ((CLOSURE-ref clsr 0))]) + (keyword-apply #,stx + kws kw-vals + rst)))))) #f ; inspector