don't rewrite quote

This commit is contained in:
Alex Shinn 2020-08-25 16:09:38 +09:00
parent 9d65c61350
commit 11852c6390
2 changed files with 5 additions and 1 deletions

View file

@ -235,6 +235,8 @@
(match-letrec (((x y) (list 1 (lambda () (list a x)))) (match-letrec (((x y) (list 1 (lambda () (list a x))))
((a b) (list 2 (lambda () (list x a))))) ((a b) (list 2 (lambda () (list x a)))))
(append (y) (b)))) (append (y) (b))))
(test "match-letrec quote" #t
(match-letrec (((x 'x) (list #t 'x))) x))
(cond-expand (cond-expand
(chibi (chibi

View file

@ -1047,7 +1047,9 @@
;; macros using syntax-rules" sent to comp.lang.scheme in Nov 2001. ;; macros using syntax-rules" sent to comp.lang.scheme in Nov 2001.
(define-syntax match-rewrite (define-syntax match-rewrite
(syntax-rules () (syntax-rules (quote)
((match-rewrite (quote x) ids (k ...))
(k ... (quote x)))
((match-rewrite (p . q) ids k) ((match-rewrite (p . q) ids k)
(match-rewrite p ids (match-rewrite2 q ids (match-cons k)))) (match-rewrite p ids (match-rewrite2 q ids (match-cons k))))
((match-rewrite () ids (k ...)) ((match-rewrite () ids (k ...))