diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2017-03-03 00:56:40 -0800 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2017-03-03 00:56:40 -0800 |
commit | fd5f104f287427fee885583bc398c137674e6af0 (patch) | |
tree | 151d1875fdbbc52fd992f53ee197f7070c5f73d1 /Macexp.scm | |
parent | 90889a692076f2c62486607d0354e0fca52364bc (diff) | |
download | scm-fd5f104f287427fee885583bc398c137674e6af0.tar.gz scm-fd5f104f287427fee885583bc398c137674e6af0.zip |
New upstream version 5f2upstream/5f2upstream
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 |