diff src/charset.c @ 6288:fcb898dea2bc v7.4.478

updated for version 7.4.478 Problem: Using byte length instead of character length for 'showbreak'. Solution: Compute the character length. (Marco Hinz)
author Bram Moolenaar <bram@vim.org>
date Wed, 15 Oct 2014 21:26:40 +0200
parents 1cdd5804b538
children 31c78e590806
line wrap: on
line diff
--- a/src/charset.c
+++ b/src/charset.c
@@ -1184,8 +1184,12 @@ win_lbr_chartabsize(wp, line, s, col, he
 	{
 	    col -= W_WIDTH(wp);
 	    numberextra = W_WIDTH(wp) - (numberextra - win_col_off2(wp));
-	    if (*p_sbr != NUL && col >= (colnr_T)STRLEN(p_sbr))
-		col -= (colnr_T)STRLEN(p_sbr);
+	    if (*p_sbr != NUL)
+	    {
+		colnr_T sbrlen = (colnr_T)MB_CHARLEN(p_sbr);
+		if (col >= sbrlen)
+		    col -= sbrlen;
+	    }
 	    if (numberextra > 0)
 		col = col % numberextra;
 	}