aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr/primops.cc
diff options
context:
space:
mode:
authorBen Burdette <bburdette@gmail.com>2020-06-19 13:44:08 -0600
committerBen Burdette <bburdette@gmail.com>2020-06-19 13:44:08 -0600
commit54e8f550c9d5cc88c1161035d366871bb82d4a0c (patch)
treedbd84d78a0a0d7e2b107561487b6d7e033174687 /src/libexpr/primops.cc
parent4d1a4f02178b1f77a4bcf2de0483500d89c1424c (diff)
addErrorTrace
Diffstat (limited to 'src/libexpr/primops.cc')
-rw-r--r--src/libexpr/primops.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc
index 7b80d76b9..791fef27d 100644
--- a/src/libexpr/primops.cc
+++ b/src/libexpr/primops.cc
@@ -471,7 +471,8 @@ static void prim_addErrorContext(EvalState & state, const Pos & pos, Value * * a
v = *args[1];
} catch (Error & e) {
PathSet context;
- e.addPrefix(format("%1%\n") % state.coerceToString(pos, *args[0], context));
+ // TODO: is this right, include this pos?? Test it. esp with LOC.
+ e.addTrace(pos, hintfmt("%1%") % state.coerceToString(pos, *args[0], context));
throw;
}
}
@@ -563,7 +564,7 @@ static void prim_derivationStrict(EvalState & state, const Pos & pos, Value * *
try {
drvName = state.forceStringNoCtx(*attr->value, pos);
} catch (Error & e) {
- e.addPrefix(fmt("while evaluating the derivation attribute 'name' at %1%:\n", posDrvName));
+ e.addTrace(posDrvName, hintfmt("while evaluating the derivation attribute 'name'"));
throw;
}
@@ -696,8 +697,9 @@ static void prim_derivationStrict(EvalState & state, const Pos & pos, Value * *
}
} catch (Error & e) {
- e.addPrefix(format("while evaluating the attribute '%1%' of the derivation '%2%' at %3%:\n")
- % key % drvName % posDrvName);
+ e.addTrace(posDrvName,
+ hintfmt("while evaluating the attribute '%1%' of the derivation '%2%'",
+ key, drvName));
throw;
}
}