aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr/eval.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/libexpr/eval.cc')
-rw-r--r--src/libexpr/eval.cc12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/libexpr/eval.cc b/src/libexpr/eval.cc
index 2a6a89ddb..055c0ca3f 100644
--- a/src/libexpr/eval.cc
+++ b/src/libexpr/eval.cc
@@ -414,6 +414,16 @@ EvalState::EvalState(
, sPath(symbols.create("path"))
, sPrefix(symbols.create("prefix"))
, sOutputSpecified(symbols.create("outputSpecified"))
+ , exprSymbols{
+ .sub = symbols.create("__sub"),
+ .lessThan = symbols.create("__lessThan"),
+ .mul = symbols.create("__mul"),
+ .div = symbols.create("__div"),
+ .or_ = symbols.create("or"),
+ .findFile = symbols.create("__findFile"),
+ .nixPath = symbols.create("__nixPath"),
+ .body = symbols.create("body")
+ }
, repair(NoRepair)
, emptyBindings(0)
, derivationInternal(rootPath(CanonPath("/builtin/derivation.nix")))
@@ -2815,7 +2825,7 @@ Expr * EvalState::parse(
const SourcePath & basePath,
std::shared_ptr<StaticEnv> & staticEnv)
{
- auto result = parseExprFromBuf(text, length, origin, basePath, symbols, positions);
+ auto result = parseExprFromBuf(text, length, origin, basePath, symbols, positions, exprSymbols);
result->bindVars(*this, staticEnv);