fixed a bug in using a precompiled variable transformers.

This commit is contained in:
Abdulaziz Ghuloum 2009-10-16 09:54:14 +03:00
parent ad0612905a
commit 858198b886
2 changed files with 5 additions and 2 deletions

View File

@ -1 +1 @@
1858
1859

View File

@ -2713,7 +2713,6 @@
(lambda (p e r) (do-macro-call (local-macro-transformer p) e r)))
(define (chi-global-macro p e r)
;;; FIXME: does not handle macro!?
(let ((lib (car p))
(loc (cdr p)))
(unless (eq? lib '*interaction*)
@ -2722,6 +2721,10 @@
(let ((transformer
(cond
((procedure? x) x)
((and (pair? x)
(eq? (car x) 'macro!)
(procedure? (cdr x)))
(cdr x))
(else (assertion-violation 'chi-global-macro
"BUG: not a procedure" x)))))
(do-macro-call transformer e r)))))