0
0
mirror of https://github.com/vim/vim.git synced 2025-09-29 04:34:16 -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 else
++len; ++len;
} }
if (len > remaining) if (len > remaining - 2)
{ {
fprintf(fd, ">%d\n|<", len); fprintf(fd, ">%d\n|<", len);
remaining = LSIZE - 20; remaining = LSIZE - 20;

View File

@@ -214,6 +214,19 @@ func Test_viminfo_registers()
call assert_equal(l, getreg('d', 1, 1)) call assert_equal(l, getreg('d', 1, 1))
call assert_equal("V", getregtype('d')) 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') call delete('Xviminfo')
endfunc endfunc

View File

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