add $pipestatus support

This commit is contained in:
zabereer
2019-02-24 21:45:59 -08:00
committed by ridiculousfish
parent e330dafd24
commit 2c8abdf5cb
16 changed files with 285 additions and 5 deletions

View File

@@ -367,10 +367,12 @@ static void input_mapping_execute(const input_mapping_t &m, bool allow_commands)
// FIXME(snnw): if commands add stuff to input queue (e.g. commandline -f execute), we won't
// see that until all other commands have also been run.
int last_status = proc_get_last_status();
const auto& last_job_statuses = proc_get_last_job_statuses();
for (const wcstring &cmd : m.commands) {
parser_t::principal_parser().eval(cmd, io_chain_t(), TOP);
}
proc_set_last_status(last_status);
proc_set_last_job_statuses(std::move(last_job_statuses));
input_common_next_ch(R_NULL);
} else {
// Invalid binding, mixed commands and functions. We would need to execute these one by