From: Bram Moolenaar Date: Tue, 28 Nov 2017 20:25:21 +0000 (+0100) Subject: patch 8.0.1358: undercurl is not used in the terminal X-Git-Tag: v8.0.1358 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8b9e20afb0da79a21155988a38704b5777cc2efe;p=vim patch 8.0.1358: undercurl is not used in the terminal Problem: Undercurl is not used in the terminal. (Kovid Goyal) Solution: Only fall back to underline when undercurl highlighting is not defined. (closes #1306) --- diff --git a/src/screen.c b/src/screen.c index 05853d442..4d277e3c8 100644 --- a/src/screen.c +++ b/src/screen.c @@ -8058,8 +8058,11 @@ screen_start_highlight(int attr) out_str(T_ME); if ((attr & HL_STANDOUT) && T_SO != NULL) /* standout */ out_str(T_SO); - if ((attr & (HL_UNDERLINE | HL_UNDERCURL)) && T_US != NULL) - /* underline or undercurl */ + if ((attr & HL_UNDERCURL) && T_UCS != NULL) /* undercurl */ + out_str(T_UCS); + if (((attr & HL_UNDERLINE) /* underline or undercurl */ + || ((attr & HL_UNDERCURL) && T_UCS == NULL)) + && T_US != NULL) out_str(T_US); if ((attr & HL_ITALIC) && T_CZH != NULL) /* italic */ out_str(T_CZH); @@ -8177,7 +8180,15 @@ screen_stop_highlight(void) else out_str(T_SE); } - if (screen_attr & (HL_UNDERLINE | HL_UNDERCURL)) + if ((screen_attr & HL_UNDERCURL) && T_UCE != NULL) + { + if (STRCMP(T_UCE, T_ME) == 0) + do_ME = TRUE; + else + out_str(T_UCE); + } + if ((screen_attr & HL_UNDERLINE) + || ((screen_attr & HL_UNDERCURL) && T_UCE == NULL)) { if (STRCMP(T_UE, T_ME) == 0) do_ME = TRUE; diff --git a/src/version.c b/src/version.c index 6fb11e911..3cbfe9ed7 100644 --- a/src/version.c +++ b/src/version.c @@ -771,6 +771,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1358, /**/ 1357, /**/