From 2fc13d178dd0180d1e3d9b517cc81dd24126d83c Mon Sep 17 00:00:00 2001 From: Ryan Culpepper Date: Mon, 22 Oct 2012 17:26:33 -0400 Subject: [PATCH 1/4] macro-stepper: show errors in provide expansion closes PR 13018 original commit: 1137b444ad8393cd01faff18602e3facc3322c89 --- collects/macro-debugger/model/reductions.rkt | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/collects/macro-debugger/model/reductions.rkt b/collects/macro-debugger/model/reductions.rkt index fdc88b0..f4e17c0 100644 --- a/collects/macro-debugger/model/reductions.rkt +++ b/collects/macro-debugger/model/reductions.rkt @@ -222,12 +222,7 @@ [#:learn (list #'?var)])] [(Wrap p:provide (e1 e2 rs ?1 inners ?2)) - (let ([wrapped-inners - (for/list ([inner (in-list inners)]) - (match inner - [(Wrap deriv (e1 e2)) - (make local-expansion e1 e2 - #f e1 inner #f e2 #f)]))]) + (let ([wrapped-inners (map expr->local-action inners)]) (R [! ?1] [#:pattern ?form] [#:pass1] @@ -668,7 +663,9 @@ [#:do (DEBUG (printf "** module begin pass 2\n"))] [ModulePass ?forms pass2] ;; ignore pass3 for now: only provides - )])) + [#:new-local-context + [#:pattern ?form] + [LocalActions ?form (map expr->local-action (or pass3 null))]])])) ;; ModulePass : (list-of MBRule) -> RST (define (ModulePass mbrules) @@ -796,6 +793,12 @@ (when #f (apply error sym args))) +(define (expr->local-action d) + (match d + [(Wrap deriv (e1 e2)) + (make local-expansion e1 e2 + #f e1 d #f e2 #f)])) + ;; opaque-table ;; Weakly remembers assoc between opaque values and ;; actual syntax, so that actual can be substituted in From a3ae3177dfcbb9c59a685fb7782b3063da35daa8 Mon Sep 17 00:00:00 2001 From: Danny Yoo Date: Thu, 1 Nov 2012 15:14:23 -0600 Subject: [PATCH 2/4] adding close-eval at the end of scribble files that have a toplevel evaluator original commit: dcf4d8b040f1acdc535d1542e0d7b1bb1112d987 --- collects/macro-debugger/macro-debugger.scrbl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/collects/macro-debugger/macro-debugger.scrbl b/collects/macro-debugger/macro-debugger.scrbl index e0a24f4..91adf78 100644 --- a/collects/macro-debugger/macro-debugger.scrbl +++ b/collects/macro-debugger/macro-debugger.scrbl @@ -567,3 +567,7 @@ module path and the module paths of its immediate dependents. (get-dependencies 'openssl #:exclude (list 'racket)) ] } + + + +@close-eval[the-eval] \ No newline at end of file From 4339fbad87575add8be19202696b78d245b409cb Mon Sep 17 00:00:00 2001 From: Ryan Culpepper Date: Mon, 5 Nov 2012 17:25:20 -0500 Subject: [PATCH 3/4] macro-stepper: fix for lifted provides closes PR 13236 original commit: 321cd1b4aee78f8c88b028601d63dbfa59ff70fd --- collects/macro-debugger/model/reductions.rkt | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/collects/macro-debugger/model/reductions.rkt b/collects/macro-debugger/model/reductions.rkt index f4e17c0..3b1c43d 100644 --- a/collects/macro-debugger/model/reductions.rkt +++ b/collects/macro-debugger/model/reductions.rkt @@ -721,12 +721,14 @@ [#:set-syntax (append stxs old-forms)] [ModulePass ?forms rest]])] [(cons (Wrap mod:lift-end (stxs)) rest) - (R [#:pattern ?forms] - [#:when (pair? stxs) - [#:left-foot null] - [#:set-syntax (append stxs #'?forms)] - [#:step 'splice-module-lifts stxs]] - [ModulePass ?forms rest])] + ;; In pass2, stxs contains a mixture of terms and kind-tagged terms (pairs) + (let ([stxs (map (lambda (e) (if (pair? e) (car e) e)) stxs)]) + (R [#:pattern ?forms] + [#:when (pair? stxs) + [#:left-foot null] + [#:set-syntax (append stxs #'?forms)] + [#:step 'splice-module-lifts stxs]] + [ModulePass ?forms rest]))] [(cons (Wrap mod:skip ()) rest) (R [#:pattern (?firstS . ?rest)] [ModulePass ?rest rest])] From 80d8a70c53d58e44cc86573a1dfc54e122de405d Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Tue, 6 Nov 2012 14:07:15 -0500 Subject: [PATCH 4/4] Newlines at EOFs. original commit: 14d8c8b5a5b665d03c14748e5416ec2f1753d4fb --- collects/macro-debugger/macro-debugger.scrbl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/collects/macro-debugger/macro-debugger.scrbl b/collects/macro-debugger/macro-debugger.scrbl index 91adf78..03a9827 100644 --- a/collects/macro-debugger/macro-debugger.scrbl +++ b/collects/macro-debugger/macro-debugger.scrbl @@ -569,5 +569,4 @@ module path and the module paths of its immediate dependents. } - -@close-eval[the-eval] \ No newline at end of file +@close-eval[the-eval]