Lines Matching refs:di
1122 dictitem_T *di; in list_hashtable_vars() local
1132 di = HI2DI(hi); in list_hashtable_vars()
1136 vim_strcat((char_u *)buf, di->di_key, IOSIZE); in list_hashtable_vars()
1140 if (empty || di->di_tv.v_type != VAR_STRING in list_hashtable_vars()
1141 || di->di_tv.vval.v_string != NULL) in list_hashtable_vars()
1142 list_one_var(di, prefix, first); in list_hashtable_vars()
1741 dictitem_T *di; in do_unlet() local
1768 di = find_var_in_ht(ht, *name, (char_u *)"", FALSE); in do_unlet()
1769 d = di == NULL ? NULL : di->di_tv.vval.v_dict; in do_unlet()
1782 di = HI2DI(hi); in do_unlet()
1783 if (var_check_fixed(di->di_flags, name, FALSE) in do_unlet()
1784 || var_check_ro(di->di_flags, name, FALSE) in do_unlet()
1814 dictitem_T *di; in do_lock_var() local
1828 di = find_var(lp->ll_name, NULL, TRUE); in do_lock_var()
1829 if (di == NULL) in do_lock_var()
1831 else if ((di->di_flags & DI_FLAGS_FIX) in do_lock_var()
1832 && di->di_tv.v_type != VAR_DICT in do_lock_var()
1833 && di->di_tv.v_type != VAR_LIST) in do_lock_var()
1843 di->di_flags |= DI_FLAGS_LOCK; in do_lock_var()
1845 di->di_flags &= ~DI_FLAGS_LOCK; in do_lock_var()
1847 item_lock(&di->di_tv, deep, lock, FALSE); in do_lock_var()
2179 dictitem_T *di = find_var_in_ht(&vimvarht, 0, name, TRUE); in find_vim_var() local
2182 if (di == NULL) in find_vim_var()
2184 *di_flags = di->di_flags; in find_vim_var()
2185 vv = (struct vimvar *)((char *)di - offsetof(vimvar_T, vv_di)); in find_vim_var()
3114 dictitem_T *di = HI2DI(hi); in delete_var() local
3117 clear_tv(&di->di_tv); in delete_var()
3118 vim_free(di); in delete_var()
3212 dictitem_T *di; in set_var_const() local
3252 di = find_var_in_ht(ht, 0, varname, TRUE); in set_var_const()
3254 if (di == NULL && var_in_vim9script) in set_var_const()
3293 if (di == NULL) in set_var_const()
3294 di = find_var_in_scoped_ht(name, TRUE); in set_var_const()
3297 && var_wrong_func_name(name, di == NULL)) in set_var_const()
3310 if (di != NULL) in set_var_const()
3313 if ((di->di_flags & DI_FLAGS_RELOAD) == 0) in set_var_const()
3336 if (check_script_var_type(&di->di_tv, tv, name, where) in set_var_const()
3342 && var_check_permission(di, name) == FAIL) in set_var_const()
3348 di->di_flags &= ~DI_FLAGS_RELOAD; in set_var_const()
3353 update_vim9_script_var(FALSE, di, flags, tv, &type, in set_var_const()
3363 if (di->di_tv.v_type == VAR_STRING) in set_var_const()
3365 VIM_CLEAR(di->di_tv.vval.v_string); in set_var_const()
3373 if (di->di_tv.vval.v_string == NULL) in set_var_const()
3374 di->di_tv.vval.v_string = vim_strsave(val); in set_var_const()
3379 di->di_tv.vval.v_string = tv->vval.v_string; in set_var_const()
3384 else if (di->di_tv.v_type == VAR_NUMBER) in set_var_const()
3386 di->di_tv.vval.v_number = tv_get_number(tv); in set_var_const()
3388 set_search_direction(di->di_tv.vval.v_number in set_var_const()
3393 no_hlsearch = !di->di_tv.vval.v_number; in set_var_const()
3399 else if (di->di_tv.v_type != tv->v_type) in set_var_const()
3406 clear_tv(&di->di_tv); in set_var_const()
3438 di = alloc(sizeof(dictitem_T) + STRLEN(varname)); in set_var_const()
3439 if (di == NULL) in set_var_const()
3441 STRCPY(di->di_key, varname); in set_var_const()
3442 if (hash_add(ht, DI2HIKEY(di)) == FAIL) in set_var_const()
3444 vim_free(di); in set_var_const()
3447 di->di_flags = DI_FLAGS_ALLOC; in set_var_const()
3449 di->di_flags |= DI_FLAGS_LOCK; in set_var_const()
3454 update_vim9_script_var(TRUE, di, flags, tv, &type, in set_var_const()
3458 dest_tv = &di->di_tv; in set_var_const()
3511 var_check_permission(dictitem_T *di, char_u *name) in var_check_permission() argument
3513 if (var_check_ro(di->di_flags, name, FALSE) in var_check_permission()
3514 || value_check_lock(di->di_tv.v_lock, name, FALSE) in var_check_permission()
3515 || var_check_lock(di->di_flags, name, FALSE)) in var_check_permission()