<p dir="ltr">Will these be in 5.3.1? Without this fix, the macro stepper is very broken.</p>
<p dir="ltr">Sam</p>
<div class="gmail_quote">On Oct 22, 2012 3:05 PM, <<a href="mailto:ryanc@racket-lang.org">ryanc@racket-lang.org</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
ryanc has updated `master' from f60d57a27f to 1137b444ad.<br>
<a href="http://git.racket-lang.org/plt/f60d57a27f..1137b444ad" target="_blank">http://git.racket-lang.org/plt/f60d57a27f..1137b444ad</a><br>
<br>
=====[ 2 Commits ]======================================================<br>
Directory summary:<br>
60.2% collects/macro-debugger/model/<br>
39.7% collects/macro-debugger/<br>
<br>
~~~~~~~~~~<br>
<br>
5f15401 Ryan Culpepper <<a href="mailto:ryanc@racket-lang.org">ryanc@racket-lang.org</a>> 2012-10-22 17:09<br>
:<br>
| macro stepper: fix bug re taking over run button<br>
| Closes PR 13019<br>
:<br>
M collects/macro-debugger/tool.rkt | 9 ++++++---<br>
<br>
~~~~~~~~~~<br>
<br>
1137b44 Ryan Culpepper <<a href="mailto:ryanc@racket-lang.org">ryanc@racket-lang.org</a>> 2012-10-22 17:26<br>
:<br>
| macro-stepper: show errors in provide expansion<br>
| closes PR 13018<br>
:<br>
M collects/macro-debugger/model/reductions.rkt | 17 ++++++++++-------<br>
<br>
=====[ Overall Diff ]===================================================<br>
<br>
collects/macro-debugger/model/reductions.rkt<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
--- OLD/collects/macro-debugger/model/reductions.rkt<br>
+++ NEW/collects/macro-debugger/model/reductions.rkt<br>
@@ -222,12 +222,7 @@<br>
[#:learn (list #'?var)])]<br>
<br>
[(Wrap p:provide (e1 e2 rs ?1 inners ?2))<br>
- (let ([wrapped-inners<br>
- (for/list ([inner (in-list inners)])<br>
- (match inner<br>
- [(Wrap deriv (e1 e2))<br>
- (make local-expansion e1 e2<br>
- #f e1 inner #f e2 #f)]))])<br>
+ (let ([wrapped-inners (map expr->local-action inners)])<br>
(R [! ?1]<br>
[#:pattern ?form]<br>
[#:pass1]<br>
@@ -668,7 +663,9 @@<br>
[#:do (DEBUG (printf "** module begin pass 2\n"))]<br>
[ModulePass ?forms pass2]<br>
;; ignore pass3 for now: only provides<br>
- )]))<br>
+ [#:new-local-context<br>
+ [#:pattern ?form]<br>
+ [LocalActions ?form (map expr->local-action (or pass3 null))]])]))<br>
<br>
;; ModulePass : (list-of MBRule) -> RST<br>
(define (ModulePass mbrules)<br>
@@ -796,6 +793,12 @@<br>
(when #f<br>
(apply error sym args)))<br>
<br>
+(define (expr->local-action d)<br>
+ (match d<br>
+ [(Wrap deriv (e1 e2))<br>
+ (make local-expansion e1 e2<br>
+ #f e1 d #f e2 #f)]))<br>
+<br>
;; opaque-table<br>
;; Weakly remembers assoc between opaque values and<br>
;; actual syntax, so that actual can be substituted in<br>
<br>
collects/macro-debugger/tool.rkt<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
--- OLD/collects/macro-debugger/tool.rkt<br>
+++ NEW/collects/macro-debugger/tool.rkt<br>
@@ -269,8 +269,12 @@<br>
(set! user-custodian (current-custodian)))<br>
<br>
(define (uncaught-exception-raised) ;; =user=<br>
- ;; formerly shut down user custodian<br>
- (void))<br>
+ (set! normal-termination? #t)<br>
+ (parameterize ([current-eventspace drs-eventspace])<br>
+ (queue-callback<br>
+ (λ ()<br>
+ (cleanup)<br>
+ (custodian-shutdown-all user-custodian)))))<br>
(define (show-error-report/tab) ;; =drs=<br>
(send the-tab turn-on-error-report)<br>
(send (send the-tab get-error-report-text) scroll-to-position 0)<br>
@@ -294,7 +298,6 @@<br>
(parameterize ([current-eventspace drs-eventspace])<br>
(queue-callback<br>
(λ ()<br>
- (send the-tab syncheck:clear-highlighting)<br>
(cleanup)<br>
(custodian-shutdown-all user-custodian))))))<br>
<br>
</blockquote></div>