mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
fix(substitute): properly check for empty command line
This commit is contained in:
parent
d73bf3138a
commit
9955209afb
@ -3860,19 +3860,22 @@ static buf_T *do_sub(exarg_T *eap, proftime_T timeout, bool do_buf_event, handle
|
||||
prompt = xmallocz(ec + 1);
|
||||
memset(prompt, ' ', sc);
|
||||
memset(prompt + sc, '^', ec - sc + 1);
|
||||
resp = (char_u *)getcmdline_prompt(NUL, prompt, 0, EXPAND_NOTHING,
|
||||
resp = (char_u *)getcmdline_prompt(-1, prompt, 0, EXPAND_NOTHING,
|
||||
NULL, CALLBACK_NONE);
|
||||
msg_putchar('\n');
|
||||
xfree(prompt);
|
||||
if (resp != NULL) {
|
||||
typed = *resp;
|
||||
xfree(resp);
|
||||
// When ":normal" runs out of characters we get
|
||||
// an empty line. Use "q" to get out of the
|
||||
// loop.
|
||||
if (ex_normal_busy && typed == NUL) {
|
||||
typed = 'q';
|
||||
}
|
||||
} else {
|
||||
// getcmdline_prompt() returns NULL if there is no command line to return.
|
||||
typed = NUL;
|
||||
}
|
||||
// When ":normal" runs out of characters we get
|
||||
// an empty line. Use "q" to get out of the
|
||||
// loop.
|
||||
if (ex_normal_busy && typed == NUL) {
|
||||
typed = 'q';
|
||||
}
|
||||
} else {
|
||||
char_u *orig_line = NULL;
|
||||
|
@ -2330,8 +2330,6 @@ static int vgetorpeek(bool advance)
|
||||
// cmdline window.
|
||||
if (p_im && (State & INSERT)) {
|
||||
c = Ctrl_L;
|
||||
} else if ((State & CMDLINE) && exmode_active) {
|
||||
c = '\n';
|
||||
} else if ((State & CMDLINE) || (cmdwin_type > 0 && tc == ESC)) {
|
||||
c = Ctrl_C;
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user