summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/testdir/test_viminfo.vim6
-rw-r--r--src/version.c2
-rw-r--r--src/viminfo.c5
3 files changed, 11 insertions, 2 deletions
diff --git a/src/testdir/test_viminfo.vim b/src/testdir/test_viminfo.vim
index cea78e5748..8206458d9e 100644
--- a/src/testdir/test_viminfo.vim
+++ b/src/testdir/test_viminfo.vim
@@ -1,6 +1,12 @@
" Test for reading and writing .viminfo
function Test_viminfo_read_and_write()
+ " First clear 'history', so that "hislen" is zero. Then set it again,
+ " simulating Vim starting up.
+ set history=0
+ wviminfo Xviminfo
+ set history=1000
+
call histdel(':')
let lines = [
\ '# comment line',
diff --git a/src/version.c b/src/version.c
index 69baf54390..d8b3dfedb8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -778,6 +778,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1731,
+/**/
1730,
/**/
1729,
diff --git a/src/viminfo.c b/src/viminfo.c
index 8880144461..7e192cecd7 100644
--- a/src/viminfo.c
+++ b/src/viminfo.c
@@ -212,9 +212,10 @@ prepare_viminfo_history(int asklen, int writing)
int num;
int type;
int len;
- int hislen = get_hislen();
+ int hislen;
init_history();
+ hislen = get_hislen();
viminfo_add_at_front = (asklen != 0 && !writing);
if (asklen > hislen)
asklen = hislen;
@@ -460,7 +461,7 @@ merge_history(int type)
// Make one long list with all entries.
max_len = hislen + viminfo_hisidx[type];
tot_hist = ALLOC_MULT(histentry_T *, max_len);
- new_hist = ALLOC_MULT(histentry_T, hislen );
+ new_hist = ALLOC_MULT(histentry_T, hislen);
if (tot_hist == NULL || new_hist == NULL)
{
vim_free(tot_hist);