Avoid lumping together output values as (output '(x y z)), use
separate output expressions instead. svn: r14015
This commit is contained in:
parent
fe618071dc
commit
8b5b6a53d9
|
@ -78,14 +78,16 @@
|
|||
(define post? (not (null? (syntax-e #'(post ...)))))
|
||||
(define (wrap expr)
|
||||
(if (or pre? post?)
|
||||
#`(begin #,@(if pre? #'((decor '(pre ...))) #'())
|
||||
#`(begin #,@(if pre? #'((decor 'pre) ...) #'())
|
||||
#,expr
|
||||
#,@(if post? #'((decor '(post ...))) #'()))
|
||||
#,@(if post? #'((decor 'post) ...) #'()))
|
||||
expr))
|
||||
(cond [(begin?->list expr*)
|
||||
=> (lambda (xs)
|
||||
(if (null? xs)
|
||||
(if (or pre? post?) #'(decor '(pre ... post ...)) expr*)
|
||||
(if (or pre? post?)
|
||||
#'(begin (decor 'pre) ... (decor 'post) ...)
|
||||
expr*)
|
||||
#`(process-begin/text begin decor
|
||||
pre ... #,@xs post ...)))]
|
||||
[(definition? expr*) expr*] ; dump pre/post
|
||||
|
|
Loading…
Reference in New Issue
Block a user