0
0
mirror of https://github.com/vim/vim.git synced 2025-09-28 04:24:06 -04:00

patch 7.4.2262

Problem:    Fail to read register content from viminfo if it is 438 characters
            long. (John Chen)
Solution:   Adjust the check for line wrapping. (closes #1010)
This commit is contained in:
Bram Moolenaar
2016-08-26 20:41:16 +02:00
parent 7df0f6313a
commit 2570957607
3 changed files with 16 additions and 1 deletions

View File

@@ -2526,7 +2526,7 @@ barline_writestring(FILE *fd, char_u *s, int remaining_start)
else
++len;
}
if (len > remaining)
if (len > remaining - 2)
{
fprintf(fd, ">%d\n|<", len);
remaining = LSIZE - 20;

View File

@@ -214,6 +214,19 @@ func Test_viminfo_registers()
call assert_equal(l, getreg('d', 1, 1))
call assert_equal("V", getregtype('d'))
" Length around 440 switches to line continuation.
let len = 434
while len < 445
let s = repeat('a', len)
call setreg('"', s)
wviminfo Xviminfo
call setreg('"', '')
rviminfo Xviminfo
call assert_equal(s, getreg('"'), 'wrong register at length: ' . len)
let len += 1
endwhile
call delete('Xviminfo')
endfunc

View File

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