# # # patch "automate.cc" # from [1a6613c0d4c8cdf4e465450c09abe62d1ac9abbf] # to [d2310913a872a99ebf8fa32293d8a4a33da5c5f1] # # patch "cmd_automate.cc" # from [c817ab722bc060b3117e28c9700147591ecf20e4] # to [4efdfc587230a39b4935009ae8111ff16c53ad4d] # # patch "database.cc" # from [bb91f1c21eb21d4b8f056b7a9b1a33f8eeb33424] # to [3d9d4113d29fb9d19293f9bb9c705552fc7685d7] # # patch "dates.cc" # from [0d486529ce62dfbb22eec38affcd37be473d5325] # to [77cb6fa6e8b3a0dcfbe8511f617a2d76ac999b02] # ============================================================ --- automate.cc 1a6613c0d4c8cdf4e465450c09abe62d1ac9abbf +++ automate.cc d2310913a872a99ebf8fa32293d8a4a33da5c5f1 @@ -2308,12 +2308,12 @@ CMD_AUTOMATE(lua, "LUA_FUNCTION [ARG1 [A "", options::opts::none) { - N(args.size() >= 1, - F("wrong argument count")); + E(args.size() >= 1, origin::user, + F("wrong argument count")); std::string func = idx(args, 0)(); - N(app.lua.hook_exists(func), + E(app.lua.hook_exists(func), origin::user, F("lua function '%s' does not exist") % func); std::vector func_args; @@ -2326,7 +2326,7 @@ CMD_AUTOMATE(lua, "LUA_FUNCTION [ARG1 [A } std::string out; - N(app.lua.hook_hook_wrapper(func, func_args, out), + E(app.lua.hook_hook_wrapper(func, func_args, out), origin::user, F("lua call '%s' failed") % func); // the output already contains a trailing newline, so we don't add ============================================================ --- cmd_automate.cc c817ab722bc060b3117e28c9700147591ecf20e4 +++ cmd_automate.cc 4efdfc587230a39b4935009ae8111ff16c53ad4d @@ -238,7 +238,7 @@ public: { cmdline.push_back(item); } - E(cmdline.size() > 0, + E(cmdline.size() > 0, origin::user, F("Bad input to automate stdio: command name is missing")); return true; } @@ -436,7 +436,7 @@ CMD_AUTOMATE(stdio, "", ar.reset(); continue; } - catch (informative_failure & f) + catch (recoverable_failure & f) { os.set_err(1); os<value()); } - catch (informative_failure & e) + catch (recoverable_failure & e) { // simply skip dates we cannot parse W(F("invalid date '%s' for revision %s; skipped") ============================================================ --- dates.cc 0d486529ce62dfbb22eec38affcd37be473d5325 +++ dates.cc 77cb6fa6e8b3a0dcfbe8511f617a2d76ac999b02 @@ -334,7 +334,7 @@ date_t::now() { std::time_t t = std::time(0); s64 tu = t * 1000 + get_epoch_offset(); - E(valid_ms_count(tu), + E(valid_ms_count(tu), origin::system, F("current date '%s' is outside usable range\n" "(your system clock may not be set correctly)") % std::ctime(&t)); @@ -615,7 +615,7 @@ UNIT_TEST(date, from_string) L(FL("date_t: %s -> %s") % (x) % s_); \ UNIT_TEST_CHECK(s_ == (y)); \ } while (0) -#define NO(x) UNIT_TEST_CHECK_THROW(date_t(x), informative_failure) +#define NO(x) UNIT_TEST_CHECK_THROW(date_t(x), recoverable_failure) // canonical format OK("2007-03-01T18:41:13", "2007-03-01T18:41:13");