Mercurial > vim
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 { |