summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/screen.c6
-rw-r--r--src/testdir/test_listchars.vim19
-rw-r--r--src/version.c2
3 files changed, 25 insertions, 2 deletions
diff --git a/src/screen.c b/src/screen.c
index eb81bee84..e56d2bc01 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -5594,8 +5594,10 @@ win_line(
break;
}
- /* line continues beyond line end */
- if (lcs_ext
+ // Show "extends" character from 'listchars' if beyond the line end and
+ // 'list' is set.
+ if (lcs_ext != NUL
+ && wp->w_p_list
&& !wp->w_p_wrap
#ifdef FEAT_DIFF
&& filler_todo <= 0
diff --git a/src/testdir/test_listchars.vim b/src/testdir/test_listchars.vim
index 3eef75d28..5df501039 100644
--- a/src/testdir/test_listchars.vim
+++ b/src/testdir/test_listchars.vim
@@ -110,6 +110,25 @@ func Test_listchars()
call cursor(1, 1)
call assert_equal([expected], ScreenLines(1, virtcol('$')))
+ " test extends
+ normal ggdG
+ set listchars=extends:Z
+ set nowrap
+ set nolist
+ call append(0, [ repeat('A', &columns + 1) ])
+
+ let expected = repeat('A', &columns)
+
+ redraw!
+ call cursor(1, 1)
+ call assert_equal([expected], ScreenLines(1, &columns))
+
+ set list
+ let expected = expected[:-2] . 'Z'
+ redraw!
+ call cursor(1, 1)
+ call assert_equal([expected], ScreenLines(1, &columns))
+
enew!
set listchars& ff&
endfunc
diff --git a/src/version.c b/src/version.c
index 90f9e87bf..1ea47db72 100644
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1299,
+/**/
1298,
/**/
1297,