diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-11-30 15:05:22 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-11-30 15:05:22 +0100 |
commit | dee50a518007b3a59f54b8ad018b6a83993593e7 (patch) | |
tree | 33c91c65505b6efc3c100a995a9774cdeda0983a /src/buffer.c | |
parent | 7257073043252c2e01c8e168e6842a1121797243 (diff) |
patch 8.1.2363: ml_get error when accessing Visual area in 'statusline'v8.1.2363
Problem: ml_get error when accessing Visual area in 'statusline'.
Solution: Disable Visual mode when using another window. (closes #5278)
Diffstat (limited to 'src/buffer.c')
-rw-r--r-- | src/buffer.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/buffer.c b/src/buffer.c index cba84c629a..3b50c89379 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -3979,6 +3979,7 @@ build_stl_str_hl( #ifdef FEAT_EVAL win_T *save_curwin; buf_T *save_curbuf; + int save_VIsual_active; #endif int empty_line; colnr_T virtcol; @@ -4368,13 +4369,18 @@ build_stl_str_hl( save_curbuf = curbuf; save_curwin = curwin; + save_VIsual_active = VIsual_active; curwin = wp; curbuf = wp->w_buffer; + // Visual mode is only valid in the current window. + if (curwin != save_curwin) + VIsual_active = FALSE; str = eval_to_string_safe(p, &t, use_sandbox); curwin = save_curwin; curbuf = save_curbuf; + VIsual_active = save_VIsual_active; do_unlet((char_u *)"g:actual_curbuf", TRUE); do_unlet((char_u *)"g:actual_curwin", TRUE); |