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

Reply via email to