From 46582103dcaebac7d095d721a1fcbb9682118b08 Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Thu, 11 Jul 2013 15:30:14 +0200 Subject: PREPARE-REF: Support special variables. --- sb-eval2.lisp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sb-eval2.lisp b/sb-eval2.lisp index 763b3fc..6301be9 100644 --- a/sb-eval2.lisp +++ b/sb-eval2.lisp @@ -93,8 +93,12 @@ new-context)) (defun prepare-ref (var context) - (declare (ignore context)) - (lambda (env) (cdr (assoc var (environment-variables env) :test #'eq)))) + (if (context-var-lexical-p context var) + (lambda (env) + (cdr (assoc var (environment-variables env) :test #'eq))) + (lambda (env) + (declare (ignore env)) + (symbol-value var)))) (defun prepare-function-ref (f context) (declare (ignore context)) -- cgit v1.2.3