info: recognize by binding
Prior this PR: #lang info (list 1) is accidentally considered well-formed. This PR fixes the problem.
This commit is contained in:
parent
6366874ecd
commit
cb723ad4c8
|
@ -8,20 +8,20 @@
|
||||||
(define-syntax info-module-begin
|
(define-syntax info-module-begin
|
||||||
(lambda (stx)
|
(lambda (stx)
|
||||||
(syntax-case stx ()
|
(syntax-case stx ()
|
||||||
[(mod-beg defn ...)
|
[(_ defn ...)
|
||||||
(let ([names (let loop ([defns (syntax->list (syntax (defn ...)))]
|
(let ([names (let loop ([defns (syntax->list (syntax (defn ...)))]
|
||||||
[r '()])
|
[r '()])
|
||||||
(if (null? defns)
|
(if (null? defns)
|
||||||
(reverse r)
|
(reverse r)
|
||||||
(loop (cdr defns)
|
(loop (cdr defns)
|
||||||
(syntax-case (car defns) (define)
|
(syntax-case (car defns) (define define-values limited-require)
|
||||||
[(define var val)
|
[(define var _val)
|
||||||
(identifier? #'var)
|
(identifier? #'var)
|
||||||
(cons (syntax var) r)]
|
(cons (syntax var) r)]
|
||||||
;; In case it gets expanded:
|
;; In case it gets expanded:
|
||||||
[(define-values (var) val)
|
[(define-values (var) _val)
|
||||||
(cons (syntax var) r)]
|
(cons (syntax var) r)]
|
||||||
[(require lib) r] ; ignore these (see below)
|
[(limited-require _lib) r] ; ignore these (see below)
|
||||||
[_else (raise-syntax-error
|
[_else (raise-syntax-error
|
||||||
'infotab-module
|
'infotab-module
|
||||||
"not a well-formed definition"
|
"not a well-formed definition"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user