0
0
mirror of https://github.com/vim/vim.git synced 2025-09-26 04:04:07 -04:00

patch 8.2.4107: script context not restored after using <ScriptCmd>

Problem:    Script context not restored after using <ScriptCmd>.
Solution:   Also restore context when not in a script. (closes #9536)
            Add the 'c' flag to feedkeys() to be able to test this.
This commit is contained in:
Bram Moolenaar
2022-01-16 13:30:33 +00:00
parent fa1a457059
commit a9725221ac
5 changed files with 36 additions and 4 deletions

View File

@@ -3797,7 +3797,7 @@ getcmdkeycmd(
}
}
else
ga_append(&line_ga, (char)c1);
ga_append(&line_ga, c1);
cmod = 0;
}
@@ -3815,7 +3815,7 @@ do_cmdkey_command(int key UNUSED, int flags)
{
int res;
#ifdef FEAT_EVAL
sctx_T save_current_sctx = {0, 0, 0, 0};
sctx_T save_current_sctx = {-1, 0, 0, 0};
if (key == K_SCRIPT_COMMAND && last_used_map != NULL)
{
@@ -3827,7 +3827,7 @@ do_cmdkey_command(int key UNUSED, int flags)
res = do_cmdline(NULL, getcmdkeycmd, NULL, flags);
#ifdef FEAT_EVAL
if (save_current_sctx.sc_sid > 0)
if (save_current_sctx.sc_sid >= 0)
current_sctx = save_current_sctx;
#endif