summaryrefslogtreecommitdiff
path: root/src/evalbuffer.c
diff options
context:
space:
mode:
authorLemonBoy <thatlemon@gmail.com>2022-05-22 15:35:53 +0100
committerBram Moolenaar <Bram@vim.org>2022-05-22 15:35:53 +0100
commit9b2edfd3bf2f14a1faaee9b62930598a2e77a798 (patch)
tree9fe3171945da415e62d665f2393acdde85904069 /src/evalbuffer.c
parent8a3704723c40779d688ef957dbe5bd8b65c25f95 (diff)
downloadvim-git-9b2edfd3bf2f14a1faaee9b62930598a2e77a798.tar.gz
patch 8.2.5002: deletebufline() may change Visual selectionv8.2.5002
Problem: deletebufline() may change Visual selection. Solution: Disable Visual mode when using another buffer. (closes #10469)
Diffstat (limited to 'src/evalbuffer.c')
-rw-r--r--src/evalbuffer.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/evalbuffer.c b/src/evalbuffer.c
index 13f813ebd..7de727177 100644
--- a/src/evalbuffer.c
+++ b/src/evalbuffer.c
@@ -510,6 +510,7 @@ f_deletebufline(typval_T *argvars, typval_T *rettv)
tabpage_T *tp;
win_T *wp;
int did_emsg_before = did_emsg;
+ int save_VIsual_active = VIsual_active;
rettv->vval.v_number = 1; // FAIL by default
@@ -538,6 +539,7 @@ f_deletebufline(typval_T *argvars, typval_T *rettv)
if (!is_curbuf)
{
+ VIsual_active = FALSE;
curbuf_save = curbuf;
curwin_save = curwin;
curbuf = buf;
@@ -582,6 +584,7 @@ f_deletebufline(typval_T *argvars, typval_T *rettv)
{
curbuf = curbuf_save;
curwin = curwin_save;
+ VIsual_active = save_VIsual_active;
}
rettv->vval.v_number = 0; // OK
}