# define FEAT_SYN_HL
#endif
+/*
+ * +spell spell checking
+ */
+#if defined(FEAT_NORMAL) || defined(PROTO)
+# define FEAT_SPELL
+#endif
+
/*
* +builtin_terms Choose one out of the following four:
*
apply_autocmds(EVENT_ENCODINGCHANGED, NULL, (char_u *)"", FALSE, curbuf);
#endif
-#ifdef FEAT_SYN_HL
+#ifdef FEAT_SPELL
/* Need to reload spell dictionaries */
spell_reload();
#endif
return count;
}
-#if defined(FEAT_SYN_HL) || defined(PROTO)
+#if defined(FEAT_SPELL) || defined(PROTO)
/*
* Like mb_charlen() but for a string with specified length.
*/
)
{
dollar_vcol = 0;
- if (curwin->w_skipcol)
+ if (curwin->w_skipcol != 0)
{
curwin->w_skipcol = 0;
redraw_later(NOT_VALID);
{
getvvcol(wp, &wp->w_cursor, NULL, &(wp->w_virtcol), NULL);
wp->w_valid |= VALID_VIRTCOL;
+#ifdef FEAT_SYN_HL
+ if (wp->w_p_cuc)
+ redraw_win_later(wp, SOME_VALID);
+#endif
}
}
if (prev_skipcol != curwin->w_skipcol)
redraw_later(NOT_VALID);
+#ifdef FEAT_SYN_HL
+ /* Redraw when w_virtcol changes and 'cursorcolumn' is set, or when w_row
+ * changes and 'cursorline' is set. */
+ if ((curwin->w_p_cuc && (curwin->w_valid & VALID_VIRTCOL) == 0)
+ || (curwin->w_p_cul && (curwin->w_valid & VALID_WROW) == 0))
+ redraw_later(SOME_VALID);
+#endif
+
curwin->w_valid |= VALID_WCOL|VALID_WROW|VALID_VIRTCOL;
}