diff --git a/racket/commands/requires.rkt b/racket/commands/requires.rkt index 1403ecf2..9c59becb 100644 --- a/racket/commands/requires.rkt +++ b/racket/commands/requires.rkt @@ -26,7 +26,8 @@ (module+ test (require rackunit - racket/format)) + racket/format + version/utils)) (define (requires/tidy path-str) (tidy-file path-str)) @@ -42,33 +43,41 @@ #:drops (drops a))) (module+ test - (define p (path->string - (simple-form-path - (build-path 'up 'up "test" "example" "requires.rkt")))) - (check-equal? - (requires/tidy p) - '((delete 174 17) - (replace - 129 - 44 - "(require net/url\n (combine-in net/url\n racket/format))") - (replace 39 42 "(require net/uri-codec\n net/url)"))) - (check-equal? - (requires/trim p) - '((delete 174 17) - (replace - 129 - 44 - "(require net/url\n (combine-in net/url\n racket/format))") - (replace 39 42 "(require net/uri-codec\n net/url)"))) - (check-equal? - (requires/base p) - '((delete 174 17) - (replace - 129 - 44 - "(require (for-syntax racket/base)\n net/url\n (combine-in net/url\n racket/format)\n racket/list\n racket/match)") - (replace 39 42 "(require net/uri-codec\n net/url)")))) + (let ([p (path->string + (simple-form-path + (build-path 'up 'up "test" "example" "requires.rkt")))]) + (check-equal? + (requires/tidy p) + '((delete 174 17) + (replace + 129 + 44 + "(require net/url\n (combine-in net/url\n racket/format))") + (replace 39 42 "(require net/uri-codec\n net/url)"))) + + ;; On older Rackets macro-debugger/analysis/check-requires might + ;; give error: + ;; + ;; derivation-parser: error on token #2: > + (when (version<=? "8.14" (version)) + (check-equal? + (requires/trim p) + '((delete 174 17) + (replace + 129 + 44 + "(require net/url\n (combine-in net/url\n racket/format))") + (replace 39 42 "(require net/uri-codec\n net/url)"))) + (check-equal? + (requires/base p) + '((delete 174 17) + (replace + 129 + 44 + "(require (for-syntax racket/base)\n net/url\n (combine-in net/url\n racket/format)\n racket/list\n racket/match)") + (replace 39 42 "(require net/uri-codec\n net/url)")))))) ;;; analysis by macro-debugger/analysis/check-requires