File tree Expand file tree Collapse file tree 4 files changed +36
-2
lines changed
Expand file tree Collapse file tree 4 files changed +36
-2
lines changed Original file line number Diff line number Diff line change @@ -3582,6 +3582,11 @@ ins_esc(
35823582{
35833583 int temp ;
35843584 static int disabled_redraw = FALSE;
3585+ #ifdef FEAT_CONCEAL
3586+ // Remember if the cursor line was concealed before changing State.
3587+ int cursor_line_was_concealed = curwin -> w_p_cole > 0
3588+ && conceal_cursor_line (curwin );
3589+ #endif
35853590
35863591#ifdef FEAT_SPELL
35873592 check_spell_redraw ();
@@ -3701,6 +3706,11 @@ ins_esc(
37013706 // Re-enable modifyOtherKeys.
37023707 out_str (T_CTI );
37033708 }
3709+ #ifdef FEAT_CONCEAL
3710+ // Check if the cursor line needs redrawing after changing State. If
3711+ // 'concealcursor' is "i" it needs to be redrawn without concealing.
3712+ conceal_check_cursor_line (cursor_line_was_concealed );
3713+ #endif
37043714
37053715 // When recording or for CTRL-O, need to display the new mode.
37063716 // Otherwise remove the mode message.
Original file line number Diff line number Diff line change 1+ |o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
2+ |t|w|o| @1|h|e|r|e| @65
3+ |t|h|r|e@1| @1|t|h|r|e@1| @62
4+ |S|e|c|o|n|d| |w|i|n|d|o|w| @61
5+ |~+0#4040ff13&| @73
6+ |~| @73
7+ |~| @73
8+ |~| @73
9+ |~| @73
10+ |[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
11+ |o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
12+ |t|w|o| |||h|i|d@1|e|n||| >h|e|r|e| @57
13+ |t|h|r|e@1| @1|t|h|r|e@1| @62
14+ |~+0#4040ff13&| @73
15+ |~| @73
16+ |~| @73
17+ |~| @73
18+ |~| @73
19+ |[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
20+ | +0&&@74
Original file line number Diff line number Diff line change @@ -59,9 +59,11 @@ func Test_conceal_two_windows()
5959 " Check that with cursor line is only concealed in Insert mode
6060 call term_sendkeys (buf , " :set concealcursor=i\r " )
6161 call VerifyScreenDump (buf , ' Test_conceal_two_windows_07n' , {})
62- call term_sendkeys (buf , " a" )
62+ call term_sendkeys (buf , " 14| a" )
6363 call VerifyScreenDump (buf , ' Test_conceal_two_windows_07i' , {})
64- call term_sendkeys (buf , " \<Esc> /e" )
64+ call term_sendkeys (buf , " \<Esc> " )
65+ call VerifyScreenDump (buf , ' Test_conceal_two_windows_07in' , {})
66+ call term_sendkeys (buf , " /e" )
6567 call VerifyScreenDump (buf , ' Test_conceal_two_windows_07c' , {})
6668 call term_sendkeys (buf , " \<Esc> v" )
6769 call VerifyScreenDump (buf , ' Test_conceal_two_windows_07v' , {})
Original file line number Diff line number Diff line change @@ -755,6 +755,8 @@ static char *(features[]) =
755755
756756static int included_patches [] =
757757{ /* Add new patch number below this line */
758+ /**/
759+ 3444 ,
758760/**/
759761 3443 ,
760762/**/
You can’t perform that action at this time.
0 commit comments