diff options
Diffstat (limited to 'src/libexpr/eval.cc')
-rw-r--r-- | src/libexpr/eval.cc | 12 |
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); |