Allow multiple identifier/contract pairs in the same contracted form.
svn: r13054 original commit: 0db2eb851a46185f0f09a130f707e1cdd748c50e
This commit is contained in:
parent
4d8f6fdeb0
commit
4380d8a399
|
@ -241,15 +241,15 @@
|
|||
(x
|
||||
(identifier? #'x)
|
||||
(loop (cdr sig-exprs) (cons #'x bindings) val-defs stx-defs (cons #f ctcs)))
|
||||
((x y z)
|
||||
((x (y z) ...)
|
||||
(and (identifier? #'x)
|
||||
(module-identifier=? #'x #'contracted)
|
||||
(identifier? #'y))
|
||||
(andmap identifier? (syntax->list #'(y ...))))
|
||||
(loop (cdr sig-exprs)
|
||||
(cons #'y bindings)
|
||||
(append (syntax->list #'(y ...)) bindings)
|
||||
val-defs
|
||||
stx-defs
|
||||
(cons #'z ctcs)))
|
||||
(append (syntax->list #'(z ...)) ctcs)))
|
||||
((x . y)
|
||||
(and (identifier? #'x)
|
||||
(or (module-identifier=? #'x #'define-values)
|
||||
|
|
Loading…
Reference in New Issue
Block a user