patch 9.0.0656: cannot specify another character to use instead of '@'

Problem:    Cannot specify another character to use instead of '@' at the end
            of the window.
Solution:   Add "lastline" to 'fillchars'. (Martin Tournoij, closes #11264,
            closes #10963)
diff --git a/src/testdir/dumps/Test_display_lastline_1.dump b/src/testdir/dumps/Test_display_lastline_1.dump
index b0e34ea..d074773 100644
--- a/src/testdir/dumps/Test_display_lastline_1.dump
+++ b/src/testdir/dumps/Test_display_lastline_1.dump
@@ -1,10 +1,10 @@
 >a+0&#ffffff0||+1&&|a+0&&@2| @69
 |a||+1&&|b+0&&@72
-|a||+1&&|b+0&&@26| @45
+|a||+1&&|b+0&&@72
+@1||+1&&|b+0&&@53| @18
 |b||+1&&|~+0#4040ff13&| @71
 |b+0#0000000&||+1&&|~+0#4040ff13&| @71
 |b+0#0000000&||+1&&|~+0#4040ff13&| @71
-|b+0#0000000&||+1&&|~+0#4040ff13&| @71
 |@||+1#0000000&|~+0#4040ff13&| @71
 |<+3#0000000&| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @41|1|,|1| @11|A|l@1
 | +0&&@74
diff --git a/src/testdir/dumps/Test_display_lastline_2.dump b/src/testdir/dumps/Test_display_lastline_2.dump
index 2bd3309..065e5d8 100644
--- a/src/testdir/dumps/Test_display_lastline_2.dump
+++ b/src/testdir/dumps/Test_display_lastline_2.dump
@@ -1,10 +1,10 @@
 >a+0&#ffffff0||+1&&|a+0&&@2| @69
 |a||+1&&|b+0&&@72
-|a||+1&&|b+0&&@26| @45
+|a||+1&&|b+0&&@72
+@1||+1&&|b+0&&@53| @18
 |b||+1&&|~+0#4040ff13&| @71
 |b+0#0000000&||+1&&|~+0#4040ff13&| @71
 |b+0#0000000&||+1&&|~+0#4040ff13&| @71
-|b+0#0000000&||+1&&|~+0#4040ff13&| @71
 |@||+1#0000000&|~+0#4040ff13&| @71
 |<+3#0000000&| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @41|1|,|1| @11|A|l@1
 |:+0&&|s|e|t| |d|i|s|p|l|a|y|=|l|a|s|t|l|i|n|e| @53
diff --git a/src/testdir/dumps/Test_display_lastline_3.dump b/src/testdir/dumps/Test_display_lastline_3.dump
index a0b6e09..38673ab 100644
--- a/src/testdir/dumps/Test_display_lastline_3.dump
+++ b/src/testdir/dumps/Test_display_lastline_3.dump
@@ -1,7 +1,7 @@
 >a+0&#ffffff0@2| @69||+1&&|a+0&&
 |b@72||+1&&|a+0&&
-|b@26| @45||+1&&|a+0&&
-|~+0#4040ff13&| @71||+1#0000000&|b+0&&
+|b@72||+1&&|a+0&&
+|b@53| @18||+1&&|b+0&&
 |~+0#4040ff13&| @71||+1#0000000&|b+0&&
 |~+0#4040ff13&| @71||+1#0000000&|b+0&&
 |~+0#4040ff13&| @71||+1#0000000&|b+0&&
diff --git a/src/testdir/dumps/Test_display_lastline_4.dump b/src/testdir/dumps/Test_display_lastline_4.dump
index e34e7c7..2978631 100644
--- a/src/testdir/dumps/Test_display_lastline_4.dump
+++ b/src/testdir/dumps/Test_display_lastline_4.dump
@@ -1,7 +1,7 @@
 >a+0&#ffffff0@2| @69||+1&&|a+0&&
 |b@72||+1&&|a+0&&
-|b@26| @45||+1&&|a+0&&
-|~+0#4040ff13&| @71||+1#0000000&|b+0&&
+|b@72||+1&&|a+0&&
+|b@53| @18||+1&&|b+0&&
 |~+0#4040ff13&| @71||+1#0000000&|b+0&&
 |~+0#4040ff13&| @71||+1#0000000&|b+0&&
 |~+0#4040ff13&| @71||+1#0000000&|b+0&&
diff --git a/src/testdir/dumps/Test_display_lastline_5.dump b/src/testdir/dumps/Test_display_lastline_5.dump
new file mode 100644
index 0000000..7567da1
--- /dev/null
+++ b/src/testdir/dumps/Test_display_lastline_5.dump
@@ -0,0 +1,10 @@
+>a+0&#ffffff0@2| @71
+|b@74
+|@+0#4040ff13&@2| @71
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|T|o|p
+|a+0&&@2| @71
+|b@74
+@75
+@50| @24
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|A|l@1
+|:+0&&|3|s|p|l|i|t| @67
diff --git a/src/testdir/dumps/Test_display_lastline_euro_1.dump b/src/testdir/dumps/Test_display_lastline_euro_1.dump
new file mode 100644
index 0000000..2223d87
--- /dev/null
+++ b/src/testdir/dumps/Test_display_lastline_euro_1.dump
@@ -0,0 +1,10 @@
+>a+0&#ffffff0||+1&&|a+0&&@2| @69
+|a||+1&&|b+0&&@72
+|a||+1&&|b+0&&@72
+@1||+1&&|b+0&&@53| @18
+|b||+1&&|~+0#4040ff13&| @71
+|b+0#0000000&||+1&&|~+0#4040ff13&| @71
+|b+0#0000000&||+1&&|~+0#4040ff13&| @71
+|€||+1#0000000&|~+0#4040ff13&| @71
+|<+3#0000000&| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @41|1|,|1| @11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_display_lastline_euro_2.dump b/src/testdir/dumps/Test_display_lastline_euro_2.dump
new file mode 100644
index 0000000..e8da202
--- /dev/null
+++ b/src/testdir/dumps/Test_display_lastline_euro_2.dump
@@ -0,0 +1,10 @@
+>a+0&#ffffff0||+1&&|a+0&&@2| @69
+|a||+1&&|b+0&&@72
+|a||+1&&|b+0&&@72
+@1||+1&&|b+0&&@53| @18
+|b||+1&&|~+0#4040ff13&| @71
+|b+0#0000000&||+1&&|~+0#4040ff13&| @71
+|b+0#0000000&||+1&&|~+0#4040ff13&| @71
+|€||+1#0000000&|~+0#4040ff13&| @71
+|<+3#0000000&| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @41|1|,|1| @11|A|l@1
+|:+0&&|s|e|t| |d|i|s|p|l|a|y|=|l|a|s|t|l|i|n|e| @53
diff --git a/src/testdir/dumps/Test_display_lastline_euro_3.dump b/src/testdir/dumps/Test_display_lastline_euro_3.dump
new file mode 100644
index 0000000..db414e7
--- /dev/null
+++ b/src/testdir/dumps/Test_display_lastline_euro_3.dump
@@ -0,0 +1,10 @@
+>a+0&#ffffff0@2| @69||+1&&|a+0&&
+|b@72||+1&&|a+0&&
+|b@72||+1&&|a+0&&
+|b@53| @18||+1&&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|€+0#4040ff13&
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @41|1|,|1| @11|A|l@1| |<+1&&
+|:+0&&|1|0@1|w|i|n|c|m|d| |>| @62
diff --git a/src/testdir/dumps/Test_display_lastline_euro_4.dump b/src/testdir/dumps/Test_display_lastline_euro_4.dump
new file mode 100644
index 0000000..492438c
--- /dev/null
+++ b/src/testdir/dumps/Test_display_lastline_euro_4.dump
@@ -0,0 +1,10 @@
+>a+0&#ffffff0@2| @69||+1&&|a+0&&
+|b@72||+1&&|a+0&&
+|b@72||+1&&|a+0&&
+|b@53| @18||+1&&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|€+0#4040ff13&
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @41|1|,|1| @11|A|l@1| |<+1&&
+|:+0&&|s|e|t| |d|i|s|p|l|a|y|=|t|r|u|n|c|a|t|e| @53
diff --git a/src/testdir/dumps/Test_display_lastline_euro_5.dump b/src/testdir/dumps/Test_display_lastline_euro_5.dump
new file mode 100644
index 0000000..75fc732
--- /dev/null
+++ b/src/testdir/dumps/Test_display_lastline_euro_5.dump
@@ -0,0 +1,10 @@
+>a+0&#ffffff0@2| @71
+|b@74
+|€+0#4040ff13&@2| @71
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|T|o|p
+|a+0&&@2| @71
+|b@74
+@75
+@50| @24
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|A|l@1
+|:+0&&|3|s|p|l|i|t| @67
diff --git a/src/testdir/test_display.vim b/src/testdir/test_display.vim
index 7237ed8..4d2ee9f 100644
--- a/src/testdir/test_display.vim
+++ b/src/testdir/test_display.vim
@@ -391,30 +391,46 @@
   let &breakat=_breakat
 endfunc
 
-func Test_display_lastline()
-  CheckScreendump
-
+func Run_Test_display_lastline(euro)
   let lines =<< trim END
-      call setline(1, ['aaa', 'b'->repeat(100)])
+      call setline(1, ['aaa', 'b'->repeat(200)])
       set display=truncate
+
       vsplit
       100wincmd <
   END
+  if a:euro != ''
+    let lines[2] = 'set fillchars=vert:\|,lastline:€'
+  endif
   call writefile(lines, 'XdispLastline', 'D')
   let buf = RunVimInTerminal('-S XdispLastline', #{rows: 10})
-  call VerifyScreenDump(buf, 'Test_display_lastline_1', {})
+  call VerifyScreenDump(buf, $'Test_display_lastline_{a:euro}1', {})
 
   call term_sendkeys(buf, ":set display=lastline\<CR>")
-  call VerifyScreenDump(buf, 'Test_display_lastline_2', {})
+  call VerifyScreenDump(buf, $'Test_display_lastline_{a:euro}2', {})
 
   call term_sendkeys(buf, ":100wincmd >\<CR>")
-  call VerifyScreenDump(buf, 'Test_display_lastline_3', {})
+  call VerifyScreenDump(buf, $'Test_display_lastline_{a:euro}3', {})
 
   call term_sendkeys(buf, ":set display=truncate\<CR>")
-  call VerifyScreenDump(buf, 'Test_display_lastline_4', {})
+  call VerifyScreenDump(buf, $'Test_display_lastline_{a:euro}4', {})
+
+  call term_sendkeys(buf, ":close\<CR>")
+  call term_sendkeys(buf, ":3split\<CR>")
+  call VerifyScreenDump(buf, $'Test_display_lastline_{a:euro}5', {})
 
   call StopVimInTerminal(buf)
 endfunc
 
+func Test_display_lastline()
+  CheckScreendump
+
+  call Run_Test_display_lastline('')
+  call Run_Test_display_lastline('euro_')
+
+  call assert_fails(':set fillchars=lastline:', 'E474:')
+  call assert_fails(':set fillchars=lastline:〇', 'E474:')
+endfunc
+
 
 " vim: shiftwidth=2 sts=2 expandtab