aboutsummaryrefslogtreecommitdiffstats
path: root/Macexp.scm
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2017-03-03 00:56:40 -0800
committerBryan Newbold <bnewbold@robocracy.org>2017-08-02 00:09:46 -0700
commit879f4fa041cfdefee655eb877f1a91f86a9c62b7 (patch)
treebc68ac058e5d0a7cf8e7815cbe1070fd60e75589 /Macexp.scm
parentd13fcf5c0bd68f67059b2561c28c40b55e1117a3 (diff)
downloadscm-879f4fa041cfdefee655eb877f1a91f86a9c62b7.tar.gz
scm-879f4fa041cfdefee655eb877f1a91f86a9c62b7.zip
New upstream version 5f2
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