vim-patch:8.0.0735: no indication that the quickfix window/buffer changed

Problem:    There is no way to notice that the quickfix window contents has
            changed.
Solution:   Increment b:changedtick when updating the quickfix window.
            (Yegappan Lakshmanan)
a8788f4d0b
This commit is contained in:
Jan Edmund Lazo 2018-07-28 23:53:41 -04:00
parent 91b8210779
commit eaa2cd9f7c
3 changed files with 28 additions and 1 deletions

View File

@ -423,7 +423,9 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
which will indicate the command that produced the
quickfix list. This can be used to compose a custom
status line if the value of 'statusline' is adjusted
properly.
properly. Whenever this buffer is modified by a
quickfix command or function, the |b:changedtick|
variable is incremented.
*:lop* *:lopen*
:lop[en] [height] Open a window to show the location list for the

View File

@ -2887,6 +2887,7 @@ static void qf_update_buffer(qf_info_T *qi, qfline_T *old_last)
qf_update_win_titlevar(qi);
qf_fill_buffer(qi, buf, old_last);
buf_inc_changedtick(buf);
if (old_last == NULL) {
(void)qf_win_pos_update(qi, 0);

View File

@ -2245,3 +2245,27 @@ func Test_resize_from_copen()
augroup! QF_Test
endtry
endfunc
" Tests for the quickfix buffer b:changedtick variable
func Xchangedtick_tests(cchar)
call s:setup_commands(a:cchar)
new | only
Xexpr "" | Xexpr "" | Xexpr ""
Xopen
Xolder
Xolder
Xaddexpr "F1:10:Line10"
Xaddexpr "F2:20:Line20"
call g:Xsetlist([{"filename":"F3", "lnum":30, "text":"Line30"}], 'a')
call g:Xsetlist([], 'f')
call assert_equal(8, getbufvar('%', 'changedtick'))
Xclose
endfunc
func Test_changedtick()
call Xchangedtick_tests('c')
call Xchangedtick_tests('l')
endfunc