aboutsummaryrefslogtreecommitdiff
path: root/src/libcmd
diff options
context:
space:
mode:
authoralois31 <alois1@gmx-topmail.de>2024-10-23 15:20:51 +0000
committerGerrit Code Review <gerrit@localhost>2024-10-23 15:20:51 +0000
commit2734a9cf94debc6baef4e7d4d9fa28cc28f5b31d (patch)
treeba6be97cc5ac268941b1c8ac10507786a720357c /src/libcmd
parent5f1344dd8aec59ce654a0fac30b1842e2e68299c (diff)
parent689eb45630a183f0fbbd8864cb7a3c7cb1704451 (diff)
Merge changes I29e66ad8,I77ea62cd,I7cd58d92 into mainHEADmain
* changes: treewide: make more settings conditionally available libstore/build: only send overridden settings to the build hook treewide: consistently mark overridden settings as such
Diffstat (limited to 'src/libcmd')
-rw-r--r--src/libcmd/common-eval-args.cc2
-rw-r--r--src/libcmd/installables.cc4
-rw-r--r--src/libcmd/repl.cc4
3 files changed, 5 insertions, 5 deletions
diff --git a/src/libcmd/common-eval-args.cc b/src/libcmd/common-eval-args.cc
index cbb7edbdd..089ad31d9 100644
--- a/src/libcmd/common-eval-args.cc
+++ b/src/libcmd/common-eval-args.cc
@@ -137,7 +137,7 @@ MixEvalArgs::MixEvalArgs()
.description = "Allow access to mutable paths and repositories.",
.category = category,
.handler = {[&]() {
- evalSettings.pureEval = false;
+ evalSettings.pureEval.override(false);
}},
});
diff --git a/src/libcmd/installables.cc b/src/libcmd/installables.cc
index 711cf1b07..b81d4e0fd 100644
--- a/src/libcmd/installables.cc
+++ b/src/libcmd/installables.cc
@@ -212,7 +212,7 @@ void SourceExprCommand::completeInstallable(AddCompletions & completions, std::s
if (file) {
completions.setType(AddCompletions::Type::Attrs);
- evalSettings.pureEval = false;
+ evalSettings.pureEval.override(false);
auto state = getEvalState();
Expr & e = state->parseExprFromFile(
resolveExprPath(state->checkSourcePath(lookupFileArg(*state, *file)))
@@ -435,7 +435,7 @@ Installables SourceExprCommand::parseInstallables(
throw UsageError("'--file' and '--expr' are exclusive");
// FIXME: backward compatibility hack
- if (file) evalSettings.pureEval = false;
+ if (file) evalSettings.pureEval.override(false);
auto state = getEvalState();
auto vFile = state->allocValue();
diff --git a/src/libcmd/repl.cc b/src/libcmd/repl.cc
index ce19bc1eb..9d7fd47dc 100644
--- a/src/libcmd/repl.cc
+++ b/src/libcmd/repl.cc
@@ -817,10 +817,10 @@ ProcessLineResult NixRepl::processLine(std::string line)
else if (command == ":te" || command == ":trace-enable") {
if (arg == "false" || (arg == "" && loggerSettings.showTrace)) {
std::cout << "not showing error traces\n";
- loggerSettings.showTrace = false;
+ loggerSettings.showTrace.override(false);
} else if (arg == "true" || (arg == "" && !loggerSettings.showTrace)) {
std::cout << "showing error traces\n";
- loggerSettings.showTrace = true;
+ loggerSettings.showTrace.override(true);
} else {
throw Error("unexpected argument '%s' to %s", arg, command);
};