# HG changeset patch # User Christian Brabandt # Date 1500477304 -7200 # Node ID c43118ecb0a392c8400ad1b10b8bad651ef81e39 # Parent 8f67bf01e910bc1c205f5e5cd52856989942c07e patch 8.0.0735: no indication that the quickfix window/buffer changed commit https://github.com/vim/vim/commit/a8788f4d0b991f466b607c2c5bc6fd600bc78a97 Author: Bram Moolenaar Date: Wed Jul 19 17:06:20 2017 +0200 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) diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt --- a/runtime/doc/quickfix.txt +++ b/runtime/doc/quickfix.txt @@ -425,7 +425,9 @@ 2. The error window *quickfix-window 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 diff --git a/src/quickfix.c b/src/quickfix.c --- a/src/quickfix.c +++ b/src/quickfix.c @@ -3286,6 +3286,7 @@ qf_update_buffer(qf_info_T *qi, qfline_T qf_update_win_titlevar(qi); qf_fill_buffer(qi, buf, old_last); + ++CHANGEDTICK(buf); if (old_last == NULL) { diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim --- a/src/testdir/test_quickfix.vim +++ b/src/testdir/test_quickfix.vim @@ -2263,3 +2263,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 diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -770,6 +770,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 735, +/**/ 734, /**/ 733,