patch 8.2.2938: after using motion force from feedkeys() it sticks

Problem:    After using motion force from feedkeys() it may not be reset.
Solution:   Clear motion_force in clearop(). (closes #8323)
diff --git a/src/normal.c b/src/normal.c
index c4c1679..fe47e2b 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -1750,6 +1750,7 @@
     oap->regname = 0;
     oap->motion_force = NUL;
     oap->use_reg_one = FALSE;
+    motion_force = NUL;
 }
 
     void
diff --git a/src/testdir/test_visual.vim b/src/testdir/test_visual.vim
index 1b3661c..b368c32 100644
--- a/src/testdir/test_visual.vim
+++ b/src/testdir/test_visual.vim
@@ -913,6 +913,15 @@
   set tabstop& shiftwidth&
 endfunc
 
+func Test_visual_force_motion_feedkeys()
+    onoremap <expr> i- execute('let g:mode = mode(1)')->slice(0, 0)
+    call feedkeys('dvi-', 'x')
+    call assert_equal('nov', g:mode)
+    call feedkeys('di-', 'x')
+    call assert_equal('no', g:mode)
+    ounmap i-
+endfunc
+
 " Test block-insert using cursor keys for movement
 func Test_visual_block_insert_cursor_keys()
   new
diff --git a/src/version.c b/src/version.c
index d59df5c..3ac26ab 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2938,
+/**/
     2937,
 /**/
     2936,