# HG changeset patch # User vimboss # Date 1106689473 0 # Node ID c3075f07a273c4ed64c9ba3fb3caa7e6db0d9790 # Parent 2a8d48bdc5decb084f135262d5892e08e26e1061 updated for version 7.0044 diff --git a/src/buffer.c b/src/buffer.c --- a/src/buffer.c +++ b/src/buffer.c @@ -608,7 +608,8 @@ free_buffer_stuff(buf, free_options) 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 */ @@ -1626,7 +1627,11 @@ buflist_new(ffname, sfname, lnum, flags) 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; diff --git a/src/window.c b/src/window.c --- a/src/window.c +++ b/src/window.c @@ -3090,7 +3090,8 @@ win_alloc(after) } #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); @@ -3134,7 +3135,7 @@ win_free(wp) 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)