quasisyntax: fix reporting for misused unsyntax[-splicing]
Closes PR 14652
This commit is contained in:
parent
0e4db0a7f0
commit
4c8084e5d8
|
@ -1794,6 +1794,13 @@
|
|||
(quasisyntax #s(PS a (unsyntax b) (unsyntax-splicing ds))))
|
||||
|#))
|
||||
|
||||
(syntax-test #'(quasisyntax unsyntax))
|
||||
(syntax-test #'(quasisyntax (unsyntax)))
|
||||
(syntax-test #'(quasisyntax (unsyntax 1 2)))
|
||||
(syntax-test #'(quasisyntax unsyntax-splicing))
|
||||
(syntax-test #'(quasisyntax (unsyntax-splicing)))
|
||||
(syntax-test #'(quasisyntax (unsyntax-splicing 1 2)))
|
||||
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Check preservation of properties by `quasisyntax'
|
||||
|
||||
|
|
|
@ -155,6 +155,15 @@
|
|||
"misuse within quasisyntax"
|
||||
orig-stx
|
||||
stx)]
|
||||
[(us . _)
|
||||
(and (identifier? #'us)
|
||||
(or (free-identifier=? #'us unsyntax-id)
|
||||
(free-identifier=? #'us unsyntax-splicing-id)))
|
||||
(raise-syntax-error
|
||||
#f
|
||||
"misuse within quasisyntax"
|
||||
orig-stx
|
||||
stx)]
|
||||
[(qs x)
|
||||
(and (identifier? #'qs)
|
||||
(free-identifier=? #'qs quasisyntax-id))
|
||||
|
|
Loading…
Reference in New Issue
Block a user