Patch 8.0.1516
Problem: Errors for job options are not very specific.
Solution: Add more specific error messages.
Files: src/channel.c, src/globals.h
*** ../vim-8.0.1515/src/channel.c 2018-02-10 18:45:21.040822359 +0100
--- src/channel.c 2018-02-13 15:12:59.988622667 +0100
***************
*** 4458,4464 ****
return OK;
if (tv->v_type != VAR_DICT)
{
! EMSG(_(e_invarg));
return FAIL;
}
dict = tv->vval.v_dict;
--- 4458,4464 ----
return OK;
if (tv->v_type != VAR_DICT)
{
! EMSG(_(e_dictreq));
return FAIL;
}
dict = tv->vval.v_dict;
***************
*** 4541,4547 ****
opt->jo_io_buf[part] = get_tv_number(item);
if (opt->jo_io_buf[part] <= 0)
{
! EMSG2(_(e_invarg2), get_tv_string(item));
return FAIL;
}
if (buflist_findnr(opt->jo_io_buf[part]) == NULL)
--- 4541,4547 ----
opt->jo_io_buf[part] = get_tv_number(item);
if (opt->jo_io_buf[part] <= 0)
{
! EMSG3(_(e_invargNval), hi->hi_key, get_tv_string(item));
return FAIL;
}
if (buflist_findnr(opt->jo_io_buf[part]) == NULL)
***************
*** 4590,4596 ****
*lp = get_tv_number(item);
if (*lp < 0)
{
! EMSG2(_(e_invarg2), get_tv_string(item));
return FAIL;
}
}
--- 4590,4596 ----
*lp = get_tv_number(item);
if (*lp < 0)
{
! EMSG3(_(e_invargNval), hi->hi_key, get_tv_string(item));
return FAIL;
}
}
***************
*** 4601,4607 ****
opt->jo_set |= JO_CHANNEL;
if (item->v_type != VAR_CHANNEL)
{
! EMSG2(_(e_invarg2), "channel");
return FAIL;
}
opt->jo_channel = item->vval.v_channel;
--- 4601,4607 ----
opt->jo_set |= JO_CHANNEL;
if (item->v_type != VAR_CHANNEL)
{
! EMSG2(_(e_invargval), "channel");
return FAIL;
}
opt->jo_channel = item->vval.v_channel;
***************
*** 4614,4620 ****
opt->jo_callback = get_callback(item, &opt->jo_partial);
if (opt->jo_callback == NULL)
{
! EMSG2(_(e_invarg2), "callback");
return FAIL;
}
}
--- 4614,4620 ----
opt->jo_callback = get_callback(item, &opt->jo_partial);
if (opt->jo_callback == NULL)
{
! EMSG2(_(e_invargval), "callback");
return FAIL;
}
}
***************
*** 4626,4632 ****
opt->jo_out_cb = get_callback(item, &opt->jo_out_partial);
if (opt->jo_out_cb == NULL)
{
! EMSG2(_(e_invarg2), "out_cb");
return FAIL;
}
}
--- 4626,4632 ----
opt->jo_out_cb = get_callback(item, &opt->jo_out_partial);
if (opt->jo_out_cb == NULL)
{
! EMSG2(_(e_invargval), "out_cb");
return FAIL;
}
}
***************
*** 4638,4644 ****
opt->jo_err_cb = get_callback(item, &opt->jo_err_partial);
if (opt->jo_err_cb == NULL)
{
! EMSG2(_(e_invarg2), "err_cb");
return FAIL;
}
}
--- 4638,4644 ----
opt->jo_err_cb = get_callback(item, &opt->jo_err_partial);
if (opt->jo_err_cb == NULL)
{
! EMSG2(_(e_invargval), "err_cb");
return FAIL;
}
}
***************
*** 4650,4656 ****
opt->jo_close_cb = get_callback(item, &opt->jo_close_partial);
if (opt->jo_close_cb == NULL)
{
! EMSG2(_(e_invarg2), "close_cb");
return FAIL;
}
}
--- 4650,4656 ----
opt->jo_close_cb = get_callback(item, &opt->jo_close_partial);
if (opt->jo_close_cb == NULL)
{
! EMSG2(_(e_invargval), "close_cb");
return FAIL;
}
}
***************
*** 4663,4669 ****
never = TRUE;
else if (STRCMP(val, "auto") != 0)
{
! EMSG2(_(e_invarg2), "drop");
return FAIL;
}
opt->jo_drop_never = never;
--- 4663,4669 ----
never = TRUE;
else if (STRCMP(val, "auto") != 0)
{
! EMSG3(_(e_invargNval), "drop", val);
return FAIL;
}
opt->jo_drop_never = never;
***************
*** 4676,4682 ****
opt->jo_exit_cb = get_callback(item, &opt->jo_exit_partial);
if (opt->jo_exit_cb == NULL)
{
! EMSG2(_(e_invarg2), "exit_cb");
return FAIL;
}
}
--- 4676,4682 ----
opt->jo_exit_cb = get_callback(item, &opt->jo_exit_partial);
if (opt->jo_exit_cb == NULL)
{
! EMSG2(_(e_invargval), "exit_cb");
return FAIL;
}
}
***************
*** 4689,4695 ****
opt->jo_term_name = get_tv_string_chk(item);
if (opt->jo_term_name == NULL)
{
! EMSG2(_(e_invarg2), "term_name");
return FAIL;
}
}
--- 4689,4695 ----
opt->jo_term_name = get_tv_string_chk(item);
if (opt->jo_term_name == NULL)
{
! EMSG2(_(e_invargval), "term_name");
return FAIL;
}
}
***************
*** 4700,4706 ****
val = get_tv_string(item);
if (STRCMP(val, "open") != 0 && STRCMP(val, "close") != 0)
{
! EMSG2(_(e_invarg2), val);
return FAIL;
}
opt->jo_set2 |= JO2_TERM_FINISH;
--- 4700,4706 ----
val = get_tv_string(item);
if (STRCMP(val, "open") != 0 && STRCMP(val, "close") != 0)
{
! EMSG3(_(e_invargNval), "term_finish", val);
return FAIL;
}
opt->jo_set2 |= JO2_TERM_FINISH;
***************
*** 4724,4730 ****
}
if (p == NULL)
{
! EMSG2(_(e_invarg2), "term_opencmd");
return FAIL;
}
}
--- 4724,4730 ----
}
if (p == NULL)
{
! EMSG2(_(e_invargval), "term_opencmd");
return FAIL;
}
}
***************
*** 4738,4744 ****
p = opt->jo_eof_chars = get_tv_string_chk(item);
if (p == NULL)
{
! EMSG2(_(e_invarg2), "term_opencmd");
return FAIL;
}
}
--- 4738,4744 ----
p = opt->jo_eof_chars = get_tv_string_chk(item);
if (p == NULL)
{
! EMSG2(_(e_invargval), "eof_chars");
return FAIL;
}
}
***************
*** 4793,4799 ****
opt->jo_cwd = get_tv_string_buf_chk(item, opt->jo_cwd_buf);
if (opt->jo_cwd == NULL || !mch_isdir(opt->jo_cwd))
{
! EMSG2(_(e_invarg2), "cwd");
return FAIL;
}
opt->jo_set |= JO2_CWD;
--- 4793,4799 ----
opt->jo_cwd = get_tv_string_buf_chk(item, opt->jo_cwd_buf);
if (opt->jo_cwd == NULL || !mch_isdir(opt->jo_cwd))
{
! EMSG2(_(e_invargval), "cwd");
return FAIL;
}
opt->jo_set |= JO2_CWD;
***************
*** 4838,4844 ****
opt->jo_part = PART_OUT;
else
{
! EMSG2(_(e_invarg2), val);
return FAIL;
}
}
--- 4838,4844 ----
opt->jo_part = PART_OUT;
else
{
! EMSG3(_(e_invargNval), "part", val);
return FAIL;
}
}
***************
*** 4858,4864 ****
opt->jo_soe_buf);
if (opt->jo_stoponexit == NULL)
{
! EMSG2(_(e_invarg2), "stoponexit");
return FAIL;
}
}
--- 4858,4864 ----
opt->jo_soe_buf);
if (opt->jo_stoponexit == NULL)
{
! EMSG2(_(e_invargval), "stoponexit");
return FAIL;
}
}
*** ../vim-8.0.1515/src/globals.h 2018-02-13 12:26:08.908247730 +0100
--- src/globals.h 2018-02-13 15:08:43.690442578 +0100
***************
*** 1437,1442 ****
--- 1437,1444 ----
EXTERN char_u e_invaddr[] INIT(= N_("E14: Invalid address"));
EXTERN char_u e_invarg[] INIT(= N_("E474: Invalid argument"));
EXTERN char_u e_invarg2[] INIT(= N_("E475: Invalid argument: %s"));
+ EXTERN char_u e_invargval[] INIT(= N_("E475: Invalid value for argument
%s"));
+ EXTERN char_u e_invargNval[] INIT(= N_("E475: Invalid value for argument %s:
%s"));
#ifdef FEAT_EVAL
EXTERN char_u e_invexpr2[] INIT(= N_("E15: Invalid expression: %s"));
#endif
*** ../vim-8.0.1515/src/version.c 2018-02-13 14:07:14.716305872 +0100
--- src/version.c 2018-02-13 15:16:49.978995624 +0100
***************
*** 773,774 ****
--- 773,776 ----
{ /* Add new patch number below this line */
+ /**/
+ 1516,
/**/
--
Trees moving back and forth is what makes the wind blow.
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.