diff options
Diffstat (limited to 'libbuild2/build/script')
-rw-r--r-- | libbuild2/build/script/parser.cxx | 2 | ||||
-rw-r--r-- | libbuild2/build/script/runner.cxx | 8 | ||||
-rw-r--r-- | libbuild2/build/script/script.cxx | 6 | ||||
-rw-r--r-- | libbuild2/build/script/script.hxx | 5 |
4 files changed, 19 insertions, 2 deletions
diff --git a/libbuild2/build/script/parser.cxx b/libbuild2/build/script/parser.cxx index c362776..95b835e 100644 --- a/libbuild2/build/script/parser.cxx +++ b/libbuild2/build/script/parser.cxx @@ -2826,7 +2826,7 @@ namespace build2 cmd, nullptr /* iteration_index */, li, ll, - cf, false /* last_cmd */); + cf); iss.exceptions (istream::badbit); } diff --git a/libbuild2/build/script/runner.cxx b/libbuild2/build/script/runner.cxx index 5d9764b..fc0fc05 100644 --- a/libbuild2/build/script/runner.cxx +++ b/libbuild2/build/script/runner.cxx @@ -143,7 +143,13 @@ namespace build2 (cf != nullptr && p.recall.string () == "for")); }) != expr.end ()) - build2::script::run (env, expr, ii, li, ll, cf); + { + build2::script::run (env, + expr, + ii, li, + ll, + cf, (cf != nullptr) /* replace_last_cmd */); + } else if (verb >= 2) text << expr; } diff --git a/libbuild2/build/script/script.cxx b/libbuild2/build/script/script.cxx index 0d96cc3..fba38a8 100644 --- a/libbuild2/build/script/script.cxx +++ b/libbuild2/build/script/script.cxx @@ -235,6 +235,12 @@ namespace build2 } } + void environment:: + sleep (const duration& d) + { + context.sched->sleep (d); + } + lookup environment:: lookup (const variable& var) const { diff --git a/libbuild2/build/script/script.hxx b/libbuild2/build/script/script.hxx index 08f1bf4..19f6d0b 100644 --- a/libbuild2/build/script/script.hxx +++ b/libbuild2/build/script/script.hxx @@ -189,6 +189,11 @@ namespace build2 virtual void create_temp_dir () override; + // Call the scheduler's sleep() function. + // + virtual void + sleep (const duration&) override; + // Variables. // public: |