Fixing bug in formlet macro
This commit is contained in:
parent
fc91321f21
commit
e46dbe3db5
|
@ -246,7 +246,7 @@
|
||||||
(define travel-formlet
|
(define travel-formlet
|
||||||
(formlet
|
(formlet
|
||||||
(div
|
(div
|
||||||
"Name:" ,{input-string . => . name}
|
"Name:" ,{input-string . => . name} nbsp
|
||||||
(div
|
(div
|
||||||
"Arrive:" ,{date-formlet . => . arrive}
|
"Arrive:" ,{date-formlet . => . arrive}
|
||||||
"Depart:" ,{date-formlet . => . depart})
|
"Depart:" ,{date-formlet . => . depart})
|
||||||
|
@ -278,6 +278,7 @@
|
||||||
()
|
()
|
||||||
"Name:"
|
"Name:"
|
||||||
(input ((name "input_0") (type "text")))
|
(input ((name "input_0") (type "text")))
|
||||||
|
nbsp
|
||||||
(div
|
(div
|
||||||
()
|
()
|
||||||
"Arrive:"
|
"Arrive:"
|
||||||
|
|
|
@ -12,8 +12,6 @@
|
||||||
(syntax-parse
|
(syntax-parse
|
||||||
stx
|
stx
|
||||||
#:literals (unquote unquote-splicing => #%# values)
|
#:literals (unquote unquote-splicing => #%# values)
|
||||||
[s:str
|
|
||||||
(syntax/loc stx empty)]
|
|
||||||
[,(formlet . => . (values name:id ...)) (syntax/loc stx (vector name ...))]
|
[,(formlet . => . (values name:id ...)) (syntax/loc stx (vector name ...))]
|
||||||
[,(formlet . => . name:id) (syntax/loc stx name)]
|
[,(formlet . => . name:id) (syntax/loc stx name)]
|
||||||
[,e (syntax/loc stx empty)]
|
[,e (syntax/loc stx empty)]
|
||||||
|
@ -23,14 +21,14 @@
|
||||||
[(t ([k v] ...) n ...)
|
[(t ([k v] ...) n ...)
|
||||||
(quasisyntax/loc stx (list #,@(map cross-of (syntax->list #'(n ...)))))]
|
(quasisyntax/loc stx (list #,@(map cross-of (syntax->list #'(n ...)))))]
|
||||||
[(t 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)
|
(define-for-syntax (circ-of stx)
|
||||||
(syntax-parse
|
(syntax-parse
|
||||||
stx
|
stx
|
||||||
#:literals (unquote unquote-splicing => #%# values)
|
#: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 . => . (values name:id ...)) (syntax/loc stx (cross (pure (lambda (name ...) (vector name ...))) formlet))]
|
||||||
[,(formlet . => . name:id) (syntax/loc stx formlet)]
|
[,(formlet . => . name:id) (syntax/loc stx formlet)]
|
||||||
[,e (syntax/loc stx (xml e))]
|
[,e (syntax/loc stx (xml e))]
|
||||||
|
@ -50,7 +48,9 @@
|
||||||
[(t n ...)
|
[(t n ...)
|
||||||
(quasisyntax/loc stx
|
(quasisyntax/loc stx
|
||||||
(tag-xexpr `t empty
|
(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)
|
(define-syntax (formlet stx)
|
||||||
(syntax-case stx ()
|
(syntax-case stx ()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user