aboutsummaryrefslogtreecommitdiffstats
path: root/Macexp.scm
diff options
context:
space:
mode:
Diffstat (limited to 'Macexp.scm')
-rwxr-xr-x[-rw-r--r--]Macexp.scm10
1 files changed, 7 insertions, 3 deletions
diff --git a/Macexp.scm b/Macexp.scm
index bb0e877..9b217a3 100644..100755
--- a/Macexp.scm
+++ b/Macexp.scm
@@ -182,7 +182,8 @@
(genname name)
name)
(genname (identifier->symbol name)))))
- identity))
+ (lambda (name env)
+ name)))
;; Local bindings -> (identifier pretty-name (usage-context ...))
;; This will change.
@@ -492,13 +493,15 @@
(cond
((identifier? form)
(let ((expanded (@macroexpand1 form env)))
- (cond ((eq? form expanded) form)
+ (cond ((eq? expanded form)
+ form)
((not expanded)
(let* ((b (lookup form env))
(name (binding->name b)))
(binding-add-context! b context)
name))
- (else expanded))))
+ (else
+ (expand expanded env context)))))
((number? form) form)
((char? form) form)
((boolean? form) form)
@@ -541,6 +544,7 @@
(memq 'verbose opt)))
;; Debugging fodder.
+#+(or)
(begin
(define (read* filename)
(call-with-input-file filename