free_buf_options(buf, TRUE);
}
#ifdef FEAT_EVAL
- vars_clear(&buf->b_vars); /* free all internal variables */
+ vars_clear(&buf->b_vars.dv_hashtab); /* free all internal variables */
+ hash_init(&buf->b_vars.dv_hashtab);
#endif
#ifdef FEAT_USR_CMDS
uc_clear(&buf->b_ucmds); /* clear local user commands */
buf->b_wininfo->wi_win = curwin;
#ifdef FEAT_EVAL
- vars_init(&buf->b_vars); /* init internal variables */
+ init_var_dict(&buf->b_vars, &buf->b_bufvar); /* init b: variables */
+#endif
+#ifdef FEAT_SYN_HL
+ hash_init(&buf->b_keywtab);
+ hash_init(&buf->b_keywtab_ic);
#endif
buf->b_fname = buf->b_sfname;
}
#endif
#ifdef FEAT_EVAL
- vars_init(&newwin->w_vars); /* init internal variables */
+ /* init w: variables */
+ init_var_dict(&newwin->w_vars, &newwin->w_winvar);
#endif
#ifdef FEAT_FOLDING
foldInitWin(newwin);
clear_winopt(&wp->w_allbuf_opt);
#ifdef FEAT_EVAL
- vars_clear(&wp->w_vars); /* free all internal variables */
+ vars_clear(&wp->w_vars.dv_hashtab); /* free all w: variables */
#endif
if (prevwin == wp)