about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libexpr/Makefile.am4
-rw-r--r--src/libexpr/primops.cc2
-rw-r--r--src/libexpr/value-to-xml.cc (renamed from src/libexpr/expr-to-xml.cc)2
-rw-r--r--src/libexpr/value-to-xml.hh (renamed from src/libexpr/expr-to-xml.hh)6
-rw-r--r--src/nix-instantiate/nix-instantiate.cc11
5 files changed, 15 insertions, 10 deletions
diff --git a/src/libexpr/Makefile.am b/src/libexpr/Makefile.am
index c5f487769b2c..99f742ffec40 100644
--- a/src/libexpr/Makefile.am
+++ b/src/libexpr/Makefile.am
@@ -2,12 +2,12 @@ pkglib_LTLIBRARIES = libexpr.la
 
 libexpr_la_SOURCES = \
  nixexpr.cc eval.cc primops.cc lexer-tab.cc parser-tab.cc \
- get-drvs.cc attr-path.cc expr-to-xml.cc common-opts.cc \
+ get-drvs.cc attr-path.cc value-to-xml.cc common-opts.cc \
  names.cc
 
 pkginclude_HEADERS = \
  nixexpr.hh eval.hh parser.hh lexer-tab.hh parser-tab.hh \
- get-drvs.hh attr-path.hh expr-to-xml.hh common-opts.hh \
+ get-drvs.hh attr-path.hh value-to-xml.hh common-opts.hh \
  names.hh nixexpr-ast.hh
 
 libexpr_la_LIBADD = ../libutil/libutil.la ../libstore/libstore.la \
diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc
index 5fa2418b5f90..74eb2b26d068 100644
--- a/src/libexpr/primops.cc
+++ b/src/libexpr/primops.cc
@@ -4,7 +4,7 @@
 #include "store-api.hh"
 #include "util.hh"
 #include "archive.hh"
-#include "expr-to-xml.hh"
+#include "value-to-xml.hh"
 #include "nixexpr-ast.hh"
 #include "parser.hh"
 #include "names.hh"
diff --git a/src/libexpr/expr-to-xml.cc b/src/libexpr/value-to-xml.cc
index ad68739c39c0..eff414aba3b5 100644
--- a/src/libexpr/expr-to-xml.cc
+++ b/src/libexpr/value-to-xml.cc
@@ -1,4 +1,4 @@
-#include "expr-to-xml.hh"
+#include "value-to-xml.hh"
 #include "xml-writer.hh"
 #include "nixexpr-ast.hh"
 #include "aterm.hh"
diff --git a/src/libexpr/expr-to-xml.hh b/src/libexpr/value-to-xml.hh
index 8f094185c4cc..7dfbe06d16c6 100644
--- a/src/libexpr/expr-to-xml.hh
+++ b/src/libexpr/value-to-xml.hh
@@ -1,5 +1,5 @@
-#ifndef __EXPR_TO_XML_H
-#define __EXPR_TO_XML_H
+#ifndef __VALUE_TO_XML_H
+#define __VALUE_TO_XML_H
 
 #include <string>
 #include <map>
@@ -14,4 +14,4 @@ void printValueAsXML(EvalState & state, bool strict,
     
 }
 
-#endif /* !__EXPR_TO_XML_H */
+#endif /* !__VALUE_TO_XML_H */
diff --git a/src/nix-instantiate/nix-instantiate.cc b/src/nix-instantiate/nix-instantiate.cc
index 2f41fa81b513..ebf1be5b9649 100644
--- a/src/nix-instantiate/nix-instantiate.cc
+++ b/src/nix-instantiate/nix-instantiate.cc
@@ -7,7 +7,7 @@
 #include "parser.hh"
 #include "get-drvs.hh"
 #include "attr-path.hh"
-#include "expr-to-xml.hh"
+#include "value-to-xml.hh"
 #include "util.hh"
 #include "store-api.hh"
 #include "common-opts.hh"
@@ -75,10 +75,15 @@ void processExpr(EvalState & state, const Strings & attrPaths,
         std::cout << format("%1%\n") % canonicaliseExpr(e);
     else {
         Value v;
+        PathSet context;
         state.eval(e, v);
-        if (strict) state.strictForceValue(v);
         if (evalOnly)
-            std::cout << v << std::endl;
+            if (xmlOutput)
+                printValueAsXML(state, strict, v, std::cout, context);
+            else {
+                if (strict) state.strictForceValue(v);
+                std::cout << v << std::endl;
+            }
         else {
             DrvInfos drvs;
             getDerivations(state, v, "", autoArgs, drvs);