Fix nested quasisyntax infinite looping
Thanks to Michael Ballantyne for the bug report
This commit is contained in:
parent
551ef55535
commit
25c9e9347a
|
@ -2044,6 +2044,14 @@
|
|||
(test #\[ syntax-property (quasisyntax [x (unsyntax (syntax y))]) 'paren-shape)
|
||||
(test #\[ syntax-property (quasisyntax [x y]) 'paren-shape)
|
||||
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Check that quasisyntax in quasisyntax doesn't infinite loop
|
||||
|
||||
(test #t syntax? (quasisyntax (quote-syntax quasisyntax)))
|
||||
(test #t syntax? (quasisyntax (quasisyntax . x)))
|
||||
(test #t syntax? (quasisyntax (list quasisyntax)))
|
||||
(test #t syntax? (quasisyntax (x . (quasisyntax . x))))
|
||||
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Check srcloc on result of `syntax-local-value/immediate':
|
||||
|
||||
|
|
|
@ -195,8 +195,7 @@
|
|||
[(pair? l)
|
||||
(if (let ([a (car l)])
|
||||
(or (and (identifier? a)
|
||||
(or (free-identifier=? a unsyntax-id)
|
||||
(free-identifier=? a quasisyntax-id)))
|
||||
(free-identifier=? a unsyntax-id))
|
||||
(and (stx-pair? a)
|
||||
(let ([a (stx-car a)])
|
||||
(and (identifier? a)
|
||||
|
|
Loading…
Reference in New Issue
Block a user