On Sunday, August 19, 2012 3:28:35 AM UTC-7, Bram Moolenaar wrote:
> Jon Long wrote:
> 
> 
> 
> > I recently encountered the issue described below, namely that vim
> 
> > always redraws the previous character when using utf8 starting with
> 
> > version 7.1.329.
> 
> > 
> 
> > The purpose of the patch which created this issue was to ensure that
> 
> > the right half of double-width (two cell) characters was always
> 
> > redrawn after being obstructed (e.g., by popup menus). However, the
> 
> > fix seems to redraw _any_ character whenever the right-adjacent one
> 
> > changes.
> 
> > 
> 
> > I've attached a patch which fixes this issue by checking that
> 
> > characters are actually double-width before deciding to redraw them
> 
> > when their right-adjacent partners change. I've checked that this
> 
> > preserves the functionality of the original patch (the right half of a
> 
> > double-width character is still redrawn after being obstructed by a
> 
> > popup menu) while preventing single-width characters from being always
> 
> > redrawn.
> 
> 
> 
> Thanks for the patch.
> 
> 
> 
> You drop the "cols > 1" condition, was that intentional?
> 
> 
> 

Yes. The call to mb_off2cells (which is actually utf_off2cells in this case) 
checks the equivalent condition off_from + 1 < off_from + cols.

Jon Long

-- 
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

Raspunde prin e-mail lui