aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_docmd.c
diff options
context:
space:
mode:
authoritchyny <itchyny@hatena.ne.jp>2021-09-20 23:33:10 +0900
committerGitHub <noreply@github.com>2021-09-20 07:33:10 -0700
commit1f8c91bf729707fdb005292aecca8dd79538f4a5 (patch)
tree7e669cd6e6ae76361ddc031b44d3a1303426c6f0 /src/nvim/ex_docmd.c
parent30fefee684e641a0c6867446c6de30efa2f0a126 (diff)
downloadrneovim-1f8c91bf729707fdb005292aecca8dd79538f4a5.tar.gz
rneovim-1f8c91bf729707fdb005292aecca8dd79538f4a5.tar.bz2
rneovim-1f8c91bf729707fdb005292aecca8dd79538f4a5.zip
fix(inccommand): ignore trailing commands only for *previewed* command #15638
Since the `State` is global, other scripts are unexpectedly affected during the 'inccommand' preview. This commit introduces a new flag for `do_cmdline`, in order to ignore trailing '|'-separated commands only for the command invoking the preview. fix #8796, update #7494
Diffstat (limited to 'src/nvim/ex_docmd.c')
-rw-r--r--src/nvim/ex_docmd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c
index 34497eb212..1f11b6b9ef 100644
--- a/src/nvim/ex_docmd.c
+++ b/src/nvim/ex_docmd.c
@@ -304,6 +304,7 @@ int do_cmdline_cmd(const char *cmd)
/// DOCMD_KEYTYPED - Don't reset KeyTyped.
/// DOCMD_EXCRESET - Reset the exception environment (used for debugging).
/// DOCMD_KEEPLINE - Store first typed line (for repeating with ".").
+/// DOCMD_PREVIEW - During 'inccommand' preview.
///
/// @param cookie argument for fgetline()
///
@@ -606,7 +607,7 @@ int do_cmdline(char_u *cmdline, LineGetter fgetline, void *cookie, int flags)
recursive--;
// Ignore trailing '|'-separated commands in preview-mode ('inccommand').
- if (State & CMDPREVIEW) {
+ if ((State & CMDPREVIEW) && (flags & DOCMD_PREVIEW)) {
next_cmdline = NULL;
}