summaryrefslogtreecommitdiff
path: root/src/Script
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2026-01-06 22:29:07 +0100
committerRoman Smrž <roman.smrz@seznam.cz>2026-01-07 22:39:03 +0100
commit401b4c233d12763853877d4c31a2cf4342ca87b6 (patch)
treef6316d50ff413c73776f9d6c697deaef369cb1db /src/Script
parent0c21217fa599a7496a17d22c5105ef584785c350 (diff)
Call stack for the ‘expect’ statement
Diffstat (limited to 'src/Script')
-rw-r--r--src/Script/Expr.hs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/Script/Expr.hs b/src/Script/Expr.hs
index bd84a70..1a0f458 100644
--- a/src/Script/Expr.hs
+++ b/src/Script/Expr.hs
@@ -20,6 +20,7 @@ module Script.Expr (
Traced(..), EvalTrace, CallStack(..), VarNameSelectors, gatherVars,
AppAnnotation(..),
+ callStackVarName, callStackFqVarName,
module Script.Var,
@@ -179,7 +180,7 @@ eval = \case
gdefs <- askGlobalDefs
dict <- askDictionary
return $ FunctionType $ \stack _ ->
- runSimpleEval (eval expr) gdefs (( callStackVarName, someConstValue stack ) : dict)
+ runSimpleEval (eval expr) gdefs (( callStackVarName, someConstValue stack ) : filter ((callStackVarName /=) . fst) dict)
FunctionEval sline efun -> do
vars <- gatherVars efun
CallStack cs <- maybe (return $ CallStack []) (fromSomeVarValue (CallStack []) callStackFqVarName) =<< tryLookupVar callStackFqVarName