Mercurial > vim
view src/proto/ex_eval.pro @ 15675:01890a3caefd v8.1.0845
patch 8.1.0845: having job_status() free the job causes problems
commit https://github.com/vim/vim/commit/2a4857a1fcf1d188e5b985ac21bcfc532eddde94
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Jan 29 22:29:07 2019 +0100
patch 8.1.0845: having job_status() free the job causes problems
Problem: Having job_status() free the job causes problems.
Solution: Do not actually free the job or terminal yet, put it in a list and
free it a bit later. Do not use a terminal after checking the job
status. (closes #3873)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 29 Jan 2019 22:30:06 +0100 |
parents | 55ccc2d353bd |
children | 072efa9ca875 |
line wrap: on
line source
/* ex_eval.c */ int aborting(void); void update_force_abort(void); int should_abort(int retcode); int aborted_in_try(void); int cause_errthrow(char_u *mesg, int severe, int *ignore); void free_global_msglist(void); void do_errthrow(struct condstack *cstack, char_u *cmdname); int do_intthrow(struct condstack *cstack); char *get_exception_string(void *value, except_type_T type, char_u *cmdname, int *should_free); void discard_current_exception(void); void report_make_pending(int pending, void *value); void report_resume_pending(int pending, void *value); void report_discard_pending(int pending, void *value); void ex_if(exarg_T *eap); void ex_endif(exarg_T *eap); void ex_else(exarg_T *eap); void ex_while(exarg_T *eap); void ex_continue(exarg_T *eap); void ex_break(exarg_T *eap); void ex_endwhile(exarg_T *eap); void ex_throw(exarg_T *eap); void do_throw(struct condstack *cstack); void ex_try(exarg_T *eap); void ex_catch(exarg_T *eap); void ex_finally(exarg_T *eap); void ex_endtry(exarg_T *eap); void enter_cleanup(cleanup_T *csp); void leave_cleanup(cleanup_T *csp); int cleanup_conditionals(struct condstack *cstack, int searched_cond, int inclusive); void rewind_conditionals(struct condstack *cstack, int idx, int cond_type, int *cond_level); void ex_endfunction(exarg_T *eap); int has_loop_cmd(char_u *p); /* vim: set ft=c : */