patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag

Problem:    "cit" on an empty HTML tag changes the whole tag.
Solution:   Only adjust the area in Visual mode. (Andy Massimino,
            closes #3332)
diff --git a/src/search.c b/src/search.c
index 66ae647..a12a1d3 100644
--- a/src/search.c
+++ b/src/search.c
@@ -4106,9 +4106,10 @@
 	    }
 	curwin->w_cursor = end_pos;
 
-	/* If we now have the same text as before reset "do_include" and try
-	 * again. */
-	if (EQUAL_POS(start_pos, old_start) && EQUAL_POS(end_pos, old_end))
+	// If we are in Visual mode and now have the same text as before set
+	// "do_include" and try again.
+	if (VIsual_active && EQUAL_POS(start_pos, old_start)
+						&& EQUAL_POS(end_pos, old_end))
 	{
 	    do_include = TRUE;
 	    curwin->w_cursor = old_start;
diff --git a/src/testdir/test_textobjects.vim b/src/testdir/test_textobjects.vim
index f02619f..6a2f504 100644
--- a/src/testdir/test_textobjects.vim
+++ b/src/testdir/test_textobjects.vim
@@ -121,6 +121,23 @@
   enew!
 endfunc
 
+func Test_empty_html_tag()
+  new
+  call setline(1, '<div></div>')
+  normal 0citxxx
+  call assert_equal('<div>xxx</div>', getline(1))
+
+  call setline(1, '<div></div>')
+  normal 0f<cityyy
+  call assert_equal('<div>yyy</div>', getline(1))
+
+  call setline(1, '<div></div>')
+  normal 0f<vitsaaa
+  call assert_equal('aaa', getline(1))
+
+  bwipe!
+endfunc
+
 " Tests for match() and matchstr()
 func Test_match()
   call assert_equal("b", matchstr("abcd", ".", 0, 2))
diff --git a/src/version.c b/src/version.c
index 66e79d8..279908e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -795,6 +795,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    290,
+/**/
     289,
 /**/
     288,