changeset 2692:42cafbf4b6e8 v7.3.110

updated for version 7.3.110 Problem: The "nbsp" item in 'listchars' isn't used for ":list". Solution: Make it work. (Christian Brabandt)
author Bram Moolenaar <bram@vim.org>
date Tue, 01 Feb 2011 17:12:25 +0100
parents 0887e8a13e5f
children 0606065af0a0
files src/message.c src/version.c
diffstat 2 files changed, 17 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/message.c
+++ b/src/message.c
@@ -1637,8 +1637,16 @@ msg_prt_line(s, list)
 	else if (has_mbyte && (l = (*mb_ptr2len)(s)) > 1)
 	{
 	    col += (*mb_ptr2cells)(s);
-	    mch_memmove(buf, s, (size_t)l);
-	    buf[l] = NUL;
+	    if (lcs_nbsp != NUL && list && mb_ptr2char(s) == 160)
+	    {
+		mb_char2bytes(lcs_nbsp, buf);
+		buf[(*mb_ptr2len)(buf)] = NUL;
+	    }
+	    else
+	    {
+		mch_memmove(buf, s, (size_t)l);
+		buf[l] = NUL;
+	    }
 	    msg_puts(buf);
 	    s += l;
 	    continue;
@@ -1664,6 +1672,11 @@ msg_prt_line(s, list)
 		    attr = hl_attr(HLF_8);
 		}
 	    }
+	    else if (c == 160 && list && lcs_nbsp != NUL)
+	    {
+		c = lcs_nbsp;
+		attr = hl_attr(HLF_8);
+	    }
 	    else if (c == NUL && list && lcs_eol != NUL)
 	    {
 		p_extra = (char_u *)"";
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    110,
+/**/
     109,
 /**/
     108,