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)) (trans (caddr exp))
(body (cadr trans))) (body (cadr trans)))
(cond (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 (_expand
`(define-syntax ,name ,(_expand trans env rename-env local-env)) `(define-syntax ,name ,(_expand trans env rename-env local-env))
env rename-env local-env)) env rename-env local-env))

View file

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