1
0
forked from aniani/vim

updated for version 7.4.171

Problem:    Redo does not set v:count and v:count1.
Solution:   Use a separate buffer for redo, so that we can set the counts when
            performing redo.
This commit is contained in:
Bram Moolenaar
2014-02-11 15:10:43 +01:00
parent c467d9b274
commit 0a36fece92
6 changed files with 122 additions and 77 deletions

View File

@@ -471,13 +471,17 @@ struct nr_trans
blocknr_T nt_new_bnum; /* new, positive, number */
};
typedef struct buffblock buffblock_T;
typedef struct buffheader buffheader_T;
/*
* structure used to store one block of the stuff/redo/recording buffers
*/
struct buffblock
{
struct buffblock *b_next; /* pointer to next buffblock */
char_u b_str[1]; /* contents (actually longer) */
buffblock_T *b_next; /* pointer to next buffblock */
char_u b_str[1]; /* contents (actually longer) */
};
/*
@@ -485,10 +489,10 @@ struct buffblock
*/
struct buffheader
{
struct buffblock bh_first; /* first (dummy) block of list */
struct buffblock *bh_curr; /* buffblock for appending */
int bh_index; /* index for reading */
int bh_space; /* space in bh_curr for appending */
buffblock_T bh_first; /* first (dummy) block of list */
buffblock_T *bh_curr; /* buffblock for appending */
int bh_index; /* index for reading */
int bh_space; /* space in bh_curr for appending */
};
/*
@@ -964,7 +968,8 @@ typedef struct
int typebuf_valid; /* TRUE when save_typebuf valid */
int old_char;
int old_mod_mask;
struct buffheader save_stuffbuff;
buffheader_T save_readbuf1;
buffheader_T save_readbuf2;
#ifdef USE_INPUT_BUF
char_u *save_inputbuf;
#endif