From 484f512965758c547dc4e0de799deaa74f161291 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Sat, 2 Aug 2014 09:09:58 -0500 Subject: [PATCH] add a little more info in the syntax check printouts for drdr --- .../tests/drracket/syncheck-test.rkt | 5 ++++- .../drracket/private/syncheck/traversals.rkt | 19 ++++++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/pkgs/drracket-pkgs/drracket-test/tests/drracket/syncheck-test.rkt b/pkgs/drracket-pkgs/drracket-test/tests/drracket/syncheck-test.rkt index a9527d6745..2e2faf5196 100644 --- a/pkgs/drracket-pkgs/drracket-test/tests/drracket/syncheck-test.rkt +++ b/pkgs/drracket-pkgs/drracket-test/tests/drracket/syncheck-test.rkt @@ -1470,7 +1470,10 @@ (when extra-info? (printf "got-arrows\n") (pretty-print got-arrows) - (newline)) + (newline) + + (printf "'drracket:syncheck:show-arrows? ~s\n" + (preferences:get 'drracket:syncheck:show-arrows?))) (compare-output (cond [(dir-test? test) (map (lambda (x) diff --git a/pkgs/drracket-pkgs/drracket/drracket/private/syncheck/traversals.rkt b/pkgs/drracket-pkgs/drracket/drracket/private/syncheck/traversals.rkt index 2b49f73058..5537220046 100644 --- a/pkgs/drracket-pkgs/drracket/drracket/private/syncheck/traversals.rkt +++ b/pkgs/drracket-pkgs/drracket/drracket/private/syncheck/traversals.rkt @@ -101,7 +101,24 @@ (list 'require-for-templates require-for-templates) (list 'require-for-labels require-for-templates) (list 'sub-identifier-binding-directives - sub-identifier-binding-directives)))))] + sub-identifier-binding-directives))) + (define vars (set)) + (let loop ([thing (list phase-to-varrefs phase-to-binders)]) + (cond + [(pair? thing) (loop (car thing)) (loop (cdr thing))] + [(hash? thing) (for ([(k v) (in-hash thing)]) + (loop k) + (loop v))] + [(free-identifier-mapping? thing) + (free-identifier-mapping-for-each + thing + (λ (k v) (loop v)))] + [(syntax? thing) (set! vars (set-add vars thing))])) + (printf "--- vars\n") + (for ([x (in-set vars)]) + (for ([y (in-set vars)]) + (printf " ~s\n ~s\n ~s\n" x y (free-identifier=? x y)))) + (printf "--- vars\n\n")))] [else (annotate-basic sexp user-namespace user-directory