summaryrefslogtreecommitdiff
path: root/module/language/scheme
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2009-03-09 20:52:45 +0100
committerAndy Wingo <wingo@pobox.com>2009-04-21 23:02:38 +0200
commitae6bba7f9c5fd712b3177b067a03e8e8277a94c3 (patch)
tree2b9f14d408fa06ed0243e6fba6a48e8dcd538e49 /module/language/scheme
parentb7e6589fff9fe85c46519ba20d45bf599ea56ffd (diff)
downloadguile-ae6bba7f9c5fd712b3177b067a03e8e8277a94c3.tar.gz
commit some tweaks to expand.scm, likely obviated by syncase though
* module/language/scheme/expand.scm (re-annotate, expand): A couple of speculative cases for dealing with syncase better -- but all of this code is likely to go.
Diffstat (limited to 'module/language/scheme')
-rw-r--r--module/language/scheme/expand.scm6
1 files changed, 3 insertions, 3 deletions
diff --git a/module/language/scheme/expand.scm b/module/language/scheme/expand.scm
index 18dc032c9..2ffefb318 100644
--- a/module/language/scheme/expand.scm
+++ b/module/language/scheme/expand.scm
@@ -37,7 +37,7 @@
(define (acddr x) (acdr (acdr x)))
(define (aloc x) (and (annotation? x) (annotation-source x)))
(define (re-annotate x y)
- (if (annotation? x)
+ (if (and (annotation? x) (not (annotation? y)))
(make-annotation y (annotation-source x))
y))
(define-macro (-> exp) `(re-annotate x ,exp))
@@ -77,8 +77,8 @@
(sc-expand3 (@@ (ice-9 syncase) sc-expand3)))
(re-expand
(with-fluids ((eec (module-eval-closure mod)))
- ;; fixme
- (sc-expand3 (deannotate exp) 'c '(compile load eval))))))
+ ;; fixme -- use ewes fluid?
+ (sc-expand3 exp 'c '(compile load eval))))))
((primitive-macro? val)
(syntax-error (aloc x) "unhandled primitive macro" head))