Hi list.

$ vim -N -u NONE -c "set nowrap linebreak"

And type below

iああ<Esc>zl

When encoding=utf-8, it appear like below.

https://cloud.githubusercontent.com/assets/518808/6650982/302162b0-ca72-11e4-9498-ddeafa3cf82c.png

When encoding=cp932:

https://cloud.githubusercontent.com/assets/518808/6651004/5e32acf8-ca73-11e4-9583-1ce68f3a7fd6.png

This should be:
https://cloud.githubusercontent.com/assets/518808/6651045/87b90ac6-ca74-11e4-932f-4ea120997f81.png

Below is a patch to fix this.
- mattn

diff -r a0198cebc8f4 src/screen.c
--- a/src/screen.c      Fri Mar 13 15:03:00 2015 +0100
+++ b/src/screen.c      Sun Mar 15 20:10:48 2015 +0900
@@ -4484,11 +4484,15 @@
                 */
                if (wp->w_p_lbr && vim_isbreak(c) && !vim_isbreak(*ptr))
                {
+# ifdef FEAT_MBYTE
+                   int off = has_mbyte ? (*mb_head_off)(line, ptr - 1) : 0;
+#endif
                    char_u *p = ptr - (
 # ifdef FEAT_MBYTE
-                               has_mbyte ? mb_l :
-# endif
-                               1);
+                       off +
+# endif
+                       1);
+
                    /* TODO: is passing p for start of the line OK? */
                    n_extra = win_lbr_chartabsize(wp, line, p, (colnr_T)vcol,
                                                                    NULL) - 1;
@@ -4496,7 +4500,11 @@
                        n_extra = (int)wp->w_buffer->b_p_ts
                                       - vcol % (int)wp->w_buffer->b_p_ts - 1;
 
+# ifdef FEAT_MBYTE
+                   c_extra = off ? MB_FILLER_CHAR : ' ';
+# else
                    c_extra = ' ';
+# endif
                    if (vim_iswhite(c))
                    {
 #ifdef FEAT_CONCEAL

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui