To: vim_dev@googlegroups.com
Subject: Patch 7.3.695
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.695
Problem: Balloon cannot show multi-byte text.
Solution: Properly deal with multi-byte characters. (Dominique Pelle)
Files: src/gui_beval.c, src/ui.c
*** ../vim-7.3.694/src/gui_beval.c 2010-08-15 21:57:28.000000000 +0200
--- src/gui_beval.c 2012-10-21 00:54:19.000000000 +0200
***************
*** 359,365 ****
}
}
! col = vcol2col(wp, lnum, col) - 1;
if (VIsual_active
&& wp->w_buffer == curwin->w_buffer
--- 359,365 ----
}
}
! col = vcol2col(wp, lnum, col);
if (VIsual_active
&& wp->w_buffer == curwin->w_buffer
***************
*** 377,384 ****
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'));
lnum = spos->lnum;
col = spos->col;
}
--- 377,386 ----
return FAIL;
lbuf = ml_get_buf(curwin->w_buffer, VIsual.lnum, FALSE);
! 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;
}
*** ../vim-7.3.694/src/ui.c 2012-08-29 16:26:01.000000000 +0200
--- src/ui.c 2012-10-21 00:50:17.000000000 +0200
***************
*** 98,104 ****
#endif
/*
! * ui_inchar(): low level input funcion.
* Get characters from the keyboard.
* Return the number of characters that are available.
* If "wtime" == 0 do not wait for characters.
--- 98,104 ----
#endif
/*
! * ui_inchar(): low level input function.
* Get characters from the keyboard.
* Return the number of characters that are available.
* If "wtime" == 0 do not wait for characters.
***************
*** 493,499 ****
}
}
#else
! /* Only own the clibpard when we didn't own it yet. */
if (!cbd->owned && cbd->available)
cbd->owned = (clip_gen_own_selection(cbd) == OK);
#endif
--- 493,499 ----
}
}
#else
! /* Only own the clipboard when we didn't own it yet. */
if (!cbd->owned && cbd->available)
cbd->owned = (clip_gen_own_selection(cbd) == OK);
#endif
***************
*** 3132,3138 ****
char_u *start;
start = ptr = ml_get_buf(wp->w_buffer, lnum, FALSE);
! while (count <= vcol && *ptr != NUL)
{
count += win_lbr_chartabsize(wp, ptr, count, NULL);
mb_ptr_adv(ptr);
--- 3132,3138 ----
char_u *start;
start = ptr = ml_get_buf(wp->w_buffer, lnum, FALSE);
! while (count < vcol && *ptr != NUL)
{
count += win_lbr_chartabsize(wp, ptr, count, NULL);
mb_ptr_adv(ptr);
*** ../vim-7.3.694/src/version.c 2012-10-21 00:44:59.000000000 +0200
--- src/version.c 2012-10-21 00:50:32.000000000 +0200
***************
*** 721,722 ****
--- 721,724 ----
{ /* Add new patch number below this line */
+ /**/
+ 695,
/**/
--
BEDEVERE: Why do you think she is a witch?
SECOND VILLAGER: She turned me into a newt.
BEDEVERE: A newt?
SECOND VILLAGER: (After looking at himself for some time) I got better.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///