diff options
Diffstat (limited to 'src/ex_cmds.c')
-rw-r--r-- | src/ex_cmds.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/ex_cmds.c b/src/ex_cmds.c index 6e5e09fbf1..f41bc5f645 100644 --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -3704,6 +3704,7 @@ ex_substitute(exarg_T *eap) int endcolumn = FALSE; // cursor in last column when done pos_T old_cursor = curwin->w_cursor; int start_nsubs; + int cmdheight0 = p_ch == 0; #ifdef FEAT_EVAL int save_ma = 0; int save_sandbox = 0; @@ -4010,6 +4011,14 @@ ex_substitute(exarg_T *eap) } } + if (cmdheight0) + { + // If cmdheight is 0, cmdheight must be set to 1 when we enter command + // line. + set_option_value((char_u *)"ch", 1L, NULL, 0); + redraw_statuslines(); + } + /* * Check for a match on each line. */ @@ -4833,6 +4842,10 @@ outofmem: changed_window_setting(); #endif + // Restore cmdheight + if (cmdheight0) + set_option_value((char_u *)"ch", 0L, NULL, 0); + vim_regfree(regmatch.regprog); vim_free(sub_copy); |