#| -*-Scheme-*-
-$Id: shared.scm,v 1.30 2005/06/04 05:58:19 cph Exp $
+$Id: shared.scm,v 1.31 2005/06/04 23:44:05 cph Exp $
Copyright 2001,2002,2003,2005 Massachusetts Institute of Technology
(define (make-empty-pointers)
(cons #f '()))
-(define (current-pointer pointers)
- (car pointers))
-
(define (current-pointer? identifier pointers)
(memq identifier (%current-pointers pointers)))
(operand (cadr expression))
(body (caddr (car expression))))
(let ((body (new-pointer body identifier pointers)))
- (if (current-pointer pointers)
+ (if (= (car (count-references (list identifier) body)) 0)
;; IDENTIFIER is an alias, so don't bind it.
body
`((LAMBDA (,identifier) ,body) ,operand))))))