changed order of evaluation to improve error message

svn: r15914
This commit is contained in:
Robby Findler 2009-09-08 13:18:19 +00:00
parent 571eb2884a
commit 910e721a89

View File

@ -118,16 +118,17 @@
[(_ [[proto result] ...] desc ...)
(defproc* #:mode procedure #:within #f [[proto result] ...] desc ...)]
[(_ #:mode m #:within cl [[proto result] ...] desc ...)
(with-togetherable-scheme-variables
()
([proc proto] ...)
(*defproc 'm (quote-syntax/loc cl)
(list (extract-proc-id proto) ...)
'[proto ...]
(list (arg-contracts proto) ...)
(list (arg-defaults proto) ...)
(list (lambda () (result-contract result)) ...)
(lambda () (list desc ...))))]))
(let ([arg-contracts (list (arg-contracts proto) ...)])
(with-togetherable-scheme-variables
()
([proc proto] ...)
(*defproc 'm (quote-syntax/loc cl)
(list (extract-proc-id proto) ...)
'[proto ...]
arg-contracts
(list (arg-defaults proto) ...)
(list (lambda () (result-contract result)) ...)
(lambda () (list desc ...)))))]))
(define-struct arg
(special? kw id optional? starts-optional? ends-optional? num-closers))