some more overlap fixes

svn: r13452
This commit is contained in:
Robby Findler 2009-02-05 14:08:45 +00:00
parent c859eba9ac
commit e35e25408f
3 changed files with 15 additions and 6 deletions

View File

@ -92,13 +92,22 @@
(render-metafunction Name)) (render-metafunction Name))
"metafunction-Name-vertical.png") "metafunction-Name-vertical.png")
;; makes sure that there is no overlap inside or across metafunction calls
;; or when there are unquotes involved
(define-metafunction lang (define-metafunction lang
[(multi-arg a [(multi-arg a
b b
c) c)
(multi-arg a ((multi-arg a
b b
c)]) c)
(multi-arg a
b
c))]
[(multi-arg unquote-test)
(,@(term (multi-arg with-unquote))
,@(term (multi-arg with-unquote))
,@(term (multi-arg with-unquote)))])
(test (render-metafunction multi-arg) "metafunction-multi-arg.png") (test (render-metafunction multi-arg) "metafunction-multi-arg.png")

View File

@ -257,7 +257,8 @@
(car l))]))])) (car l))]))]))
(define (rewrite-metafunction-app lst line line-span col col-span something-or-other) (define (rewrite-metafunction-app lst line line-span col col-span something-or-other)
(list* 'spring (list* (build-lw "" line 0 col 0)
'spring
(just-after (hbl-append (just-after (hbl-append
(metafunction-text (symbol->string (lw-e (cadr lst)))) (metafunction-text (symbol->string (lw-e (cadr lst))))
(open-white-square-bracket)) (open-white-square-bracket))

View File

@ -67,8 +67,7 @@
#`(init-loc-wrapper #`(init-loc-wrapper
(list (init-loc-wrapper "" #,(syntax-line stx) #,(syntax-column stx) #,quoted?) (list (init-loc-wrapper "" #,(syntax-line stx) #,(syntax-column stx) #,quoted?)
'spring 'spring
#,(process-arg (cadr (syntax->list stx)) (+ quote-depth 1)) #,(process-arg (cadr (syntax->list stx)) (+ quote-depth 1)))
'spring)
#,(syntax-line stx) #,(syntax-line stx)
#,(syntax-column stx) #,(syntax-column stx)
#,quoted?) #,quoted?)