patch 8.2.0238: MS-Windows: job_stop() results in exit value zero

Problem:    MS-Windows: job_stop() results in exit value zero.
Solution:   Call TerminateJobObject() with -1 instead of 0. (Yasuhiro
            Matsumoto, closes #5150, closes #5614)
diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim
index c206810..ebcd76e 100644
--- a/src/testdir/test_channel.vim
+++ b/src/testdir/test_channel.vim
@@ -1991,3 +1991,18 @@
   " this was leaking memory
   call assert_fails("call job_start([''])", "E474:")
 endfunc
+
+func Test_issue_5150()
+  let g:job = job_start('grep foo', {})
+  call job_stop(g:job)
+  sleep 10m
+  call assert_equal(-1, job_info(g:job).exitval)
+  let g:job = job_start('grep foo', {})
+  call job_stop(g:job, 'term')
+  sleep 10m
+  call assert_equal(-1, job_info(g:job).exitval)
+  let g:job = job_start('grep foo', {})
+  call job_stop(g:job, 'kill')
+  sleep 10m
+  call assert_equal(-1, job_info(g:job).exitval)
+endfunc