To: vim_dev@googlegroups.com Subject: Patch 8.0.1516 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ 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 -- Bram@Moolenaar.net -- 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 ///