comparison src/channel.c @ 13438:33eea5ce5415 v8.0.1593

patch 8.0.1593: :qall never exits with an active terminal window commit https://github.com/vim/vim/commit/25cdd9c33b21ddbd31321c075873bb225450d2d2 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Mar 10 20:28:12 2018 +0100 patch 8.0.1593: :qall never exits with an active terminal window Problem: :qall never exits with an active terminal window. Solution: Add a way to kill a job in a terminal window.
author Christian Brabandt <cb@256bit.org>
date Sat, 10 Mar 2018 20:30:04 +0100
parents fa198b71bab2
children 6faef782f50b
comparison
equal deleted inserted replaced
13437:02b3f719eacb 13438:33eea5ce5415
4744 } 4744 }
4745 else if (STRCMP(hi->hi_key, "term_rows") == 0) 4745 else if (STRCMP(hi->hi_key, "term_rows") == 0)
4746 { 4746 {
4747 if (!(supported2 & JO2_TERM_ROWS)) 4747 if (!(supported2 & JO2_TERM_ROWS))
4748 break; 4748 break;
4749 opt->jo_set |= JO2_TERM_ROWS; 4749 opt->jo_set2 |= JO2_TERM_ROWS;
4750 opt->jo_term_rows = get_tv_number(item); 4750 opt->jo_term_rows = get_tv_number(item);
4751 } 4751 }
4752 else if (STRCMP(hi->hi_key, "term_cols") == 0) 4752 else if (STRCMP(hi->hi_key, "term_cols") == 0)
4753 { 4753 {
4754 if (!(supported2 & JO2_TERM_COLS)) 4754 if (!(supported2 & JO2_TERM_COLS))
4755 break; 4755 break;
4756 opt->jo_set |= JO2_TERM_COLS; 4756 opt->jo_set2 |= JO2_TERM_COLS;
4757 opt->jo_term_cols = get_tv_number(item); 4757 opt->jo_term_cols = get_tv_number(item);
4758 } 4758 }
4759 else if (STRCMP(hi->hi_key, "vertical") == 0) 4759 else if (STRCMP(hi->hi_key, "vertical") == 0)
4760 { 4760 {
4761 if (!(supported2 & JO2_VERTICAL)) 4761 if (!(supported2 & JO2_VERTICAL))
4762 break; 4762 break;
4763 opt->jo_set |= JO2_VERTICAL; 4763 opt->jo_set2 |= JO2_VERTICAL;
4764 opt->jo_vertical = get_tv_number(item); 4764 opt->jo_vertical = get_tv_number(item);
4765 } 4765 }
4766 else if (STRCMP(hi->hi_key, "curwin") == 0) 4766 else if (STRCMP(hi->hi_key, "curwin") == 0)
4767 { 4767 {
4768 if (!(supported2 & JO2_CURWIN)) 4768 if (!(supported2 & JO2_CURWIN))
4769 break; 4769 break;
4770 opt->jo_set |= JO2_CURWIN; 4770 opt->jo_set2 |= JO2_CURWIN;
4771 opt->jo_curwin = get_tv_number(item); 4771 opt->jo_curwin = get_tv_number(item);
4772 } 4772 }
4773 else if (STRCMP(hi->hi_key, "hidden") == 0) 4773 else if (STRCMP(hi->hi_key, "hidden") == 0)
4774 { 4774 {
4775 if (!(supported2 & JO2_HIDDEN)) 4775 if (!(supported2 & JO2_HIDDEN))
4776 break; 4776 break;
4777 opt->jo_set |= JO2_HIDDEN; 4777 opt->jo_set2 |= JO2_HIDDEN;
4778 opt->jo_hidden = get_tv_number(item); 4778 opt->jo_hidden = get_tv_number(item);
4779 } 4779 }
4780 else if (STRCMP(hi->hi_key, "norestore") == 0) 4780 else if (STRCMP(hi->hi_key, "norestore") == 0)
4781 { 4781 {
4782 if (!(supported2 & JO2_NORESTORE)) 4782 if (!(supported2 & JO2_NORESTORE))
4783 break; 4783 break;
4784 opt->jo_set |= JO2_NORESTORE; 4784 opt->jo_set2 |= JO2_NORESTORE;
4785 opt->jo_term_norestore = get_tv_number(item); 4785 opt->jo_term_norestore = get_tv_number(item);
4786 }
4787 else if (STRCMP(hi->hi_key, "term_kill") == 0)
4788 {
4789 if (!(supported2 & JO2_TERM_KILL))
4790 break;
4791 opt->jo_set2 |= JO2_TERM_KILL;
4792 opt->jo_term_kill = get_tv_string_chk(item);
4786 } 4793 }
4787 #endif 4794 #endif
4788 else if (STRCMP(hi->hi_key, "env") == 0) 4795 else if (STRCMP(hi->hi_key, "env") == 0)
4789 { 4796 {
4790 if (!(supported2 & JO2_ENV)) 4797 if (!(supported2 & JO2_ENV))
4791 break; 4798 break;
4792 opt->jo_set |= JO2_ENV; 4799 opt->jo_set2 |= JO2_ENV;
4793 opt->jo_env = item->vval.v_dict; 4800 opt->jo_env = item->vval.v_dict;
4794 ++item->vval.v_dict->dv_refcount; 4801 ++item->vval.v_dict->dv_refcount;
4795 } 4802 }
4796 else if (STRCMP(hi->hi_key, "cwd") == 0) 4803 else if (STRCMP(hi->hi_key, "cwd") == 0)
4797 { 4804 {
4801 if (opt->jo_cwd == NULL || !mch_isdir(opt->jo_cwd)) 4808 if (opt->jo_cwd == NULL || !mch_isdir(opt->jo_cwd))
4802 { 4809 {
4803 EMSG2(_(e_invargval), "cwd"); 4810 EMSG2(_(e_invargval), "cwd");
4804 return FAIL; 4811 return FAIL;
4805 } 4812 }
4806 opt->jo_set |= JO2_CWD; 4813 opt->jo_set2 |= JO2_CWD;
4807 } 4814 }
4808 else if (STRCMP(hi->hi_key, "waittime") == 0) 4815 else if (STRCMP(hi->hi_key, "waittime") == 0)
4809 { 4816 {
4810 if (!(supported & JO_WAITTIME)) 4817 if (!(supported & JO_WAITTIME))
4811 break; 4818 break;