Handle renamed syntax-rules when expanding define-syntax

This commit is contained in:
Justin Ethier 2017-12-07 12:41:03 -05:00
parent f40232e9eb
commit 23e67294ec
2 changed files with 9 additions and 9 deletions

View file

@ -887,7 +887,7 @@
(trans (caddr exp))
(body (cadr trans)))
(cond
((tagged-list? 'syntax-rules trans) ;; TODO: what if syntax-rules is renamed?
((macro:syntax-rules? (env:lookup (car trans) env #f)) ;; Handles renamed 'syntax-rules' identifier
(_expand
`(define-syntax ,name ,(_expand trans env rename-env local-env))
env rename-env local-env))

View file

@ -4,14 +4,14 @@
; ((my-when test result1 result2 ...)
; (if test
; (begin result1 result2 ...)))))
;
;(define-syntax my-when2
; (syntax-rules ()
; ((my-when test result1 result2 ...)
; (list result2 ...))))
;
;;(write
;; (my-when2 #t 1))
(define-syntax my-when2
(syntax-rules ()
((my-when test result1 result2 ...)
(list result2 ...))))
(write
(my-when2 #t 1))
;
; (define my-when2*
; (lambda (expr$28 rename$29 compare$30)