diff --git a/collects/drscheme/private/debug.ss b/collects/drscheme/private/debug.ss index 8deb7ba257..52b129429c 100644 --- a/collects/drscheme/private/debug.ss +++ b/collects/drscheme/private/debug.ss @@ -254,7 +254,7 @@ profile todo: (write-special note (current-error-port)) (display #\space (current-error-port))))))) - (define (show-error-and-highlight msg exn highlight-errors) + (define (show-error-and-highlight msg exn highlight-errors) (let ([cms (and (exn? exn) (continuation-mark-set? (exn-continuation-marks exn)) diff --git a/collects/drscheme/private/rep.ss b/collects/drscheme/private/rep.ss index 053a337784..5f12636586 100644 --- a/collects/drscheme/private/rep.ss +++ b/collects/drscheme/private/rep.ss @@ -232,7 +232,9 @@ TODO (parameterize ([current-eventspace drscheme:init:system-eventspace]) (queue-callback (λ () - (send rep highlight-errors src-locs stack)))))))) + (send rep highlight-errors + src-locs + (filter (λ (x) (is-a? (car x) text%)) stack))))))))) (define (main-user-eventspace-thread?) (let ([rep (current-rep)]) @@ -752,10 +754,7 @@ TODO ;; (union #f (listof (list (is-a?/c text:basic<%>) number number))) ;; -> (void) (define/public (highlight-errors raw-locs error-arrows) - (let ([locs (filter (λ (loc) (and (or (is-a? (srcloc-source loc) text:basic<%>) - (and (path? (srcloc-source loc)) - (equal? (normalize-path (srcloc-source loc)) - (send (get-definitions-text) get-filename)))) + (let ([locs (filter (λ (loc) (and (is-a? (srcloc-source loc) text:basic<%>) (number? (srcloc-position loc)) (number? (srcloc-span loc)))) raw-locs)]) @@ -763,12 +762,7 @@ TODO (set! error-ranges locs) - (for-each (λ (loc) - (let ([ed (if (path? (srcloc-source loc)) - (get-definitions-text) - (srcloc-source loc))]) - (send ed begin-edit-sequence))) - locs) + (for-each (λ (loc) (send (srcloc-source loc) begin-edit-sequence)) locs) (when color? (let ([resets @@ -808,11 +802,7 @@ TODO (send first-file set-position first-start first-start)) (send first-file scroll-to-position first-start #f first-finish))) - (λ (loc) - (let ([ed (if (path? (srcloc-source loc)) - (get-definitions-text) - (srcloc-source loc))]) - (send ed end-edit-sequence))) + (for-each (λ (loc) (send (srcloc-source loc) end-edit-sequence)) locs) (when first-loc (send first-file set-caret-owner (get-focus-snip) 'global)))))