That's the plan. Ryan
On 10/22/2012 07:30 PM, Sam Tobin-Hochstadt wrote:
Will these be in 5.3.1? Without this fix, the macro stepper is very broken. Sam On Oct 22, 2012 3:05 PM, <ry...@racket-lang.org <mailto:ry...@racket-lang.org>> wrote: ryanc has updated `master' from f60d57a27f to 1137b444ad. http://git.racket-lang.org/plt/f60d57a27f..1137b444ad =====[ 2 Commits ]====================================================== Directory summary: 60.2% collects/macro-debugger/model/ 39.7% collects/macro-debugger/ ~~~~~~~~~~ 5f15401 Ryan Culpepper <ry...@racket-lang.org <mailto:ry...@racket-lang.org>> 2012-10-22 17:09 : | macro stepper: fix bug re taking over run button | Closes PR 13019 : M collects/macro-debugger/tool.rkt | 9 ++++++--- ~~~~~~~~~~ 1137b44 Ryan Culpepper <ry...@racket-lang.org <mailto:ry...@racket-lang.org>> 2012-10-22 17:26 : | macro-stepper: show errors in provide expansion | closes PR 13018 : M collects/macro-debugger/model/reductions.rkt | 17 ++++++++++------- =====[ Overall Diff ]=================================================== collects/macro-debugger/model/reductions.rkt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- OLD/collects/macro-debugger/model/reductions.rkt +++ NEW/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 collects/macro-debugger/tool.rkt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- OLD/collects/macro-debugger/tool.rkt +++ NEW/collects/macro-debugger/tool.rkt @@ -269,8 +269,12 @@ (set! user-custodian (current-custodian))) (define (uncaught-exception-raised) ;; =user= - ;; formerly shut down user custodian - (void)) + (set! normal-termination? #t) + (parameterize ([current-eventspace drs-eventspace]) + (queue-callback + (λ () + (cleanup) + (custodian-shutdown-all user-custodian))))) (define (show-error-report/tab) ;; =drs= (send the-tab turn-on-error-report) (send (send the-tab get-error-report-text) scroll-to-position 0) @@ -294,7 +298,6 @@ (parameterize ([current-eventspace drs-eventspace]) (queue-callback (λ () - (send the-tab syncheck:clear-highlighting) (cleanup) (custodian-shutdown-all user-custodian))))))
_________________________ Racket Developers list: http://lists.racket-lang.org/dev