Problem: Crash when wiping out a buffer after using getbufinfo().
(Yegappan Lakshmanan)
Solution: Remove b:changedtick from the buffer variables.
++buf_free_count;
free_buffer_stuff(buf, TRUE);
#ifdef FEAT_EVAL
+ /* b:changedtick uses an item in buf_T, remove it now */
+ dictitem_remove(buf->b_vars, (dictitem_T *)&buf->b_ct_di);
unref_var_dict(buf->b_vars);
#endif
#ifdef FEAT_LUA
bwipe!
call assert_equal(1, line('$'))
call assert_equal('', bufname('%'))
- call assert_equal(1, len(getbufinfo()))
+ let g:bufinfo = getbufinfo()
+ call assert_equal(1, len(g:bufinfo))
call delete('Xxx1')
call delete('Xxx2')
%bwipe
au! BufLeave
+
+ " check that bufinfo doesn't contain a pointer to freed memory
+ call test_garbagecollect_now()
endfunc
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1193,
/**/
1192,
/**/