0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 8.1.0992: a :normal command resets the reg_executing() result

Problem:    A :normal command while executing a register resets the
            reg_executing() result.
Solution:   Save and restore reg_executing. (closes #4066)
This commit is contained in:
Bram Moolenaar
2019-03-04 11:40:12 +01:00
parent 975880b6e6
commit cce713ddcc
4 changed files with 25 additions and 11 deletions

View File

@@ -2625,19 +2625,19 @@ typedef struct w_line
*/
struct frame_S
{
char fr_layout; /* FR_LEAF, FR_COL or FR_ROW */
char fr_layout; // FR_LEAF, FR_COL or FR_ROW
int fr_width;
int fr_newwidth; /* new width used in win_equal_rec() */
int fr_newwidth; // new width used in win_equal_rec()
int fr_height;
int fr_newheight; /* new height used in win_equal_rec() */
frame_T *fr_parent; /* containing frame or NULL */
frame_T *fr_next; /* frame right or below in same parent, NULL
for first */
frame_T *fr_prev; /* frame left or above in same parent, NULL
for last */
/* fr_child and fr_win are mutually exclusive */
frame_T *fr_child; /* first contained frame */
win_T *fr_win; /* window that fills this frame */
int fr_newheight; // new height used in win_equal_rec()
frame_T *fr_parent; // containing frame or NULL
frame_T *fr_next; // frame right or below in same parent, NULL
// for last
frame_T *fr_prev; // frame left or above in same parent, NULL
// for first
// fr_child and fr_win are mutually exclusive
frame_T *fr_child; // first contained frame
win_T *fr_win; // window that fills this frame
};
#define FR_LEAF 0 /* frame is a leaf */
@@ -3527,6 +3527,7 @@ typedef struct {
int save_insertmode;
int save_finish_op;
int save_opcount;
int save_reg_executing;
tasave_T tabuf;
} save_state_T;