diff --git a/src/mouse.c b/src/mouse.c index 8789eedc35..1f657b1b09 100644 --- a/src/mouse.c +++ b/src/mouse.c @@ -2109,7 +2109,8 @@ retnomove: #ifdef FEAT_FOLDING // Remember the character under the mouse, it might be a '-' or '+' in // the fold column. - mouse_char = ScreenLines[off]; + mouse_char = enc_utf8 && ScreenLinesUC[off] != 0 + ? ScreenLinesUC[off] : ScreenLines[off]; #endif } diff --git a/src/testdir/test_termcodes.vim b/src/testdir/test_termcodes.vim index bc31cdafa3..652a1bf8c1 100644 --- a/src/testdir/test_termcodes.vim +++ b/src/testdir/test_termcodes.vim @@ -1068,7 +1068,7 @@ func Test_mouse_alt_leftclick() bw! endfunc -func Test_xterm_mouse_click_in_fold_columns() +func Run_test_xterm_mouse_click_in_fold_columns() new let save_mouse = &mouse let save_term = &term @@ -1120,6 +1120,15 @@ func Test_xterm_mouse_click_in_fold_columns() bwipe! endfunc +func Test_xterm_mouse_click_in_fold_columns() + call Run_test_xterm_mouse_click_in_fold_columns() + set fillchars+=foldclose:▶ + call Run_test_xterm_mouse_click_in_fold_columns() + set fillchars-=foldclose:▶ fillchars+=foldclose:! + call Run_test_xterm_mouse_click_in_fold_columns() + set fillchars& +endfunc + " Left or right click in Ex command line sets position of the cursor. func Test_term_mouse_click_in_cmdline_to_set_pos() let save_mouse = &mouse diff --git a/src/version.c b/src/version.c index be217095ac..80affcf8d5 100644 --- a/src/version.c +++ b/src/version.c @@ -724,6 +724,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1777, /**/ 1776, /**/