forked from lix-project/lix
* Sync with the trunk.
This commit is contained in:
commit
71dfe4b90b
|
@ -39,7 +39,7 @@ std::ostream & operator << (std::ostream & str, const Value & v)
|
||||||
str << v.path; // !!! escaping?
|
str << v.path; // !!! escaping?
|
||||||
break;
|
break;
|
||||||
case tNull:
|
case tNull:
|
||||||
str << "true";
|
str << "null";
|
||||||
break;
|
break;
|
||||||
case tAttrs: {
|
case tAttrs: {
|
||||||
str << "{ ";
|
str << "{ ";
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
#include "nixexpr.hh"
|
#include "nixexpr.hh"
|
||||||
#include "symbol-table.hh"
|
#include "symbol-table.hh"
|
||||||
|
#include "hash.hh"
|
||||||
|
|
||||||
typedef union _ATermList * ATermList;
|
typedef union _ATermList * ATermList;
|
||||||
|
|
||||||
|
@ -12,7 +13,6 @@ typedef union _ATermList * ATermList;
|
||||||
namespace nix {
|
namespace nix {
|
||||||
|
|
||||||
|
|
||||||
class Hash;
|
|
||||||
class EvalState;
|
class EvalState;
|
||||||
struct Env;
|
struct Env;
|
||||||
struct Value;
|
struct Value;
|
||||||
|
|
|
@ -481,7 +481,16 @@ void printMsg_(Verbosity level, const format & f)
|
||||||
else if (logType == ltEscapes && level != lvlInfo)
|
else if (logType == ltEscapes && level != lvlInfo)
|
||||||
prefix = "\033[" + escVerbosity(level) + "s";
|
prefix = "\033[" + escVerbosity(level) + "s";
|
||||||
string s = (format("%1%%2%\n") % prefix % f.str()).str();
|
string s = (format("%1%%2%\n") % prefix % f.str()).str();
|
||||||
writeToStderr((const unsigned char *) s.c_str(), s.size());
|
try {
|
||||||
|
writeToStderr((const unsigned char *) s.c_str(), s.size());
|
||||||
|
} catch (SysError & e) {
|
||||||
|
/* Ignore failing writes to stderr if we're in an exception
|
||||||
|
handler, otherwise throw an exception. We need to ignore
|
||||||
|
write errors in exception handlers to ensure that cleanup
|
||||||
|
code runs to completion if the other side of stderr has
|
||||||
|
been closed unexpectedly. */
|
||||||
|
if (!std::uncaught_exception()) throw;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -270,7 +270,6 @@ static DrvInfos filterBySelector(EvalState & state, const DrvInfos & allElems,
|
||||||
d = j->first.system == k->second.first.system ? 0 :
|
d = j->first.system == k->second.first.system ? 0 :
|
||||||
j->first.system == thisSystem ? 1 :
|
j->first.system == thisSystem ? 1 :
|
||||||
k->second.first.system == thisSystem ? -1 : 0;
|
k->second.first.system == thisSystem ? -1 : 0;
|
||||||
printMsg(lvlError, format("%1% %2% %3% %4%") % j->first.system % k->second.first.system % thisSystem % d);
|
|
||||||
if (d == 0)
|
if (d == 0)
|
||||||
d = comparePriorities(state, j->first, k->second.first);
|
d = comparePriorities(state, j->first, k->second.first);
|
||||||
if (d == 0)
|
if (d == 0)
|
||||||
|
|
Loading…
Reference in a new issue