changeset 12964:339681756948 v8.0.1358

patch 8.0.1358: undercurl is not used in the terminal commit https://github.com/vim/vim/commit/8b9e20afb0da79a21155988a38704b5777cc2efe Author: Bram Moolenaar <Bram@vim.org> Date: Tue Nov 28 21:25:21 2017 +0100 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)
author Christian Brabandt <cb@256bit.org>
date Tue, 28 Nov 2017 21:30:05 +0100
parents a26d6fffe2bf
children 24c73ddf8b38
files src/screen.c src/version.c
diffstat 2 files changed, 16 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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;
--- a/src/version.c
+++ b/src/version.c
@@ -772,6 +772,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1358,
+/**/
     1357,
 /**/
     1356,