more extensive list of constructs not to descend into

This commit is contained in:
Alex Shinn 2021-05-05 08:08:12 +09:00
parent 9a9f974d69
commit 1db8a573f1

View file

@ -43,15 +43,15 @@
(memq? random-symbol-to-match sk fk))))))))
(begin
(define-syntax report-vars
(syntax-rules (quote quasiquote lambda)
((report-vars (lambda . x) (next ...) res)
(next ... res))
((report-vars 'x (next ...) res)
(next ... res))
((report-vars `x (next ...) res)
(next ... res))
((report-vars (op arg0 arg1 ...) next res)
(report-vars arg0 (report-vars (op arg1 ...) next) res))
(syntax-rules ()
((report-vars (op arg0 arg1 ...) (next ...) res)
(syntax-memq? op (quote quasiquote lambda let let* letrec letrec*
let-syntax letrec-syntax let-values let*-values
receive match case define define-syntax do)
(next ... res)
(report-vars arg0
(report-vars (op arg1 ...) (next ...))
res)))
((report-vars (op . x) (next ...) res)
(next ... res))
((report-vars x (next ...) (res ...))