diff options
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  | 
