To: vim_dev@googlegroups.com Subject: Patch 8.2.3840 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.3840 Problem: Useless test for negative index in check functions. Solution: Remove the test for negative index. (Naruhiko Nishino, closes #9364) Files: src/typval.c *** ../vim-8.2.3839/src/typval.c 2021-12-16 20:56:52.952098567 +0000 --- src/typval.c 2021-12-17 17:57:07.077773595 +0000 *************** *** 359,368 **** { if (args[idx].v_type != VAR_STRING) { ! if (idx >= 0) ! semsg(_(e_string_required_for_argument_nr), idx + 1); ! else ! emsg(_(e_stringreq)); return FAIL; } return OK; --- 359,365 ---- { if (args[idx].v_type != VAR_STRING) { ! semsg(_(e_string_required_for_argument_nr), idx + 1); return FAIL; } return OK; *************** *** 402,411 **** { if (args[idx].v_type != VAR_NUMBER) { ! if (idx >= 0) ! semsg(_(e_number_required_for_argument_nr), idx + 1); ! else ! emsg(_(e_numberreq)); return FAIL; } return OK; --- 399,405 ---- { if (args[idx].v_type != VAR_NUMBER) { ! semsg(_(e_number_required_for_argument_nr), idx + 1); return FAIL; } return OK; *************** *** 429,438 **** { if (args[idx].v_type != VAR_FLOAT && args[idx].v_type != VAR_NUMBER) { ! if (idx >= 0) ! semsg(_(e_float_or_number_required_for_argument_nr), idx + 1); ! else ! emsg(_(e_numberreq)); return FAIL; } return OK; --- 423,429 ---- { if (args[idx].v_type != VAR_FLOAT && args[idx].v_type != VAR_NUMBER) { ! semsg(_(e_float_or_number_required_for_argument_nr), idx + 1); return FAIL; } return OK; *************** *** 449,458 **** && (args[idx].vval.v_number == 0 || args[idx].vval.v_number == 1))) { ! if (idx >= 0) ! semsg(_(e_bool_required_for_argument_nr), idx + 1); ! else ! emsg(_(e_boolreq)); return FAIL; } return OK; --- 440,446 ---- && (args[idx].vval.v_number == 0 || args[idx].vval.v_number == 1))) { ! semsg(_(e_bool_required_for_argument_nr), idx + 1); return FAIL; } return OK; *************** *** 478,487 **** { if (args[idx].v_type != VAR_BLOB) { ! if (idx >= 0) ! semsg(_(e_blob_required_for_argument_nr), idx + 1); ! else ! emsg(_(e_blob_required)); return FAIL; } return OK; --- 466,472 ---- { if (args[idx].v_type != VAR_BLOB) { ! semsg(_(e_blob_required_for_argument_nr), idx + 1); return FAIL; } return OK; *************** *** 495,504 **** { if (args[idx].v_type != VAR_LIST) { - if (idx >= 0) semsg(_(e_list_required_for_argument_nr), idx + 1); - else - emsg(_(e_listreq)); return FAIL; } return OK; --- 480,486 ---- *************** *** 522,531 **** { if (args[idx].v_type != VAR_DICT) { ! if (idx >= 0) ! semsg(_(e_dict_required_for_argument_nr), idx + 1); ! else ! emsg(_(e_dictreq)); return FAIL; } return OK; --- 504,510 ---- { if (args[idx].v_type != VAR_DICT) { ! semsg(_(e_dict_required_for_argument_nr), idx + 1); return FAIL; } return OK; *************** *** 549,558 **** { if (args[idx].v_type != VAR_CHANNEL && args[idx].v_type != VAR_JOB) { ! if (idx >= 0) ! semsg(_(e_chan_or_job_required_for_argument_nr), idx + 1); ! else ! emsg(_(e_chan_or_job_req)); return FAIL; } return OK; --- 528,534 ---- { if (args[idx].v_type != VAR_CHANNEL && args[idx].v_type != VAR_JOB) { ! semsg(_(e_chan_or_job_required_for_argument_nr), idx + 1); return FAIL; } return OK; *************** *** 577,586 **** { if (args[idx].v_type != VAR_JOB) { ! if (idx >= 0) ! semsg(_(e_job_required_for_argument_nr), idx + 1); ! else ! emsg(_(e_jobreq)); return FAIL; } return OK; --- 553,559 ---- { if (args[idx].v_type != VAR_JOB) { ! semsg(_(e_job_required_for_argument_nr), idx + 1); return FAIL; } return OK; *************** *** 605,614 **** { if (args[idx].v_type != VAR_STRING && args[idx].v_type != VAR_NUMBER) { ! if (idx >= 0) ! semsg(_(e_string_or_number_required_for_argument_nr), idx + 1); ! else ! emsg(_(e_stringreq)); return FAIL; } return OK; --- 578,584 ---- { if (args[idx].v_type != VAR_STRING && args[idx].v_type != VAR_NUMBER) { ! semsg(_(e_string_or_number_required_for_argument_nr), idx + 1); return FAIL; } return OK; *************** *** 672,681 **** { if (args[idx].v_type != VAR_STRING && args[idx].v_type != VAR_BLOB) { ! if (idx >= 0) ! semsg(_(e_string_or_blob_required_for_argument_nr), idx + 1); ! else ! emsg(_(e_stringreq)); return FAIL; } return OK; --- 642,648 ---- { if (args[idx].v_type != VAR_STRING && args[idx].v_type != VAR_BLOB) { ! semsg(_(e_string_or_blob_required_for_argument_nr), idx + 1); return FAIL; } return OK; *************** *** 689,698 **** { if (args[idx].v_type != VAR_STRING && args[idx].v_type != VAR_LIST) { ! if (idx >= 0) ! semsg(_(e_string_or_list_required_for_argument_nr), idx + 1); ! else ! emsg(_(e_stringreq)); return FAIL; } return OK; --- 656,662 ---- { if (args[idx].v_type != VAR_STRING && args[idx].v_type != VAR_LIST) { ! semsg(_(e_string_or_list_required_for_argument_nr), idx + 1); return FAIL; } return OK; *************** *** 716,725 **** { if (args[idx].v_type != VAR_STRING && args[idx].v_type != VAR_DICT) { ! if (idx >= 0) ! semsg(_(e_string_or_dict_required_for_argument_nr), idx + 1); ! else ! emsg(_(e_stringreq)); return FAIL; } return OK; --- 680,686 ---- { if (args[idx].v_type != VAR_STRING && args[idx].v_type != VAR_DICT) { ! semsg(_(e_string_or_dict_required_for_argument_nr), idx + 1); return FAIL; } return OK; *************** *** 767,776 **** && args[idx].v_type != VAR_LIST && args[idx].v_type != VAR_DICT) { ! if (idx >= 0) ! semsg(_(e_string_list_or_dict_required_for_argument_nr), idx + 1); ! else ! emsg(_(e_stringreq)); return FAIL; } return OK; --- 728,734 ---- && args[idx].v_type != VAR_LIST && args[idx].v_type != VAR_DICT) { ! semsg(_(e_string_list_or_dict_required_for_argument_nr), idx + 1); return FAIL; } return OK; *************** *** 802,811 **** if (args[idx].v_type != VAR_LIST && args[idx].v_type != VAR_DICT) { ! if (idx >= 0) ! semsg(_(e_list_or_dict_required_for_argument_nr), idx + 1); ! else ! emsg(_(e_listreq)); return FAIL; } return OK; --- 760,766 ---- if (args[idx].v_type != VAR_LIST && args[idx].v_type != VAR_DICT) { ! semsg(_(e_list_or_dict_required_for_argument_nr), idx + 1); return FAIL; } return OK; *************** *** 822,831 **** && args[idx].v_type != VAR_DICT && args[idx].v_type != VAR_BLOB) { ! if (idx >= 0) ! semsg(_(e_list_dict_or_blob_required_for_argument_nr), idx + 1); ! else ! emsg(_(e_listreq)); return FAIL; } return OK; --- 777,783 ---- && args[idx].v_type != VAR_DICT && args[idx].v_type != VAR_BLOB) { ! semsg(_(e_list_dict_or_blob_required_for_argument_nr), idx + 1); return FAIL; } return OK; *************** *** 843,853 **** && args[idx].v_type != VAR_BLOB && args[idx].v_type != VAR_STRING) { ! if (idx >= 0) ! semsg(_(e_list_dict_blob_or_string_required_for_argument_nr), ! idx + 1); ! else ! emsg(_(e_listreq)); return FAIL; } return OK; --- 795,801 ---- && args[idx].v_type != VAR_BLOB && args[idx].v_type != VAR_STRING) { ! semsg(_(e_list_dict_blob_or_string_required_for_argument_nr), idx + 1); return FAIL; } return OK; *************** *** 865,874 **** && args[idx].v_type != VAR_NUMBER && args[idx].v_type != VAR_DICT) { ! if (idx >= 0) ! semsg(_(e_string_required_for_argument_nr), idx + 1); ! else ! emsg(_(e_stringreq)); return FAIL; } return OK; --- 813,819 ---- && args[idx].v_type != VAR_NUMBER && args[idx].v_type != VAR_DICT) { ! semsg(_(e_string_required_for_argument_nr), idx + 1); return FAIL; } return OK; *** ../vim-8.2.3839/src/version.c 2021-12-17 17:32:26.105900877 +0000 --- src/version.c 2021-12-17 17:59:32.393814056 +0000 *************** *** 751,752 **** --- 751,754 ---- { /* Add new patch number below this line */ + /**/ + 3840, /**/ -- hundred-and-one symptoms of being an internet addict: 55. You ask your doctor to implant a gig in your brain. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///