aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/getchar.c
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2020-10-01 00:38:59 -0400
committerGitHub <noreply@github.com>2020-10-01 00:38:59 -0400
commit36a5c394a59d333bf26780d03f182e79e73d33f5 (patch)
tree6058c5477ef2f00e18135b34c99bb61c6fc6b534 /src/nvim/getchar.c
parent3430e40c609ff29e7fce52f017361583c380f46b (diff)
parent9bac43b1fbe7f9018503ce7da16d4e626e0daabb (diff)
downloadrneovim-36a5c394a59d333bf26780d03f182e79e73d33f5.tar.gz
rneovim-36a5c394a59d333bf26780d03f182e79e73d33f5.tar.bz2
rneovim-36a5c394a59d333bf26780d03f182e79e73d33f5.zip
Merge pull request #12987 from janlazo/vim-8.1.1563
vim-patch:8.1.{1319,1563,1591},8.2.{42,499}
Diffstat (limited to 'src/nvim/getchar.c')
-rw-r--r--src/nvim/getchar.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/nvim/getchar.c b/src/nvim/getchar.c
index c35398cd8d..ecb3931b82 100644
--- a/src/nvim/getchar.c
+++ b/src/nvim/getchar.c
@@ -2044,14 +2044,19 @@ static int vgetorpeek(bool advance)
*/
if (mp->m_expr) {
int save_vgetc_busy = vgetc_busy;
+ const bool save_may_garbage_collect = may_garbage_collect;
vgetc_busy = 0;
+ may_garbage_collect = false;
+
save_m_keys = vim_strsave(mp->m_keys);
save_m_str = vim_strsave(mp->m_str);
s = eval_map_expr(save_m_str, NUL);
vgetc_busy = save_vgetc_busy;
- } else
+ may_garbage_collect = save_may_garbage_collect;
+ } else {
s = mp->m_str;
+ }
/*
* Insert the 'to' part in the typebuf.tb_buf.