original commit: abbf567a45807f3db3ef74d429a8d0c0a6ea9391
This commit is contained in:
Matthew Flatt 2002-05-18 14:29:03 +00:00
parent 331b2fe784
commit 21be48574d

View File

@ -1553,8 +1553,8 @@
(lambda (stx)
(syntax-case stx ()
[(form class (arg ...) . x)
(with-syntax ([stx stx])
(syntax (-instantiate do-make-object stx (class) (list arg ...) . x)))])))
(with-syntax ([orig-stx stx])
(syntax/loc stx (-instantiate do-make-object orig-stx (class) (list arg ...) . x)))])))
;; Helper; used by instantiate and super-instantiate
(define-syntax -instantiate
@ -1563,10 +1563,11 @@
[(_ do-make-object orig-stx (maker-arg ...) args (kw arg) ...)
(andmap identifier? (syntax->list (syntax (kw ...))))
(with-syntax ([(kw ...) (map localize (syntax->list (syntax (kw ...))))])
(syntax (do-make-object maker-arg ...
args
(list (cons `kw arg)
...))))]
(syntax/loc stx
(do-make-object maker-arg ...
args
(list (cons `kw arg)
...))))]
[(_ super-make-object orig-stx (make-arg ...) args kwarg ...)
;; some kwarg must be bad:
(for-each (lambda (kwarg)