commit f222c3951cc15d09d817184196967b416fb97a51 parent 02945f9bfae2ad6d1a400176914186c85527d2ac Author: Ryan Culpepper <ryanc@racket-lang.org> Date: Thu, 30 Oct 2014 02:58:56 -0400 check-require: fix submod-related bugs original commit: a02beaa821a8727e01b982e57643973827c38e7d Diffstat:
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/pkgs/macro-debugger-pkgs/macro-debugger-text-lib/macro-debugger/analysis/private/moduledb.rkt b/pkgs/macro-debugger-pkgs/macro-debugger-text-lib/macro-debugger/analysis/private/moduledb.rkt @@ -90,4 +90,7 @@ [(list 'file part) (ok? part)] [(list 'planet part ...) - #t]))) + #t] + [(list* 'submod base _) + ;; Never bypass to submodules + #f]))) diff --git a/pkgs/macro-debugger-pkgs/macro-debugger-text-lib/macro-debugger/analysis/private/nom-use-alg.rkt b/pkgs/macro-debugger-pkgs/macro-debugger-text-lib/macro-debugger/analysis/private/nom-use-alg.rkt @@ -140,7 +140,13 @@ ;; FIXME: cache tables (define (mod->bypass-table mod) (define table (make-hash)) - (let ([prov (get-module-all-exports mod)]) + (let/ec escape + (define prov + ;; FIXME: hack around mis-resolution of mpis in case of submodules + ;; by just bailing out; should just result in missed bypass opportunities + (with-handlers ([(lambda (e) #t) + (lambda (e) (escape (void)))]) + (get-module-all-exports mod))) (for* ([phase+exps (in-list prov)] #:when (car phase+exps) ;; Skip for-label provides [name+srcs (in-list (cdr phase+exps))]