comparison src/dict.c @ 25597:0fdacd8f0cf3 v8.2.3335

patch 8.2.3335: Vim9: not enough tests run with Vim9 Commit: https://github.com/vim/vim/commit/ef98257593a0abf1300d0f70358dc45a70a62580 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Aug 12 19:27:57 2021 +0200 patch 8.2.3335: Vim9: not enough tests run with Vim9 Problem: Vim9: not enough tests run with Vim9. Solution: Run a few more tests in Vim9 script and :def function. Fix that items(), keys() and values9) return zero for a NULL dict. Make join() return an empty string for a NULL list. Make sort() return an empty list for a NULL list.
author Bram Moolenaar <Bram@vim.org>
date Thu, 12 Aug 2021 19:30:03 +0200
parents 0082503ff2ff
children 925ffa1eeb08
comparison
equal deleted inserted replaced
25596:15ce187b41b8 25597:0fdacd8f0cf3
1207 if (argvars[0].v_type != VAR_DICT) 1207 if (argvars[0].v_type != VAR_DICT)
1208 { 1208 {
1209 emsg(_(e_dictreq)); 1209 emsg(_(e_dictreq));
1210 return; 1210 return;
1211 } 1211 }
1212
1213 if (rettv_list_alloc(rettv) == FAIL)
1214 return;
1212 if ((d = argvars[0].vval.v_dict) == NULL) 1215 if ((d = argvars[0].vval.v_dict) == NULL)
1213 return; 1216 // empty dict behaves like an empty dict
1214
1215 if (rettv_list_alloc(rettv) == FAIL)
1216 return; 1217 return;
1217 1218
1218 todo = (int)d->dv_hashtab.ht_used; 1219 todo = (int)d->dv_hashtab.ht_used;
1219 for (hi = d->dv_hashtab.ht_array; todo > 0; ++hi) 1220 for (hi = d->dv_hashtab.ht_array; todo > 0; ++hi)
1220 { 1221 {