libexpr: handle debug trace frames as parent pointer list

this also fixes a debugger bug where leaving the debugger does not clean
up old debugger state completely. in such cases the fake frame withFrame
created was left behind after the corresponding caller frame was unwound

Change-Id: I45adcd116276b03b2f87076518c9eae6fe844e06
This commit is contained in:
eldritch horrors
2024-11-28 15:12:22 +00:00
parent 985afeeb4d
commit 3593f5555e
7 changed files with 145 additions and 65 deletions
+4
View File
@@ -7,6 +7,7 @@
namespace nix {
struct DebugTrace;
struct Env;
struct Expr;
struct Value;
@@ -19,6 +20,9 @@ class EvalError : public Error
{
template<class T>
friend class EvalErrorBuilder;
std::shared_ptr<const DebugTrace> frame;
public:
EvalState & state;