Mercurial > vim
changeset 9978:baad324e9fbc v7.4.2262
commit https://github.com/vim/vim/commit/257095760732597983bdd026e791907b7980e295
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Aug 26 20:41:16 2016 +0200
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 https://github.com/vim/vim/issues/1010)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 26 Aug 2016 20:45:08 +0200 |
parents | 5b1f5a97901a |
children | 782064bf4bc1 |
files | src/ex_cmds.c src/testdir/test_viminfo.vim src/version.c |
diffstat | 3 files changed, 16 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -2526,7 +2526,7 @@ barline_writestring(FILE *fd, char_u *s, else ++len; } - if (len > remaining) + if (len > remaining - 2) { fprintf(fd, ">%d\n|<", len); remaining = LSIZE - 20;
--- a/src/testdir/test_viminfo.vim +++ b/src/testdir/test_viminfo.vim @@ -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