forked from aniani/vim
patch 8.1.1731: command line history not read from viminfo on startup
Problem: Command line history not read from viminfo on startup. Solution: Get history length after initializing it.
This commit is contained in:
@@ -1,6 +1,12 @@
|
|||||||
" Test for reading and writing .viminfo
|
" Test for reading and writing .viminfo
|
||||||
|
|
||||||
function Test_viminfo_read_and_write()
|
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(':')
|
call histdel(':')
|
||||||
let lines = [
|
let lines = [
|
||||||
\ '# comment line',
|
\ '# comment line',
|
||||||
|
@@ -777,6 +777,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 */
|
||||||
|
/**/
|
||||||
|
1731,
|
||||||
/**/
|
/**/
|
||||||
1730,
|
1730,
|
||||||
/**/
|
/**/
|
||||||
|
@@ -212,9 +212,10 @@ prepare_viminfo_history(int asklen, int writing)
|
|||||||
int num;
|
int num;
|
||||||
int type;
|
int type;
|
||||||
int len;
|
int len;
|
||||||
int hislen = get_hislen();
|
int hislen;
|
||||||
|
|
||||||
init_history();
|
init_history();
|
||||||
|
hislen = get_hislen();
|
||||||
viminfo_add_at_front = (asklen != 0 && !writing);
|
viminfo_add_at_front = (asklen != 0 && !writing);
|
||||||
if (asklen > hislen)
|
if (asklen > hislen)
|
||||||
asklen = hislen;
|
asklen = hislen;
|
||||||
@@ -460,7 +461,7 @@ merge_history(int type)
|
|||||||
// Make one long list with all entries.
|
// Make one long list with all entries.
|
||||||
max_len = hislen + viminfo_hisidx[type];
|
max_len = hislen + viminfo_hisidx[type];
|
||||||
tot_hist = ALLOC_MULT(histentry_T *, max_len);
|
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)
|
if (tot_hist == NULL || new_hist == NULL)
|
||||||
{
|
{
|
||||||
vim_free(tot_hist);
|
vim_free(tot_hist);
|
||||||
|
Reference in New Issue
Block a user