patch 9.0.1354: "gr CTRL-G" stays in virtual replace mode

Problem:    "gr CTRL-G" stays in virtual replace mode. (Pierre Ganty)
Solution:   Prepend CTRL-V before control characters. (closes #12045)
diff --git a/src/testdir/test_edit.vim b/src/testdir/test_edit.vim
index 1b00ae9..f0896d2 100644
--- a/src/testdir/test_edit.vim
+++ b/src/testdir/test_edit.vim
@@ -2068,8 +2068,12 @@
 func Test_edit_gr_special()
   enew
   call setline(1, ['abcdef', 'xxxxxx'])
-  exe "normal! gr\<C-O>x"
-  call assert_equal('bcdef', getline(1))
+  exe "normal! gr\<C-O>lx"
+  call assert_equal("\<C-O>def", getline(1))
+
+  call setline(1, 'abcdef')
+  exe "normal! 0gr\<C-G>lx"
+  call assert_equal("\<C-G>def", getline(1))
 
   bwipe!
 endfunc