aboutsummaryrefslogtreecommitdiff
path: root/eval.cc
diff options
context:
space:
mode:
Diffstat (limited to 'eval.cc')
-rw-r--r--eval.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/eval.cc b/eval.cc
index 8cd7afd..cf3f859 100644
--- a/eval.cc
+++ b/eval.cc
@@ -391,6 +391,15 @@ Var* Evaluator::LookupVar(Symbol name) {
return LookupVarGlobal(name);
}
+Var* Evaluator::PeekVar(Symbol name) {
+ if (current_scope_) {
+ Var* v = current_scope_->Peek(name);
+ if (v->IsDefined())
+ return v;
+ }
+ return name.PeekGlobalVar();
+}
+
Var* Evaluator::LookupVarInCurrentScope(Symbol name) {
if (current_scope_) {
return current_scope_->Lookup(name);