diff --git a/collects/mztake/engine.ss b/collects/mztake/engine.ss index 2a6f145596..d993354632 100644 --- a/collects/mztake/engine.ss +++ b/collects/mztake/engine.ss @@ -1,6 +1,9 @@ (module engine mzscheme (require (lib "marks.ss" "mztake" "private") - (prefix frp: (lib "frp.ss" "frtime")) +; (prefix frp: (lib "frp.ss" "frtime")) + (prefix frp: (lib "lang-ext.ss" "frtime")) + (rename (lib "frp-core.ss" "frtime") + frp:signal-thunk signal-thunk) (lib "useful-code.ss" "mztake" "private") (lib "more-useful-code.ss" "mztake" "private") ; mostly for hash- bindings "mztake-structs.ss" @@ -43,17 +46,18 @@ (cons (unwrap-syntax stx) (loop (read-syntax filename port))))) (close-input-port port)))))]) - (lambda (line col) + (lambda (line maybe-col) (let loop ([lst pos-list] [last-coord (first pos-list)]) (cond ; none is found [(empty? lst) - (raise (format "No syntax found for trace at line/column ~a:~a in client `~a'" line col filename))] + (raise (format "No syntax found for trace at line/column ~a:~a in client `~a'" line maybe-col filename))] ; if first is correct line and correct column [(and (= line (caar lst)) - (= col (cadar lst))) + (or (not maybe-col) + (= maybe-col (cadar lst)))) (third (first lst))] [else (loop (rest lst) diff --git a/collects/mztake/mztake-structs.ss b/collects/mztake/mztake-structs.ss index f16a36e428..9ad5828773 100644 --- a/collects/mztake/mztake-structs.ss +++ b/collects/mztake/mztake-structs.ss @@ -1,6 +1,5 @@ (module mztake-structs mzscheme - (require (prefix frp: (lib "frp.ss" "frtime")) - (lib "more-useful-code.ss" "mztake" "private")) + (require (lib "more-useful-code.ss" "mztake" "private")) (provide (all-defined-except loc make-loc) (rename loc loc$) diff --git a/collects/mztake/mztake.ss b/collects/mztake/mztake.ss index c350ed1b0a..1cd1da66fc 100644 --- a/collects/mztake/mztake.ss +++ b/collects/mztake/mztake.ss @@ -1,6 +1,6 @@ (module mztake mzscheme (require (lib "contract.ss") - (prefix frp: (lib "frp.ss" "frtime")) + (prefix frp: (lib "lang-ext.ss" "frtime")) (rename (lib "frtime.ss" "frtime") frp:value-nowable? value-nowable?) (rename (lib "frtime.ss" "frtime") frp:behaviorof behaviorof) "mztake-structs.ss" @@ -9,14 +9,20 @@ (lib "marks.ss" "mztake" "private") "engine.ss") - (provide loc$ loc loc-reqspec loc-line loc-col + (provide loc$ loc-reqspec loc-line loc-col trace trace* bind define/bind define/bind-e where set-main!) (provide/contract [kill (() (debug-process?) . opt-> . void?)] [kill-all (-> void?)] [set-running-e! (frp:event? . -> . void?)] [set-running! (frp:value-nowable? . -> . void?)] [exceptions (() (debug-process?) . opt-> . frp:event?)] - [exited? (() (debug-process?) . opt-> . frp:behavior?)]) + [exited? (() (debug-process?) . opt-> . frp:behavior?)] + [rename loc/opt-col loc + ((any/c number?) (number?) . opt-> . loc?)]) + + (define loc/opt-col + (opt-lambda (reqspec line [col #f]) + (loc reqspec line col))) (define exceptions (opt-lambda ([p (current-process)])