diff --git a/src/search.c b/src/search.c index 66ae647185..a12a1d33c5 100644 --- a/src/search.c +++ b/src/search.c @@ -4106,9 +4106,10 @@ again: } 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 f02619fc09..6a2f5044cc 100644 --- a/src/testdir/test_textobjects.vim +++ b/src/testdir/test_textobjects.vim @@ -121,6 +121,23 @@ func Test_string_html_objects() enew! endfunc +func Test_empty_html_tag() + new + call setline(1, '
') + normal 0citxxx + call assert_equal('