prevent double quotation

This commit is contained in:
Alex Ameen 2023-05-09 09:59:18 -05:00
parent b72bc4a972
commit 82296f8113
No known key found for this signature in database
GPG key ID: 6EAC957F8EEB55C0
2 changed files with 3 additions and 9 deletions

View file

@ -121,13 +121,7 @@ void Value::print(const SymbolTable & symbols, std::ostream & str,
else { else {
str << "{ "; str << "{ ";
for (auto & i : attrs->lexicographicOrder(symbols)) { for (auto & i : attrs->lexicographicOrder(symbols)) {
// Quote reserved keywords so that the output can be
// re-evaluated later without upsetting the lexer.
if (isReservedKeyword(symbols[i->name])) {
str << "\"" << symbols[i->name] << "\" = ";
} else {
str << symbols[i->name] << " = "; str << symbols[i->name] << " = ";
}
i->value->print(symbols, str, seen); i->value->print(symbols, str, seen);
str << "; "; str << "; ";
} }

View file

@ -19,7 +19,7 @@ nix eval --expr 'assert 1 + 2 == 3; true'
[[ $(nix eval attr -f "./eval.nix") == '{ foo = "bar"; }' ]] [[ $(nix eval attr -f "./eval.nix") == '{ foo = "bar"; }' ]]
[[ $(nix eval attr --json -f "./eval.nix") == '{"foo":"bar"}' ]] [[ $(nix eval attr --json -f "./eval.nix") == '{"foo":"bar"}' ]]
[[ $(nix eval int -f - < "./eval.nix") == 123 ]] [[ $(nix eval int -f - < "./eval.nix") == 123 ]]
[[ $(nix eval --expr '{"assert"=1;bar=2;}') == '{ "assert" = 1; bar = 2; }' ]] [[ "$(nix eval --expr '{"assert"=1;bar=2;}')" == '{ "assert" = 1; bar = 2; }' ]]
# Check if toFile can be utilized during restricted eval # Check if toFile can be utilized during restricted eval
[[ $(nix eval --restrict-eval --expr 'import (builtins.toFile "source" "42")') == 42 ]] [[ $(nix eval --restrict-eval --expr 'import (builtins.toFile "source" "42")') == 42 ]]
@ -30,7 +30,7 @@ nix-instantiate --eval -E 'assert 1 + 2 == 3; true'
[[ $(nix-instantiate -A attr --eval "./eval.nix") == '{ foo = "bar"; }' ]] [[ $(nix-instantiate -A attr --eval "./eval.nix") == '{ foo = "bar"; }' ]]
[[ $(nix-instantiate -A attr --eval --json "./eval.nix") == '{"foo":"bar"}' ]] [[ $(nix-instantiate -A attr --eval --json "./eval.nix") == '{"foo":"bar"}' ]]
[[ $(nix-instantiate -A int --eval - < "./eval.nix") == 123 ]] [[ $(nix-instantiate -A int --eval - < "./eval.nix") == 123 ]]
[[ $(nix-instantiate --eval -E '{"assert"=1;bar=2;}') == '{ "assert" = 1; bar = 2; }' ]] [[ "$(nix-instantiate --eval -E '{"assert"=1;bar=2;}')" == '{ "assert" = 1; bar = 2; }' ]]
# Check that symlink cycles don't cause a hang. # Check that symlink cycles don't cause a hang.
ln -sfn cycle.nix $TEST_ROOT/cycle.nix ln -sfn cycle.nix $TEST_ROOT/cycle.nix