clean up check-module-form
- truly ignore expected-module (in err msgs) to match docs - remove dead code
This commit is contained in:
parent
d6fe30156c
commit
8620bc50be
|
@ -10,11 +10,6 @@
|
||||||
[read-accept-compiled #t])
|
[read-accept-compiled #t])
|
||||||
(thunk)))))
|
(thunk)))))
|
||||||
|
|
||||||
(define (raise-wrong-module-name filename expected-name name)
|
|
||||||
(error 'load-handler
|
|
||||||
"expected a `module' declaration for `~a' in ~s, found: ~a"
|
|
||||||
expected-name filename name))
|
|
||||||
|
|
||||||
(define (check-module-form exp expected-module filename)
|
(define (check-module-form exp expected-module filename)
|
||||||
(unless (or (syntax? exp) (eof-object? exp))
|
(unless (or (syntax? exp) (eof-object? exp))
|
||||||
(raise-argument-error 'check-module-form "(or/c syntax? eof-object?)" exp))
|
(raise-argument-error 'check-module-form "(or/c syntax? eof-object?)" exp))
|
||||||
|
@ -26,17 +21,10 @@
|
||||||
(cond [(or (eof-object? exp) (eof-object? (syntax-e exp)))
|
(cond [(or (eof-object? exp) (eof-object? (syntax-e exp)))
|
||||||
(and filename
|
(and filename
|
||||||
(error 'load-handler
|
(error 'load-handler
|
||||||
"expected a `module' declaration for `~a' in ~s, but found end-of-file"
|
"expected a `module' declaration in ~s, but found end-of-file"
|
||||||
expected-module filename))]
|
filename))]
|
||||||
[(compiled-module-expression? (syntax-e exp))
|
[(compiled-module-expression? (syntax-e exp))
|
||||||
(if (or #t ; we don't check the name anymore
|
exp]
|
||||||
(eq? (module-compiled-name (syntax-e exp)) expected-module))
|
|
||||||
;; It's fine:
|
|
||||||
exp
|
|
||||||
;; Wrong name:
|
|
||||||
(and filename (raise-wrong-module-name
|
|
||||||
filename expected-module
|
|
||||||
(module-compiled-name (syntax-e exp)))))]
|
|
||||||
[(and (syntax? exp)
|
[(and (syntax? exp)
|
||||||
(syntax-case exp ()
|
(syntax-case exp ()
|
||||||
[(mod nm . _)
|
[(mod nm . _)
|
||||||
|
@ -44,17 +32,13 @@
|
||||||
[_else #f]))
|
[_else #f]))
|
||||||
;; It's ok; need to install a specific `module' binding:
|
;; It's ok; need to install a specific `module' binding:
|
||||||
(with-syntax ([(mod nm . _) exp])
|
(with-syntax ([(mod nm . _) exp])
|
||||||
(when #f ; we don't check the name anymore
|
|
||||||
(unless (eq? (syntax-e #'nm) expected-module)
|
|
||||||
(raise-wrong-module-name filename expected-module
|
|
||||||
(syntax-e #'nm))))
|
|
||||||
(datum->syntax exp
|
(datum->syntax exp
|
||||||
(cons (namespace-module-identifier)
|
(cons (namespace-module-identifier)
|
||||||
(cdr (syntax-e exp)))
|
(cdr (syntax-e exp)))
|
||||||
exp
|
exp
|
||||||
exp))]
|
exp))]
|
||||||
[else
|
[else
|
||||||
(and filename
|
(and filename
|
||||||
(error 'load-handler
|
(error 'load-handler
|
||||||
"expected a `module' declaration for `~a' in ~s, but found something else"
|
"expected a `module' declaration in ~s, but found something else"
|
||||||
expected-module filename))])))
|
filename))])))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user