From 82296f81130aacb774fba4683e2e655e51c0a210 Mon Sep 17 00:00:00 2001 From: Alex Ameen Date: Tue, 9 May 2023 09:59:18 -0500 Subject: [PATCH] prevent double quotation --- src/libexpr/eval.cc | 8 +------- tests/eval.sh | 4 ++-- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/libexpr/eval.cc b/src/libexpr/eval.cc index af9d037ec..0b4243670 100644 --- a/src/libexpr/eval.cc +++ b/src/libexpr/eval.cc @@ -121,13 +121,7 @@ void Value::print(const SymbolTable & symbols, std::ostream & str, else { str << "{ "; 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); str << "; "; } diff --git a/tests/eval.sh b/tests/eval.sh index 8e694c327..0c1b2cf3a 100644 --- a/tests/eval.sh +++ b/tests/eval.sh @@ -19,7 +19,7 @@ nix eval --expr 'assert 1 + 2 == 3; true' [[ $(nix eval attr -f "./eval.nix") == '{ foo = "bar"; }' ]] [[ $(nix eval attr --json -f "./eval.nix") == '{"foo":"bar"}' ]] [[ $(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 [[ $(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 --json "./eval.nix") == '{"foo":"bar"}' ]] [[ $(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. ln -sfn cycle.nix $TEST_ROOT/cycle.nix