From 1f2042411a5343ad8bbdc8d2b1a75ce4f866a04c Mon Sep 17 00:00:00 2001 From: Timothee Cour Date: Thu, 19 Mar 2020 02:39:18 -0700 Subject: [PATCH] fix #13412 nim now recompiles for stdin input; SuccessX now configurable; can show whether it recompiled (#13506) * fix #13412 nim now recompiles for stdin input; SuccessX now indicates whether it recompiled --- compiler/extccomp.nim | 10 ++++++++++ compiler/lineinfos.nim | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/compiler/extccomp.nim b/compiler/extccomp.nim index ee921f4e16..5fc532cd89 100644 --- a/compiler/extccomp.nim +++ b/compiler/extccomp.nim @@ -1064,6 +1064,9 @@ proc writeJsonBuildInstructions*(conf: ConfigRef) = lit ",\L\"extraCmds\": " lit $(%* conf.extraCmds) + lit ",\L\"stdinInput\": " + lit $(%* conf.projectIsStdin) + if optRun in conf.globalOptions or isDefined(conf, "nimBetterRun"): lit ",\L\"cmdline\": " str conf.commandLine @@ -1090,6 +1093,13 @@ proc changeDetectedViaJsonBuildInstructions*(conf: ConfigRef; projectfile: Absol return true if hashNimExe() != data["nimexe"].getStr: return true + if not data.hasKey("stdinInput"): return true + let stdinInput = data["stdinInput"].getBool + if conf.projectIsStdin or stdinInput: + # could optimize by returning false if stdin input was the same, + # but I'm not sure how to get full stding input + return true + let depfilesPairs = data["depfiles"] doAssert depfilesPairs.kind == JArray for p in depfilesPairs: diff --git a/compiler/lineinfos.nim b/compiler/lineinfos.nim index 033a985136..680b193f96 100644 --- a/compiler/lineinfos.nim +++ b/compiler/lineinfos.nim @@ -101,7 +101,7 @@ const warnCycleCreated: "$1", warnUser: "$1", hintSuccess: "operation successful: $#", - # keep in sync with `pegSuccess` see testament.nim + # keep in sync with `testament.isSuccess` hintSuccessX: "$loc LOC; $sec sec; $mem; $build build; proj: $project; out: $output", hintCC: "CC: $1", hintLineTooLong: "line too long",