-(defun lookup-variable (symbol env)
- (or (lookup-in-lexenv symbol env 'variable)
- (lookup-in-lexenv symbol *environment* 'variable)
- (let ((name (symbol-name symbol))
- (binding (make-binding symbol 'special-variable (gvarname symbol) nil)))
- (push-to-lexenv binding *environment* 'variable)
- (push (lambda ()
- (let ((b (lookup-in-lexenv symbol *environment* 'variable)))
- (unless (binding-declared b)
- (error (concat "Undefined variable `" name "'")))))
- *compilation-unit-checks*)
- binding)))
-
-(defun lookup-variable-translation (symbol env)
- (binding-translation (lookup-variable symbol env)))
-
-(defun extend-local-env (args env)
- (let ((new (copy-lexenv env)))
+(defun translate-variable (symbol)
+ (binding-translation (lookup-in-lexenv symbol *environment* 'variable)))
+
+(defun extend-local-env (args)
+ (let ((new (copy-lexenv *environment*)))