patch 8.1.0002: :stopinsert changes the message position

Problem:    :stopinsert changes the message position.
Solution:   Save and restore msg_col and msg_row in clearmode(). (Jason
            Franklin)
diff --git a/src/testdir/test_messages.vim b/src/testdir/test_messages.vim
index 188406e..384d2aa 100644
--- a/src/testdir/test_messages.vim
+++ b/src/testdir/test_messages.vim
@@ -38,3 +38,24 @@
     let &more = oldmore
   endtry
 endfunction
+
+" Patch 7.4.1696 defined the "clearmode()" command for clearing the mode
+" indicator (e.g., "-- INSERT --") when ":stopinsert" is invoked.  Message
+" output could then be disturbed when 'cmdheight' was greater than one.
+" This test ensures that the bugfix for this issue remains in place.
+function! Test_stopinsert_does_not_break_message_output()
+  set cmdheight=2
+  redraw!
+
+  stopinsert | echo 'test echo'
+  call assert_equal(116, screenchar(&lines - 1, 1))
+  call assert_equal(32, screenchar(&lines, 1))
+  redraw!
+
+  stopinsert | echomsg 'test echomsg'
+  call assert_equal(116, screenchar(&lines - 1, 1))
+  call assert_equal(32, screenchar(&lines, 1))
+  redraw!
+
+  set cmdheight&
+endfunction