From 6e9e25ca34317fcc0946fbc9f2cbbc7c11297932 Mon Sep 17 00:00:00 2001 From: blueloveTH Date: Fri, 10 May 2024 14:30:15 +0800 Subject: [PATCH] some fix --- src/ceval.cpp | 6 +++--- tests/43_eval.py | 10 ++++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/ceval.cpp b/src/ceval.cpp index a3b8d661..1a63477d 100644 --- a/src/ceval.cpp +++ b/src/ceval.cpp @@ -268,7 +268,7 @@ __NEXT_STEP:; PK_DEBUG_ASSERT(func._closure != nullptr); func._closure->set(_name, _0); }else{ - vm->UnboundLocalError(_name); + vm->NameError(_name); } } }else{ @@ -323,9 +323,9 @@ __NEXT_STEP:; if(func.decl == __dynamic_func_decl){ PK_DEBUG_ASSERT(func._closure != nullptr); bool ok = func._closure->del(_name); - if(!ok) vm->UnboundLocalError(_name); + if(!ok) vm->NameError(_name); }else{ - vm->UnboundLocalError(_name); + vm->NameError(_name); } } }else{ diff --git a/tests/43_eval.py b/tests/43_eval.py index 991b0745..633485df 100644 --- a/tests/43_eval.py +++ b/tests/43_eval.py @@ -52,3 +52,13 @@ assert globals == {'a': 1} exec('a=2', globals) assert globals == {'a': 2} + +globals = {'a': 2} +locals = {'b': 3} +assert eval('a*b', globals, locals) == 6 + +try: + exec('a*b*c', globals, locals) + exit(1) +except NameError: + pass