hack `directory-list' to avoid confusing Typed Racket

(hopefully temporary)
This commit is contained in:
Matthew Flatt 2012-05-16 18:29:16 -06:00
parent 662ede2bd2
commit 0695c63cb1

View File

@ -128,9 +128,12 @@
(lambda () (proc p)) (lambda () (proc p))
(lambda () (close-output-port p))))) (lambda () (close-output-port p)))))
(define (directory-list [dir (current-directory)] #:build? [build? #f]) ;; Using `define-values' to avoid the inlining expansion for keyword
(unless (path-string? dir) ;; arguments, because that expansion confuses Typed Racket:
(raise-type-error 'directory-list "path or string" dir)) (define-values (directory-list)
(if build? (lambda ([dir (current-directory)] #:build? [build? #f])
(map (lambda (i) (build-path dir i)) (k:directory-list dir)) (unless (path-string? dir)
(k:directory-list dir)))) (raise-type-error 'directory-list "path or string" dir))
(if build?
(map (lambda (i) (build-path dir i)) (k:directory-list dir))
(k:directory-list dir)))))