@@ -435,8 +435,8 @@ struct vimoption
435435
436436 /* when option changed, what to display: */
437437#define P_RSTAT 0x1000 /* redraw status lines */
438- #define P_RWIN 0x2000 /* redraw current window */
439- #define P_RBUF 0x4000 /* redraw current buffer */
438+ #define P_RWIN 0x2000 /* redraw current window and recompute text */
439+ #define P_RBUF 0x4000 /* redraw current buffer and recompute text */
440440#define P_RALL 0x6000 /* redraw all windows */
441441#define P_RCLR 0x7000 /* clear and redraw all */
442442
@@ -457,6 +457,7 @@ struct vimoption
457457#define P_CURSWANT 0x4000000L /* update curswant required; not needed when
458458 * there is a redraw flag */
459459#define P_NDNAME 0x8000000L /* only normal dir name chars allowed */
460+ #define P_RWINONLY 0x10000000L /* only redraw current window */
460461
461462#define ISK_LATIN1 (char_u *)"@,48-57,_,192-255"
462463
@@ -967,7 +968,7 @@ static struct vimoption options[] =
967968 (char_u * )NULL , PV_NONE ,
968969#endif
969970 {(char_u * )FALSE, (char_u * )0L } SCRIPTID_INIT },
970- {"cursorline" , "cul" , P_BOOL |P_VI_DEF |P_RWIN ,
971+ {"cursorline" , "cul" , P_BOOL |P_VI_DEF |P_RWINONLY ,
971972#ifdef FEAT_SYN_HL
972973 (char_u * )VAR_WIN , PV_CUL ,
973974#else
@@ -9055,6 +9056,8 @@ check_redraw(long_u flags)
90559056 changed_window_setting ();
90569057 if (flags & P_RBUF )
90579058 redraw_curbuf_later (NOT_VALID );
9059+ if (flags & P_RWINONLY )
9060+ redraw_later (NOT_VALID );
90589061 if (doclear )
90599062 redraw_all_later (CLEAR );
90609063 else if (all )
0 commit comments