changeset 23638:062caef90f7f v8.2.2361

patch 8.2.2361: Vim9: no highlight for "s///gc" when using 'opfunc' Commit: https://github.com/vim/vim/commit/7c886db915035bc064ca307f02c34ae9d99cc733 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jan 16 14:34:45 2021 +0100 patch 8.2.2361: Vim9: no highlight for "s///gc" when using 'opfunc' Problem: Vim9: no highlight for "s///gc" when using 'opfunc'. Solution: Reset 'lazyredraw' temporarily. (closes https://github.com/vim/vim/issues/7687)
author Bram Moolenaar <Bram@vim.org>
date Sat, 16 Jan 2021 14:45:04 +0100
parents 9ad79d77d810
children a93ecfa78aef
files src/ex_cmds.c src/version.c
diffstat 2 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -4158,6 +4158,7 @@ ex_substitute(exarg_T *eap)
 			{
 			    char_u *orig_line = NULL;
 			    int    len_change = 0;
+			    int	   save_p_lz = p_lz;
 #ifdef FEAT_FOLDING
 			    int save_p_fen = curwin->w_p_fen;
 
@@ -4168,6 +4169,9 @@ ex_substitute(exarg_T *eap)
 			    temp = RedrawingDisabled;
 			    RedrawingDisabled = 0;
 
+			    // avoid calling update_screen() in vgetorpeek()
+			    p_lz = FALSE;
+
 			    if (new_start != NULL)
 			    {
 				// There already was a substitution, we would
@@ -4243,6 +4247,7 @@ ex_substitute(exarg_T *eap)
 			    msg_didout = FALSE;	// don't scroll up
 			    msg_col = 0;
 			    gotocmdline(TRUE);
+			    p_lz = save_p_lz;
 
 			    // restore the line
 			    if (orig_line != NULL)
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2361,
+/**/
     2360,
 /**/
     2359,