patch 8.0.0886: crash when using ":term ls"

Problem:    Crash when using ":term ls".
Solution:   Fix line number computation.  Add a test for this.
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index 845f06b..2220a16 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -210,6 +210,31 @@
   call delete('Xtext')
 endfunc
 
+func Test_terminal_scroll()
+  call writefile(range(1, 200), 'Xtext')
+  if has('win32')
+    let cmd = 'cmd /c "type Xtext"'
+  else
+    let cmd = "cat Xtext"
+  endif
+  let buf = term_start(cmd)
+
+  let g:job = term_getjob(buf)
+  call WaitFor('job_status(g:job) == "dead"')
+  call term_wait(buf)
+  if has('win32')
+    " TODO: this should not be needed
+    sleep 100m
+  endif
+
+  call assert_equal('1', getline(1))
+  call assert_equal('49', getline(49))
+  call assert_equal('200', getline(200))
+
+  exe buf . 'bwipe'
+  call delete('Xtext')
+endfunc
+
 func Test_terminal_size()
   let cmd = Get_cat_123_cmd()