From a3c4dd32f8a36bafada36d7687bb49a29d85b523 Mon Sep 17 00:00:00 2001 From: Tokuno Date: Mon, 12 Sep 2016 22:32:04 +0900 Subject: [PATCH] Fix make-syntactic-closure make-syntactic-closure raises an error when it takes identifiers. The following session demonstrates the error. > (define-macro a (sc-macro-transformer (lambda (form use-env) 'foo))) #undefined > (a) error: attempted to set a non-object key '()' in a register --- contrib/10.macro/macro.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/10.macro/macro.scm b/contrib/10.macro/macro.scm index 759d410d..4b1d004f 100644 --- a/contrib/10.macro/macro.scm +++ b/contrib/10.macro/macro.scm @@ -62,7 +62,7 @@ ((f (lambda (var) (let loop ((free free)) (if (null? free) - (wrap free) + (wrap var) (if (identifier=? var (car free)) var (loop (cdr free))))))))