mirror of
https://github.com/neovim/neovim.git
synced 2025-09-20 02:08:17 +00:00
fix(api): fix nvim_parse_cmd interfere with printing line in Ex mode (#19400)
This commit is contained in:
@@ -1444,10 +1444,13 @@ bool parse_cmdline(char *cmdline, exarg_T *eap, CmdParseInfo *cmdinfo, char **er
|
||||
eap->getline = NULL;
|
||||
eap->cookie = NULL;
|
||||
|
||||
const bool save_ex_pressedreturn = ex_pressedreturn;
|
||||
// Parse command modifiers
|
||||
if (parse_command_modifiers(eap, errormsg, &cmdinfo->cmdmod, false) == FAIL) {
|
||||
ex_pressedreturn = save_ex_pressedreturn;
|
||||
goto err;
|
||||
}
|
||||
ex_pressedreturn = save_ex_pressedreturn;
|
||||
after_modifier = eap->cmd;
|
||||
|
||||
// Save location after command modifiers
|
||||
@@ -2407,7 +2410,8 @@ char *ex_errmsg(const char *const msg, const char *const arg)
|
||||
/// - Set ex_pressedreturn for an empty command line.
|
||||
///
|
||||
/// @param skip_only if false, undo_cmdmod() must be called later to free
|
||||
/// any cmod_filter_pat and cmod_filter_regmatch.regprog.
|
||||
/// any cmod_filter_pat and cmod_filter_regmatch.regprog,
|
||||
/// and ex_pressedreturn may be set.
|
||||
/// @param[out] errormsg potential error message.
|
||||
///
|
||||
/// Call apply_cmdmod() to get the side effects of the modifiers:
|
||||
@@ -2421,7 +2425,7 @@ int parse_command_modifiers(exarg_T *eap, char **errormsg, cmdmod_T *cmod, bool
|
||||
{
|
||||
char *p;
|
||||
|
||||
memset(cmod, 0, sizeof(*cmod));
|
||||
CLEAR_POINTER(cmod);
|
||||
|
||||
// Repeat until no more command modifiers are found.
|
||||
for (;;) {
|
||||
|
Reference in New Issue
Block a user