diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2017-03-03 00:56:40 -0800 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2017-08-02 00:09:46 -0700 |
commit | 879f4fa041cfdefee655eb877f1a91f86a9c62b7 (patch) | |
tree | bc68ac058e5d0a7cf8e7815cbe1070fd60e75589 /Macexp.scm | |
parent | d13fcf5c0bd68f67059b2561c28c40b55e1117a3 (diff) | |
download | scm-879f4fa041cfdefee655eb877f1a91f86a9c62b7.tar.gz scm-879f4fa041cfdefee655eb877f1a91f86a9c62b7.zip |
New upstream version 5f2
Diffstat (limited to 'Macexp.scm')
-rwxr-xr-x[-rw-r--r--] | Macexp.scm | 10 |
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 |