diff src/gui_beval.c @ 3877:cd6c420e31d6 v7.3.695

updated for version 7.3.695 Problem: Balloon cannot show multi-byte text. Solution: Properly deal with multi-byte characters. (Dominique Pelle)
author Bram Moolenaar <bram@vim.org>
date Sun, 21 Oct 2012 00:58:39 +0200
parents e4d849f4df03
children 04736b4030ec
line wrap: on
line diff
--- a/src/gui_beval.c
+++ b/src/gui_beval.c
@@ -359,7 +359,7 @@ get_beval_info(beval, getword, winp, lnu
 			}
 		    }
 
-		    col = vcol2col(wp, lnum, col) - 1;
+		    col = vcol2col(wp, lnum, col);
 
 		    if (VIsual_active
 			    && wp->w_buffer == curwin->w_buffer
@@ -377,8 +377,10 @@ get_beval_info(beval, getword, winp, lnu
 			    return FAIL;
 
 			lbuf = ml_get_buf(curwin->w_buffer, VIsual.lnum, FALSE);
-			lbuf = vim_strnsave(lbuf + spos->col,
-				     epos->col - spos->col + (*p_sel != 'e'));
+			len = epos->col - spos->col;
+			if (*p_sel != 'e')
+			    len += MB_PTR2LEN(lbuf + epos->col);
+			lbuf = vim_strnsave(lbuf + spos->col, len);
 			lnum = spos->lnum;
 			col = spos->col;
 		    }