Mercurial > vim
comparison src/dict.c @ 22298:07e48ee8c3bb v8.2.1698
patch 8.2.1698: cannot lock a variable in legacy Vim script like in Vim9
Commit: https://github.com/vim/vim/commit/a187c43cfe8863d48b2159d695fedcb71f8525c1
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Sep 16 21:08:28 2020 +0200
patch 8.2.1698: cannot lock a variable in legacy Vim script like in Vim9
Problem: Cannot lock a variable in legacy Vim script like in Vim9.
Solution: Make ":lockvar 0" work.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 16 Sep 2020 21:15:05 +0200 |
parents | a211bca98bc3 |
children | 542682b758dc |
comparison
equal
deleted
inserted
replaced
22297:3d2dc70119a7 | 22298:07e48ee8c3bb |
---|---|
1007 semsg(_("E737: Key already exists: %s"), hi2->hi_key); | 1007 semsg(_("E737: Key already exists: %s"), hi2->hi_key); |
1008 break; | 1008 break; |
1009 } | 1009 } |
1010 else if (*action == 'f' && HI2DI(hi2) != di1) | 1010 else if (*action == 'f' && HI2DI(hi2) != di1) |
1011 { | 1011 { |
1012 if (var_check_lock(di1->di_tv.v_lock, arg_errmsg, TRUE) | 1012 if (value_check_lock(di1->di_tv.v_lock, arg_errmsg, TRUE) |
1013 || var_check_ro(di1->di_flags, arg_errmsg, TRUE)) | 1013 || var_check_ro(di1->di_flags, arg_errmsg, TRUE)) |
1014 break; | 1014 break; |
1015 clear_tv(&di1->di_tv); | 1015 clear_tv(&di1->di_tv); |
1016 copy_tv(&HI2DI(hi2)->di_tv, &di1->di_tv); | 1016 copy_tv(&HI2DI(hi2)->di_tv, &di1->di_tv); |
1017 } | 1017 } |
1225 dictitem_T *di; | 1225 dictitem_T *di; |
1226 | 1226 |
1227 if (argvars[2].v_type != VAR_UNKNOWN) | 1227 if (argvars[2].v_type != VAR_UNKNOWN) |
1228 semsg(_(e_toomanyarg), "remove()"); | 1228 semsg(_(e_toomanyarg), "remove()"); |
1229 else if ((d = argvars[0].vval.v_dict) != NULL | 1229 else if ((d = argvars[0].vval.v_dict) != NULL |
1230 && !var_check_lock(d->dv_lock, arg_errmsg, TRUE)) | 1230 && !value_check_lock(d->dv_lock, arg_errmsg, TRUE)) |
1231 { | 1231 { |
1232 key = tv_get_string_chk(&argvars[1]); | 1232 key = tv_get_string_chk(&argvars[1]); |
1233 if (key != NULL) | 1233 if (key != NULL) |
1234 { | 1234 { |
1235 di = dict_find(d, key, -1); | 1235 di = dict_find(d, key, -1); |