0
0
mirror of https://github.com/vim/vim.git synced 2025-10-08 06:04:08 -04:00

patch 8.2.1850: "vat" does not select tags correctly over line break

Problem:    "vat" does not select tags correctly over line break.
Solution:   Adjust the search pattern. (Aufar Gilbran, closes #7136)
This commit is contained in:
Bram Moolenaar
2020-10-15 21:23:28 +02:00
parent ed234f24f3
commit a604ccc959
3 changed files with 16 additions and 2 deletions

View File

@@ -169,6 +169,18 @@ func Test_string_html_objects()
normal! k$vaty
call assert_equal("<html>\n<title>welcome\n</html>", @")
" nested tag that has < in a different line from >
let t = "<div><div\n></div></div>"
$put =t
normal! k0vaty
call assert_equal("<div><div\n></div></div>", @")
" nested tag with attribute that has < in a different line from >
let t = "<div><div\nattr=\"attr\"\n></div></div>"
$put =t
normal! 2k0vaty
call assert_equal("<div><div\nattr=\"attr\"\n></div></div>", @")
set quoteescape&
enew!
endfunc

View File

@@ -1347,7 +1347,7 @@ again:
curwin->w_cursor = old_pos;
goto theend;
}
spat = alloc(len + 31);
spat = alloc(len + 39);
epat = alloc(len + 9);
if (spat == NULL || epat == NULL)
{
@@ -1356,7 +1356,7 @@ again:
curwin->w_cursor = old_pos;
goto theend;
}
sprintf((char *)spat, "<%.*s\\>\\%%(\\s\\_[^>]\\{-}[^/]>\\|>\\)\\c", len, p);
sprintf((char *)spat, "<%.*s\\>\\%%(\\_s\\_[^>]\\{-}\\_[^/]>\\|\\_s\\?>\\)\\c", len, p);
sprintf((char *)epat, "</%.*s>\\c", len, p);
r = do_searchpair(spat, (char_u *)"", epat, FORWARD, NULL,

View File

@@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1850,
/**/
1849,
/**/