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))"
|
"(r(let loop((vars unique-vars)(bindings var-bindings))"
|
||||||
"(cond"
|
"(cond"
|
||||||
"((null? bindings) null)"
|
"((null? bindings) null)"
|
||||||
"((car bindings)(cons "
|
"((car bindings)"
|
||||||
|
"(cons"
|
||||||
|
"(syntax-property "
|
||||||
"(datum->syntax-object"
|
"(datum->syntax-object"
|
||||||
"(car vars)"
|
"(car vars)"
|
||||||
"(syntax-e "
|
"(syntax-e(syntax-mapping-valvar(car bindings)))"
|
||||||
"(syntax-mapping-valvar(car bindings)))"
|
|
||||||
" x)"
|
" x)"
|
||||||
|
" 'disappeared-use"
|
||||||
|
"(car vars))"
|
||||||
"(loop(cdr vars)(cdr bindings))))"
|
"(loop(cdr vars)(cdr bindings))))"
|
||||||
"(else(loop(cdr vars)(cdr bindings)))))))"
|
"(else(loop(cdr vars)(cdr bindings)))))))"
|
||||||
"(if(identifier? pattern)"
|
"(if(identifier? pattern)"
|
||||||
|
|
|
@ -2286,12 +2286,15 @@
|
||||||
[r (let loop ([vars unique-vars][bindings var-bindings])
|
[r (let loop ([vars unique-vars][bindings var-bindings])
|
||||||
(cond
|
(cond
|
||||||
[(null? bindings) null]
|
[(null? bindings) null]
|
||||||
[(car bindings) (cons
|
[(car bindings)
|
||||||
|
(cons
|
||||||
|
(syntax-property
|
||||||
(datum->syntax-object
|
(datum->syntax-object
|
||||||
(car vars)
|
(car vars)
|
||||||
(syntax-e
|
(syntax-e (syntax-mapping-valvar (car bindings)))
|
||||||
(syntax-mapping-valvar (car bindings)))
|
|
||||||
x)
|
x)
|
||||||
|
'disappeared-use
|
||||||
|
(car vars))
|
||||||
(loop (cdr vars) (cdr bindings)))]
|
(loop (cdr vars) (cdr bindings)))]
|
||||||
[else (loop (cdr vars) (cdr bindings))]))])
|
[else (loop (cdr vars) (cdr bindings))]))])
|
||||||
(if (identifier? pattern)
|
(if (identifier? pattern)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user