patch 9.0.1356: cannot cancel "gr" with Esc

Problem:    Cannot cancel "gr" with Esc.
Solution:   Make "gr<Esc>" do nothing. (closes #12064)
diff --git a/src/testdir/test_edit.vim b/src/testdir/test_edit.vim
index f0896d2..79e3c3f 100644
--- a/src/testdir/test_edit.vim
+++ b/src/testdir/test_edit.vim
@@ -573,6 +573,7 @@
   call assert_equal([0, 3, 7, 0], getpos('.'))
   call feedkeys("i\<c-g>j\<esc>", 'tnix')
   call assert_equal([0, 3, 6, 0], getpos('.'))
+  call assert_nobeep("normal! i\<c-g>\<esc>")
   bw!
 endfunc
 
@@ -2064,20 +2065,6 @@
   bwipe!
 endfunc
 
-" Test "gr" followed by an Insert mode command does get out of Insert mode.
-func Test_edit_gr_special()
-  enew
-  call setline(1, ['abcdef', 'xxxxxx'])
-  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
-
 " Weird long file name was going over the end of NameBuff
 func Test_edit_overlong_file_name()
   CheckUnix
diff --git a/src/testdir/test_normal.vim b/src/testdir/test_normal.vim
index 38234cd..6db5af7 100644
--- a/src/testdir/test_normal.vim
+++ b/src/testdir/test_normal.vim
@@ -3273,9 +3273,9 @@
 endfunc
 
 " Test for the gr (virtual replace) command
-" Test for the bug fixed by 7.4.387
 func Test_gr_command()
   enew!
+  " Test for the bug fixed by 7.4.387
   let save_cpo = &cpo
   call append(0, ['First line', 'Second line', 'Third line'])
   exe "normal i\<C-G>u"
@@ -3288,10 +3288,12 @@
   normal 4gro
   call assert_equal('ooooecond line', getline(2))
   let &cpo = save_cpo
+
   normal! ggvegrx
   call assert_equal('xxxxx line', getline(1))
   exe "normal! gggr\<C-V>122"
   call assert_equal('zxxxx line', getline(1))
+
   set virtualedit=all
   normal! 15|grl
   call assert_equal('zxxxx line    l', getline(1))
@@ -3299,8 +3301,25 @@
   set nomodifiable
   call assert_fails('normal! grx', 'E21:')
   call assert_fails('normal! gRx', 'E21:')
+  call assert_nobeep("normal! gr\<Esc>")
   set modifiable&
-  enew!
+
+  call assert_nobeep("normal! gr\<Esc>")
+  call assert_beeps("normal! cgr\<Esc>")
+
+  call assert_equal('zxxxx line    l', getline(1))
+  exe "normal! 2|gr\<C-V>\<Esc>"
+  call assert_equal("z\<Esc>xx line    l", getline(1))
+
+  call setline(1, 'abcdef')
+  exe "normal! 0gr\<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
 
 func Test_nv_hat_count()