mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Merge pull request #13340 from janlazo/vim-8.2.2025
vim-patch:8.1.1749,8.2.{579,2025,2027,2028,2029}
This commit is contained in:
commit
185732a1f8
@ -1971,7 +1971,7 @@ char_u *get_lval(char_u *const name, typval_T *const rettv,
|
||||
typval_T var2;
|
||||
int empty1 = FALSE;
|
||||
listitem_T *ni;
|
||||
hashtab_T *ht;
|
||||
hashtab_T *ht = NULL;
|
||||
int quiet = flags & GLV_QUIET;
|
||||
|
||||
// Clear everything in "lp".
|
||||
@ -2441,7 +2441,7 @@ static void set_var_lval(lval_T *lp, char_u *endp, typval_T *rettv,
|
||||
tv_copy(rettv, lp->ll_tv);
|
||||
} else {
|
||||
*lp->ll_tv = *rettv;
|
||||
lp->ll_tv->v_lock = 0;
|
||||
lp->ll_tv->v_lock = VAR_UNLOCKED;
|
||||
tv_init(rettv);
|
||||
}
|
||||
|
||||
@ -5458,7 +5458,7 @@ static int dict_get_tv(char_u **arg, typval_T *rettv, int evaluate,
|
||||
}
|
||||
item = tv_dict_item_alloc((const char *)key);
|
||||
item->di_tv = tv;
|
||||
item->di_tv.v_lock = 0;
|
||||
item->di_tv.v_lock = VAR_UNLOCKED;
|
||||
if (tv_dict_add(d, item) == FAIL) {
|
||||
tv_dict_item_free(item);
|
||||
}
|
||||
@ -6128,7 +6128,7 @@ static int filter_map_one(typval_T *tv, typval_T *expr, int map, int *remp)
|
||||
if (map) {
|
||||
// map(): replace the list item value.
|
||||
tv_clear(tv);
|
||||
rettv.v_lock = 0;
|
||||
rettv.v_lock = VAR_UNLOCKED;
|
||||
*tv = rettv;
|
||||
} else {
|
||||
bool error = false;
|
||||
@ -9078,7 +9078,7 @@ static void set_var_const(const char *name, const size_t name_len,
|
||||
tv_copy(tv, &v->di_tv);
|
||||
} else {
|
||||
v->di_tv = *tv;
|
||||
v->di_tv.v_lock = 0;
|
||||
v->di_tv.v_lock = VAR_UNLOCKED;
|
||||
tv_init(tv);
|
||||
}
|
||||
|
||||
@ -9275,7 +9275,7 @@ int var_item_copy(const vimconv_T *const conv,
|
||||
tv_copy(from, to);
|
||||
} else {
|
||||
to->v_type = VAR_STRING;
|
||||
to->v_lock = 0;
|
||||
to->v_lock = VAR_UNLOCKED;
|
||||
if ((to->vval.v_string = string_convert((vimconv_T *)conv,
|
||||
from->vval.v_string,
|
||||
NULL))
|
||||
@ -9286,7 +9286,7 @@ int var_item_copy(const vimconv_T *const conv,
|
||||
break;
|
||||
case VAR_LIST:
|
||||
to->v_type = VAR_LIST;
|
||||
to->v_lock = 0;
|
||||
to->v_lock = VAR_UNLOCKED;
|
||||
if (from->vval.v_list == NULL) {
|
||||
to->vval.v_list = NULL;
|
||||
} else if (copyID != 0 && tv_list_copyid(from->vval.v_list) == copyID) {
|
||||
@ -9302,7 +9302,7 @@ int var_item_copy(const vimconv_T *const conv,
|
||||
break;
|
||||
case VAR_DICT:
|
||||
to->v_type = VAR_DICT;
|
||||
to->v_lock = 0;
|
||||
to->v_lock = VAR_UNLOCKED;
|
||||
if (from->vval.v_dict == NULL) {
|
||||
to->vval.v_dict = NULL;
|
||||
} else if (copyID != 0 && from->vval.v_dict->dv_copyID == copyID) {
|
||||
@ -10466,9 +10466,10 @@ typval_T eval_call_provider(char *provider, char *method, list_T *arguments,
|
||||
provider_call_nesting++;
|
||||
|
||||
typval_T argvars[3] = {
|
||||
{.v_type = VAR_STRING, .vval.v_string = (uint8_t *)method, .v_lock = 0},
|
||||
{.v_type = VAR_LIST, .vval.v_list = arguments, .v_lock = 0},
|
||||
{.v_type = VAR_UNKNOWN}
|
||||
{ .v_type = VAR_STRING, .vval.v_string = (char_u *)method,
|
||||
.v_lock = VAR_UNLOCKED },
|
||||
{ .v_type = VAR_LIST, .vval.v_list = arguments, .v_lock = VAR_UNLOCKED },
|
||||
{ .v_type = VAR_UNKNOWN }
|
||||
};
|
||||
typval_T rettv = { .v_type = VAR_UNKNOWN, .v_lock = VAR_UNLOCKED };
|
||||
tv_list_ref(arguments);
|
||||
|
@ -725,7 +725,7 @@ int tv_list_concat(list_T *const l1, list_T *const l2, typval_T *const tv)
|
||||
list_T *l;
|
||||
|
||||
tv->v_type = VAR_LIST;
|
||||
|
||||
tv->v_lock = VAR_UNLOCKED;
|
||||
if (l1 == NULL && l2 == NULL) {
|
||||
l = NULL;
|
||||
} else if (l1 == NULL) {
|
||||
|
@ -851,7 +851,7 @@ void call_user_func(ufunc_T *fp, int argcount, typval_T *argvars,
|
||||
v->di_flags = DI_FLAGS_RO | DI_FLAGS_FIX;
|
||||
tv_dict_add(&fc->l_vars, v);
|
||||
v->di_tv.v_type = VAR_DICT;
|
||||
v->di_tv.v_lock = 0;
|
||||
v->di_tv.v_lock = VAR_UNLOCKED;
|
||||
v->di_tv.vval.v_dict = selfdict;
|
||||
++selfdict->dv_refcount;
|
||||
}
|
||||
|
@ -1847,13 +1847,12 @@ void do_pending_operator(cmdarg_T *cap, int old_col, bool gui_yank)
|
||||
CancelRedo();
|
||||
} else {
|
||||
(void)op_delete(oap);
|
||||
if (oap->motion_type == kMTLineWise && has_format_option(FO_AUTO)) {
|
||||
// cursor line wasn't saved yet
|
||||
if (u_save_cursor() == FAIL) {
|
||||
break;
|
||||
}
|
||||
// save cursor line for undo if it wasn't saved yet
|
||||
if (oap->motion_type == kMTLineWise
|
||||
&& has_format_option(FO_AUTO)
|
||||
&& u_save_cursor() == OK) {
|
||||
auto_format(false, true);
|
||||
}
|
||||
auto_format(false, true);
|
||||
}
|
||||
break;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user