comparison src/channel.c @ 13284:a69636c63103 v8.0.1516

patch 8.0.1516: errors for job options are not very specific commit https://github.com/vim/vim/commit/b3292fa2d362b064ff8a115fc0ad794c1f1265d7 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Feb 13 15:17:58 2018 +0100 patch 8.0.1516: errors for job options are not very specific Problem: Errors for job options are not very specific. Solution: Add more specific error messages.
author Christian Brabandt <cb@256bit.org>
date Tue, 13 Feb 2018 15:30:07 +0100
parents ac42c4b11dbc
children fa198b71bab2
comparison
equal deleted inserted replaced
13283:9fa6ae3de9ed 13284:a69636c63103
4456 4456
4457 if (tv->v_type == VAR_UNKNOWN) 4457 if (tv->v_type == VAR_UNKNOWN)
4458 return OK; 4458 return OK;
4459 if (tv->v_type != VAR_DICT) 4459 if (tv->v_type != VAR_DICT)
4460 { 4460 {
4461 EMSG(_(e_invarg)); 4461 EMSG(_(e_dictreq));
4462 return FAIL; 4462 return FAIL;
4463 } 4463 }
4464 dict = tv->vval.v_dict; 4464 dict = tv->vval.v_dict;
4465 if (dict == NULL) 4465 if (dict == NULL)
4466 return OK; 4466 return OK;
4539 break; 4539 break;
4540 opt->jo_set |= JO_OUT_BUF << (part - PART_OUT); 4540 opt->jo_set |= JO_OUT_BUF << (part - PART_OUT);
4541 opt->jo_io_buf[part] = get_tv_number(item); 4541 opt->jo_io_buf[part] = get_tv_number(item);
4542 if (opt->jo_io_buf[part] <= 0) 4542 if (opt->jo_io_buf[part] <= 0)
4543 { 4543 {
4544 EMSG2(_(e_invarg2), get_tv_string(item)); 4544 EMSG3(_(e_invargNval), hi->hi_key, get_tv_string(item));
4545 return FAIL; 4545 return FAIL;
4546 } 4546 }
4547 if (buflist_findnr(opt->jo_io_buf[part]) == NULL) 4547 if (buflist_findnr(opt->jo_io_buf[part]) == NULL)
4548 { 4548 {
4549 EMSGN(_(e_nobufnr), (long)opt->jo_io_buf[part]); 4549 EMSGN(_(e_nobufnr), (long)opt->jo_io_buf[part]);
4588 opt->jo_set |= JO_IN_BOT; 4588 opt->jo_set |= JO_IN_BOT;
4589 } 4589 }
4590 *lp = get_tv_number(item); 4590 *lp = get_tv_number(item);
4591 if (*lp < 0) 4591 if (*lp < 0)
4592 { 4592 {
4593 EMSG2(_(e_invarg2), get_tv_string(item)); 4593 EMSG3(_(e_invargNval), hi->hi_key, get_tv_string(item));
4594 return FAIL; 4594 return FAIL;
4595 } 4595 }
4596 } 4596 }
4597 else if (STRCMP(hi->hi_key, "channel") == 0) 4597 else if (STRCMP(hi->hi_key, "channel") == 0)
4598 { 4598 {
4599 if (!(supported & JO_OUT_IO)) 4599 if (!(supported & JO_OUT_IO))
4600 break; 4600 break;
4601 opt->jo_set |= JO_CHANNEL; 4601 opt->jo_set |= JO_CHANNEL;
4602 if (item->v_type != VAR_CHANNEL) 4602 if (item->v_type != VAR_CHANNEL)
4603 { 4603 {
4604 EMSG2(_(e_invarg2), "channel"); 4604 EMSG2(_(e_invargval), "channel");
4605 return FAIL; 4605 return FAIL;
4606 } 4606 }
4607 opt->jo_channel = item->vval.v_channel; 4607 opt->jo_channel = item->vval.v_channel;
4608 } 4608 }
4609 else if (STRCMP(hi->hi_key, "callback") == 0) 4609 else if (STRCMP(hi->hi_key, "callback") == 0)
4612 break; 4612 break;
4613 opt->jo_set |= JO_CALLBACK; 4613 opt->jo_set |= JO_CALLBACK;
4614 opt->jo_callback = get_callback(item, &opt->jo_partial); 4614 opt->jo_callback = get_callback(item, &opt->jo_partial);
4615 if (opt->jo_callback == NULL) 4615 if (opt->jo_callback == NULL)
4616 { 4616 {
4617 EMSG2(_(e_invarg2), "callback"); 4617 EMSG2(_(e_invargval), "callback");
4618 return FAIL; 4618 return FAIL;
4619 } 4619 }
4620 } 4620 }
4621 else if (STRCMP(hi->hi_key, "out_cb") == 0) 4621 else if (STRCMP(hi->hi_key, "out_cb") == 0)
4622 { 4622 {
4624 break; 4624 break;
4625 opt->jo_set |= JO_OUT_CALLBACK; 4625 opt->jo_set |= JO_OUT_CALLBACK;
4626 opt->jo_out_cb = get_callback(item, &opt->jo_out_partial); 4626 opt->jo_out_cb = get_callback(item, &opt->jo_out_partial);
4627 if (opt->jo_out_cb == NULL) 4627 if (opt->jo_out_cb == NULL)
4628 { 4628 {
4629 EMSG2(_(e_invarg2), "out_cb"); 4629 EMSG2(_(e_invargval), "out_cb");
4630 return FAIL; 4630 return FAIL;
4631 } 4631 }
4632 } 4632 }
4633 else if (STRCMP(hi->hi_key, "err_cb") == 0) 4633 else if (STRCMP(hi->hi_key, "err_cb") == 0)
4634 { 4634 {
4636 break; 4636 break;
4637 opt->jo_set |= JO_ERR_CALLBACK; 4637 opt->jo_set |= JO_ERR_CALLBACK;
4638 opt->jo_err_cb = get_callback(item, &opt->jo_err_partial); 4638 opt->jo_err_cb = get_callback(item, &opt->jo_err_partial);
4639 if (opt->jo_err_cb == NULL) 4639 if (opt->jo_err_cb == NULL)
4640 { 4640 {
4641 EMSG2(_(e_invarg2), "err_cb"); 4641 EMSG2(_(e_invargval), "err_cb");
4642 return FAIL; 4642 return FAIL;
4643 } 4643 }
4644 } 4644 }
4645 else if (STRCMP(hi->hi_key, "close_cb") == 0) 4645 else if (STRCMP(hi->hi_key, "close_cb") == 0)
4646 { 4646 {
4648 break; 4648 break;
4649 opt->jo_set |= JO_CLOSE_CALLBACK; 4649 opt->jo_set |= JO_CLOSE_CALLBACK;
4650 opt->jo_close_cb = get_callback(item, &opt->jo_close_partial); 4650 opt->jo_close_cb = get_callback(item, &opt->jo_close_partial);
4651 if (opt->jo_close_cb == NULL) 4651 if (opt->jo_close_cb == NULL)
4652 { 4652 {
4653 EMSG2(_(e_invarg2), "close_cb"); 4653 EMSG2(_(e_invargval), "close_cb");
4654 return FAIL; 4654 return FAIL;
4655 } 4655 }
4656 } 4656 }
4657 else if (STRCMP(hi->hi_key, "drop") == 0) 4657 else if (STRCMP(hi->hi_key, "drop") == 0)
4658 { 4658 {
4661 4661
4662 if (STRCMP(val, "never") == 0) 4662 if (STRCMP(val, "never") == 0)
4663 never = TRUE; 4663 never = TRUE;
4664 else if (STRCMP(val, "auto") != 0) 4664 else if (STRCMP(val, "auto") != 0)
4665 { 4665 {
4666 EMSG2(_(e_invarg2), "drop"); 4666 EMSG3(_(e_invargNval), "drop", val);
4667 return FAIL; 4667 return FAIL;
4668 } 4668 }
4669 opt->jo_drop_never = never; 4669 opt->jo_drop_never = never;
4670 } 4670 }
4671 else if (STRCMP(hi->hi_key, "exit_cb") == 0) 4671 else if (STRCMP(hi->hi_key, "exit_cb") == 0)
4674 break; 4674 break;
4675 opt->jo_set |= JO_EXIT_CB; 4675 opt->jo_set |= JO_EXIT_CB;
4676 opt->jo_exit_cb = get_callback(item, &opt->jo_exit_partial); 4676 opt->jo_exit_cb = get_callback(item, &opt->jo_exit_partial);
4677 if (opt->jo_exit_cb == NULL) 4677 if (opt->jo_exit_cb == NULL)
4678 { 4678 {
4679 EMSG2(_(e_invarg2), "exit_cb"); 4679 EMSG2(_(e_invargval), "exit_cb");
4680 return FAIL; 4680 return FAIL;
4681 } 4681 }
4682 } 4682 }
4683 #ifdef FEAT_TERMINAL 4683 #ifdef FEAT_TERMINAL
4684 else if (STRCMP(hi->hi_key, "term_name") == 0) 4684 else if (STRCMP(hi->hi_key, "term_name") == 0)
4687 break; 4687 break;
4688 opt->jo_set2 |= JO2_TERM_NAME; 4688 opt->jo_set2 |= JO2_TERM_NAME;
4689 opt->jo_term_name = get_tv_string_chk(item); 4689 opt->jo_term_name = get_tv_string_chk(item);
4690 if (opt->jo_term_name == NULL) 4690 if (opt->jo_term_name == NULL)
4691 { 4691 {
4692 EMSG2(_(e_invarg2), "term_name"); 4692 EMSG2(_(e_invargval), "term_name");
4693 return FAIL; 4693 return FAIL;
4694 } 4694 }
4695 } 4695 }
4696 else if (STRCMP(hi->hi_key, "term_finish") == 0) 4696 else if (STRCMP(hi->hi_key, "term_finish") == 0)
4697 { 4697 {
4698 if (!(supported2 & JO2_TERM_FINISH)) 4698 if (!(supported2 & JO2_TERM_FINISH))
4699 break; 4699 break;
4700 val = get_tv_string(item); 4700 val = get_tv_string(item);
4701 if (STRCMP(val, "open") != 0 && STRCMP(val, "close") != 0) 4701 if (STRCMP(val, "open") != 0 && STRCMP(val, "close") != 0)
4702 { 4702 {
4703 EMSG2(_(e_invarg2), val); 4703 EMSG3(_(e_invargNval), "term_finish", val);
4704 return FAIL; 4704 return FAIL;
4705 } 4705 }
4706 opt->jo_set2 |= JO2_TERM_FINISH; 4706 opt->jo_set2 |= JO2_TERM_FINISH;
4707 opt->jo_term_finish = *val; 4707 opt->jo_term_finish = *val;
4708 } 4708 }
4722 || vim_strchr(p + 2, '%') != NULL)) 4722 || vim_strchr(p + 2, '%') != NULL))
4723 p = NULL; 4723 p = NULL;
4724 } 4724 }
4725 if (p == NULL) 4725 if (p == NULL)
4726 { 4726 {
4727 EMSG2(_(e_invarg2), "term_opencmd"); 4727 EMSG2(_(e_invargval), "term_opencmd");
4728 return FAIL; 4728 return FAIL;
4729 } 4729 }
4730 } 4730 }
4731 else if (STRCMP(hi->hi_key, "eof_chars") == 0) 4731 else if (STRCMP(hi->hi_key, "eof_chars") == 0)
4732 { 4732 {
4736 break; 4736 break;
4737 opt->jo_set2 |= JO2_EOF_CHARS; 4737 opt->jo_set2 |= JO2_EOF_CHARS;
4738 p = opt->jo_eof_chars = get_tv_string_chk(item); 4738 p = opt->jo_eof_chars = get_tv_string_chk(item);
4739 if (p == NULL) 4739 if (p == NULL)
4740 { 4740 {
4741 EMSG2(_(e_invarg2), "term_opencmd"); 4741 EMSG2(_(e_invargval), "eof_chars");
4742 return FAIL; 4742 return FAIL;
4743 } 4743 }
4744 } 4744 }
4745 else if (STRCMP(hi->hi_key, "term_rows") == 0) 4745 else if (STRCMP(hi->hi_key, "term_rows") == 0)
4746 { 4746 {
4791 if (!(supported2 & JO2_CWD)) 4791 if (!(supported2 & JO2_CWD))
4792 break; 4792 break;
4793 opt->jo_cwd = get_tv_string_buf_chk(item, opt->jo_cwd_buf); 4793 opt->jo_cwd = get_tv_string_buf_chk(item, opt->jo_cwd_buf);
4794 if (opt->jo_cwd == NULL || !mch_isdir(opt->jo_cwd)) 4794 if (opt->jo_cwd == NULL || !mch_isdir(opt->jo_cwd))
4795 { 4795 {
4796 EMSG2(_(e_invarg2), "cwd"); 4796 EMSG2(_(e_invargval), "cwd");
4797 return FAIL; 4797 return FAIL;
4798 } 4798 }
4799 opt->jo_set |= JO2_CWD; 4799 opt->jo_set |= JO2_CWD;
4800 } 4800 }
4801 else if (STRCMP(hi->hi_key, "waittime") == 0) 4801 else if (STRCMP(hi->hi_key, "waittime") == 0)
4836 opt->jo_part = PART_ERR; 4836 opt->jo_part = PART_ERR;
4837 else if (STRCMP(val, "out") == 0) 4837 else if (STRCMP(val, "out") == 0)
4838 opt->jo_part = PART_OUT; 4838 opt->jo_part = PART_OUT;
4839 else 4839 else
4840 { 4840 {
4841 EMSG2(_(e_invarg2), val); 4841 EMSG3(_(e_invargNval), "part", val);
4842 return FAIL; 4842 return FAIL;
4843 } 4843 }
4844 } 4844 }
4845 else if (STRCMP(hi->hi_key, "id") == 0) 4845 else if (STRCMP(hi->hi_key, "id") == 0)
4846 { 4846 {
4856 opt->jo_set |= JO_STOPONEXIT; 4856 opt->jo_set |= JO_STOPONEXIT;
4857 opt->jo_stoponexit = get_tv_string_buf_chk(item, 4857 opt->jo_stoponexit = get_tv_string_buf_chk(item,
4858 opt->jo_soe_buf); 4858 opt->jo_soe_buf);
4859 if (opt->jo_stoponexit == NULL) 4859 if (opt->jo_stoponexit == NULL)
4860 { 4860 {
4861 EMSG2(_(e_invarg2), "stoponexit"); 4861 EMSG2(_(e_invargval), "stoponexit");
4862 return FAIL; 4862 return FAIL;
4863 } 4863 }
4864 } 4864 }
4865 else if (STRCMP(hi->hi_key, "block_write") == 0) 4865 else if (STRCMP(hi->hi_key, "block_write") == 0)
4866 { 4866 {