Ryan's patch to improve check-syntax arrows for syntax-pattern bindings
svn: r5744
This commit is contained in:
parent
40f613d0d2
commit
109785e98a
File diff suppressed because it is too large
Load Diff
|
@ -1973,12 +1973,15 @@
|
|||
"(r(let loop((vars unique-vars)(bindings var-bindings))"
|
||||
"(cond"
|
||||
"((null? bindings) null)"
|
||||
"((car bindings)(cons "
|
||||
"((car bindings)"
|
||||
"(cons"
|
||||
"(syntax-property "
|
||||
"(datum->syntax-object"
|
||||
"(car vars)"
|
||||
"(syntax-e "
|
||||
"(syntax-mapping-valvar(car bindings)))"
|
||||
"(syntax-e(syntax-mapping-valvar(car bindings)))"
|
||||
" x)"
|
||||
" 'disappeared-use"
|
||||
"(car vars))"
|
||||
"(loop(cdr vars)(cdr bindings))))"
|
||||
"(else(loop(cdr vars)(cdr bindings)))))))"
|
||||
"(if(identifier? pattern)"
|
||||
|
|
|
@ -2286,13 +2286,16 @@
|
|||
[r (let loop ([vars unique-vars][bindings var-bindings])
|
||||
(cond
|
||||
[(null? bindings) null]
|
||||
[(car bindings) (cons
|
||||
(datum->syntax-object
|
||||
(car vars)
|
||||
(syntax-e
|
||||
(syntax-mapping-valvar (car bindings)))
|
||||
x)
|
||||
(loop (cdr vars) (cdr bindings)))]
|
||||
[(car bindings)
|
||||
(cons
|
||||
(syntax-property
|
||||
(datum->syntax-object
|
||||
(car vars)
|
||||
(syntax-e (syntax-mapping-valvar (car bindings)))
|
||||
x)
|
||||
'disappeared-use
|
||||
(car vars))
|
||||
(loop (cdr vars) (cdr bindings)))]
|
||||
[else (loop (cdr vars) (cdr bindings))]))])
|
||||
(if (identifier? pattern)
|
||||
;; Simple syntax-id lookup:
|
||||
|
|
Loading…
Reference in New Issue
Block a user