bug report 10129
svn: r14127
This commit is contained in:
parent
1547638f3b
commit
ef85043b9a
|
@ -146,15 +146,18 @@
|
||||||
(syntax-case #'E ()
|
(syntax-case #'E ()
|
||||||
[(V) (set! rec? #'V)]
|
[(V) (set! rec? #'V)]
|
||||||
[_ (err 'record? stx)]))
|
[_ (err 'record? stx)]))
|
||||||
(cons (syntax-e #'kw) (syntax E)))]
|
(cons #'kw #;(syntax-e #'kw) (syntax E)))]
|
||||||
[_ (raise-syntax-error
|
[_ (raise-syntax-error
|
||||||
'big-bang "not a legal big-bang clause" stx)]))
|
'big-bang "not a legal big-bang clause" stx)]))
|
||||||
(syntax->list (syntax (s ...))))]
|
(syntax->list (syntax (s ...))))]
|
||||||
;; assert: all bind = (kw . E) and kw is constrained via Bind
|
;; assert: all bind = (kw . E) and kw is constrained via Bind
|
||||||
[args (map (lambda (x)
|
[args (map (lambda (x)
|
||||||
(define kw (car x))
|
(define kw (car x))
|
||||||
(define co (assq kw Spec))
|
(define co ;; patch from Jay to allow rename on import
|
||||||
(list kw ((cadr co) (cdr x))))
|
(findf (lambda (n) (free-identifier=? kw (car n)))
|
||||||
|
(map (lambda (k s) (cons k (cdr s)))
|
||||||
|
kwds Spec)))
|
||||||
|
(list (syntax-e (car co)) ((cadr co) (cdr x))))
|
||||||
spec)])
|
spec)])
|
||||||
#`(send (new (if #,rec? aworld% world%) [world0 w] #,@args) last))]))
|
#`(send (new (if #,rec? aworld% world%) [world0 w] #,@args) last))]))
|
||||||
|
|
||||||
|
@ -276,7 +279,7 @@
|
||||||
[(kw . E)
|
[(kw . E)
|
||||||
(and (identifier? #'kw)
|
(and (identifier? #'kw)
|
||||||
(for/or ([n kwds]) (free-identifier=? #'kw n)))
|
(for/or ([n kwds]) (free-identifier=? #'kw n)))
|
||||||
(cons (syntax-e #'kw) (syntax E))]
|
(cons #'kw (syntax E))]
|
||||||
[(kw E)
|
[(kw E)
|
||||||
(and (identifier? #'kw)
|
(and (identifier? #'kw)
|
||||||
(for/or ([n kwds]) (free-identifier=? #'kw n)))
|
(for/or ([n kwds]) (free-identifier=? #'kw n)))
|
||||||
|
@ -285,6 +288,15 @@
|
||||||
'universe "not a legal universe clause" stx)]))
|
'universe "not a legal universe clause" stx)]))
|
||||||
(syntax->list (syntax (bind ...))))]
|
(syntax->list (syntax (bind ...))))]
|
||||||
;; assert: all bind = (kw . E) and kw is constrained via Bind
|
;; assert: all bind = (kw . E) and kw is constrained via Bind
|
||||||
|
[args (map (lambda (x)
|
||||||
|
(define kw (car x))
|
||||||
|
(define co ;; patch from Jay to allow rename on import
|
||||||
|
(findf (lambda (n) (free-identifier=? kw (car n)))
|
||||||
|
(map (lambda (k s) (cons k (cdr s)))
|
||||||
|
kwds Spec)))
|
||||||
|
(list (syntax-e (car co)) ((cadr co) (cdr x))))
|
||||||
|
spec)]
|
||||||
|
#;
|
||||||
[args (map (lambda (x)
|
[args (map (lambda (x)
|
||||||
(define kw (car x))
|
(define kw (car x))
|
||||||
(define co (assq kw Spec))
|
(define co (assq kw Spec))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user