and, or, cond etc use syntax-rules, compile scheme through tree-il
[bpt/guile.git] / module / language / tree-il / analyze.scm
index 1bd8d15..55ca102 100644 (file)
          (let lp ((vars vars) (n 0))
            (if (null? vars)
                (hashq-set! allocation x
-                           (let ((nlocs (allocate! body (1+ level) n)))
+                           (let ((nlocs (- (allocate! body (1+ level) n) n)))
                              (cons nlocs (1+ (hashq-ref heap-indexes x -1)))))
                (let ((v (if (pair? vars) (car vars) vars)))
                  (let ((binder (hashq-ref heaps v)))