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?
|
||||
break;
|
||||
case tNull:
|
||||
str << "true";
|
||||
str << "null";
|
||||
break;
|
||||
case tAttrs: {
|
||||
str << "{ ";
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
#include "nixexpr.hh"
|
||||
#include "symbol-table.hh"
|
||||
#include "hash.hh"
|
||||
|
||||
typedef union _ATermList * ATermList;
|
||||
|
||||
|
@ -12,7 +13,6 @@ typedef union _ATermList * ATermList;
|
|||
namespace nix {
|
||||
|
||||
|
||||
class Hash;
|
||||
class EvalState;
|
||||
struct Env;
|
||||
struct Value;
|
||||
|
|
|
@ -481,7 +481,16 @@ void printMsg_(Verbosity level, const format & f)
|
|||
else if (logType == ltEscapes && level != lvlInfo)
|
||||
prefix = "\033[" + escVerbosity(level) + "s";
|
||||
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 :
|
||||
j->first.system == thisSystem ? 1 :
|
||||
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)
|
||||
d = comparePriorities(state, j->first, k->second.first);
|
||||
if (d == 0)
|
||||
|
|
Loading…
Reference in a new issue