patch 8.2.0019: cannot number of lines of another buffer
Problem: Cannot number of lines of another buffer.
Solution: Add "linecount" to getbufinfo(). (Yasuhiro Matsumoto,
closes #5370)
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index eeb19e9..070582d3 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -4796,6 +4796,8 @@
{only with the |+viminfo| feature}
listed TRUE if the buffer is listed.
lnum current line number in buffer.
+ linecount number of lines in the buffer (only
+ valid when loaded)
loaded TRUE if the buffer is loaded.
name full path to the file in the buffer.
signs list of signs placed in the buffer.
diff --git a/src/evalbuffer.c b/src/evalbuffer.c
index a475165..09db525 100644
--- a/src/evalbuffer.c
+++ b/src/evalbuffer.c
@@ -545,6 +545,7 @@
dict_add_string(dict, "name", buf->b_ffname);
dict_add_number(dict, "lnum", buf == curbuf ? curwin->w_cursor.lnum
: buflist_findlnum(buf));
+ dict_add_number(dict, "linecount", buf->b_ml.ml_line_count);
dict_add_number(dict, "loaded", buf->b_ml.ml_mfp != NULL);
dict_add_number(dict, "listed", buf->b_p_bl);
dict_add_number(dict, "changed", bufIsChanged(buf));
diff --git a/src/testdir/test_bufwintabinfo.vim b/src/testdir/test_bufwintabinfo.vim
index bebaca6..d61670b 100644
--- a/src/testdir/test_bufwintabinfo.vim
+++ b/src/testdir/test_bufwintabinfo.vim
@@ -154,3 +154,13 @@
call assert_equal(getbufinfo('Xtestfile2')[0].lastused, 7654321)
call test_settime(0)
endfunc
+
+func Test_getbufinfo_lines()
+ new Xfoo
+ call setline(1, ['a', 'bc', 'd'])
+ let bn = bufnr('%')
+ hide
+ call assert_equal(3, getbufinfo(bn)[0]["linecount"])
+ edit Xfoo
+ bw!
+endfunc
diff --git a/src/version.c b/src/version.c
index 65924cd..67d4918 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 19,
+/**/
18,
/**/
17,