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.
diff --git a/src/structs.h b/src/structs.h
index 4186416..c3f0312 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -471,13 +471,17 @@
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 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 @@
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