From e46dbe3db5eeac0572154ea0d51b6aa56126f330 Mon Sep 17 00:00:00 2001 From: Jay McCarthy Date: Tue, 29 Jun 2010 15:17:13 -0600 Subject: [PATCH] Fixing bug in formlet macro --- collects/tests/web-server/formlets-test.rkt | 3 ++- collects/web-server/formlets/syntax.rkt | 12 ++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/collects/tests/web-server/formlets-test.rkt b/collects/tests/web-server/formlets-test.rkt index 06ad124622..846bb4a518 100644 --- a/collects/tests/web-server/formlets-test.rkt +++ b/collects/tests/web-server/formlets-test.rkt @@ -246,7 +246,7 @@ (define travel-formlet (formlet (div - "Name:" ,{input-string . => . name} + "Name:" ,{input-string . => . name} nbsp (div "Arrive:" ,{date-formlet . => . arrive} "Depart:" ,{date-formlet . => . depart}) @@ -278,6 +278,7 @@ () "Name:" (input ((name "input_0") (type "text"))) + nbsp (div () "Arrive:" diff --git a/collects/web-server/formlets/syntax.rkt b/collects/web-server/formlets/syntax.rkt index bbe97c92fe..df050076df 100644 --- a/collects/web-server/formlets/syntax.rkt +++ b/collects/web-server/formlets/syntax.rkt @@ -12,8 +12,6 @@ (syntax-parse stx #:literals (unquote unquote-splicing => #%# values) - [s:str - (syntax/loc stx empty)] [,(formlet . => . (values name:id ...)) (syntax/loc stx (vector name ...))] [,(formlet . => . name:id) (syntax/loc stx name)] [,e (syntax/loc stx empty)] @@ -23,14 +21,14 @@ [(t ([k v] ...) n ...) (quasisyntax/loc stx (list #,@(map cross-of (syntax->list #'(n ...)))))] [(t n ...) - (quasisyntax/loc stx (list #,@(map cross-of (syntax->list #'(n ...)))))])) + (quasisyntax/loc stx (list #,@(map cross-of (syntax->list #'(n ...)))))] + [s:expr + (syntax/loc stx empty)])) (define-for-syntax (circ-of stx) (syntax-parse stx #:literals (unquote unquote-splicing => #%# values) - [s:str - (syntax/loc stx (text s))] [,(formlet . => . (values name:id ...)) (syntax/loc stx (cross (pure (lambda (name ...) (vector name ...))) formlet))] [,(formlet . => . name:id) (syntax/loc stx formlet)] [,e (syntax/loc stx (xml e))] @@ -50,7 +48,9 @@ [(t n ...) (quasisyntax/loc stx (tag-xexpr `t empty - #,(circ-of (syntax/loc stx (#%# n ...)))))])) + #,(circ-of (syntax/loc stx (#%# n ...)))))] + [s:expr + (syntax/loc stx (xml 's))])) (define-syntax (formlet stx) (syntax-case stx ()