Bring some consistency and rationale to debug log levels

* Debug level 3: describe all commands being executed (this is, after all,
a shell and one can argue that this is the most important debug
information avaliable)
* Debug level 4: details of execution, mainly fork vs no-fork and io
handling

Also introduced j->preview() to print a short descriptor of the job
based on the head of the first process so we don't overwhelm with
needless repitition, but also so that we don't have to rely on
distinguishing between repeated, non-unique/non-monotonic job ids that
are often recycled within a single "execution cycle" (pressing enter
once).
This commit is contained in:
Mahmoud Al-Qudsi
2018-10-02 11:19:56 -05:00
parent 0ff24b35a1
commit e753581df7
6 changed files with 32 additions and 21 deletions

View File

@@ -33,7 +33,7 @@ const wcstring_list_t dflt_pathsv({L"/bin", L"/usr/bin", PREFIX L"/bin"});
static bool path_get_path_core(const wcstring &cmd, wcstring *out_path,
const maybe_t<env_var_t> &bin_path_var) {
debug(3, L"path_get_path( '%ls' )", cmd.c_str());
debug(5, L"path_get_path( '%ls' )", cmd.c_str());
// If the command has a slash, it must be an absolute or relative path and thus we don't bother
// looking for a matching command.
@@ -124,7 +124,7 @@ bool path_get_path(const wcstring &cmd, wcstring *out_path) {
}
wcstring_list_t path_get_paths(const wcstring &cmd) {
debug(3, L"path_get_paths('%ls')", cmd.c_str());
debug(5, L"path_get_paths('%ls')", cmd.c_str());
wcstring_list_t paths;
// If the command has a slash, it must be an absolute or relative path and thus we don't bother