expander: fix taint propagation
A taint on a syntax object without scopes to propagate was propagated incorrectly to a nested syntax object that also has pending scopes to propagate.
This commit is contained in:
parent
275d7974cd
commit
bbefc9ed50
|
@ -383,9 +383,9 @@
|
|||
(syntax-scopes sub-s)
|
||||
(syntax-shifted-multi-scopes sub-s)
|
||||
(syntax-mpi-shifts sub-s))])
|
||||
(struct-copy syntax sub-s
|
||||
[scope-propagations+tamper (tamper-tainted-for-content
|
||||
(syntax-content sub-s))]))))])
|
||||
(struct-copy/t syntax sub-s
|
||||
[tamper (tamper-tainted-for-content
|
||||
(syntax-content sub-s))]))))])
|
||||
(set-syntax-content! s new-content)
|
||||
(set-syntax-scope-propagations+tamper! s (tamper-propagated (if (propagation? prop)
|
||||
(propagation-tamper prop)
|
||||
|
|
|
@ -10,7 +10,9 @@
|
|||
syntax-arm
|
||||
syntax-disarm
|
||||
syntax-rearm
|
||||
syntax-taint)
|
||||
syntax-taint
|
||||
|
||||
struct-copy/t)
|
||||
|
||||
(define-syntax struct-copy/t
|
||||
(syntax-rules (syntax tamper)
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user