macro-stepper: fix for lifted provides

closes PR 13236
This commit is contained in:
Ryan Culpepper 2012-11-05 17:25:20 -05:00
parent bd0e6ae941
commit 321cd1b4ae

View File

@ -721,12 +721,14 @@
[#:set-syntax (append stxs old-forms)] [#:set-syntax (append stxs old-forms)]
[ModulePass ?forms rest]])] [ModulePass ?forms rest]])]
[(cons (Wrap mod:lift-end (stxs)) rest) [(cons (Wrap mod:lift-end (stxs)) rest)
(R [#:pattern ?forms] ;; In pass2, stxs contains a mixture of terms and kind-tagged terms (pairs)
[#:when (pair? stxs) (let ([stxs (map (lambda (e) (if (pair? e) (car e) e)) stxs)])
[#:left-foot null] (R [#:pattern ?forms]
[#:set-syntax (append stxs #'?forms)] [#:when (pair? stxs)
[#:step 'splice-module-lifts stxs]] [#:left-foot null]
[ModulePass ?forms rest])] [#:set-syntax (append stxs #'?forms)]
[#:step 'splice-module-lifts stxs]]
[ModulePass ?forms rest]))]
[(cons (Wrap mod:skip ()) rest) [(cons (Wrap mod:skip ()) rest)
(R [#:pattern (?firstS . ?rest)] (R [#:pattern (?firstS . ?rest)]
[ModulePass ?rest rest])] [ModulePass ?rest rest])]