comparison src/dict.c @ 29994:86eb4aba16c3 v9.0.0335

patch 9.0.0335: checks for Dictionary argument often give a vague error Commit: https://github.com/vim/vim/commit/04c4c5746e15884768d2cb41370c3276a196cd4c Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Tue Aug 30 19:48:24 2022 +0100 patch 9.0.0335: checks for Dictionary argument often give a vague error Problem: Checks for Dictionary argument often give a vague error message. Solution: Give a useful error message. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/11009)
author Bram Moolenaar <Bram@vim.org>
date Tue, 30 Aug 2022 21:00:05 +0200
parents 0ad8b72af148
children d58afefecd6c
comparison
equal deleted inserted replaced
29993:8dd1900432a0 29994:86eb4aba16c3
1576 if (in_vim9script() 1576 if (in_vim9script()
1577 && (check_for_dict_arg(argvars, 0) == FAIL 1577 && (check_for_dict_arg(argvars, 0) == FAIL
1578 || check_for_string_or_number_arg(argvars, 1) == FAIL)) 1578 || check_for_string_or_number_arg(argvars, 1) == FAIL))
1579 return; 1579 return;
1580 1580
1581 if (argvars[0].v_type != VAR_DICT) 1581 if (check_for_dict_arg(argvars, 0) == FAIL)
1582 {
1583 emsg(_(e_dictionary_required));
1584 return; 1582 return;
1585 } 1583
1586 if (argvars[0].vval.v_dict == NULL) 1584 if (argvars[0].vval.v_dict == NULL)
1587 return; 1585 return;
1588 1586
1589 rettv->vval.v_number = dict_has_key(argvars[0].vval.v_dict, 1587 rettv->vval.v_number = dict_has_key(argvars[0].vval.v_dict,
1590 (char *)tv_get_string(&argvars[1])); 1588 (char *)tv_get_string(&argvars[1]));