Bug: extra character selected by triple-click

Tim Harper timcharper at gmail.com
Tue Jun 14 22:31:02 CEST 2011


On May 28, 2011, at 10:01 , Huy wrote:

> Hello,
> 
> I get different behaviors when triple-mouse-clicking on a line of text.
> - in gvim, the line is highlighted and the cursor is put on the character closest to the mouse click point.
> - when in emacs-mode, the line is highlighted and the cursor is put on the first character of the next line.
> - when in vimpulse-mode, the "line PLUS the first character of the next line" are highlighted and the cursor is put on the first character of the next line.
> 
> Vimpulse's bug is bad because if you then hit 'x', you will see that the first character of the next line is deleted as well as the the triple-clicked line.
> 
> This also causes problems in org-mode when I select multiple lines and, for example, try to do things like convert between headline and list.
> 
> Thanks for looking into this and awesome work guys!  I love vimpulse.
> Huy

For the record, I've run into this bug as well (and have learned to live with it).

Vimpulse does some voodoo to make visual mode work with the emacs mark region. If you'll recall, emacs region is defined by last mark point and current cursor position, so how does one trick emacs to selecting the character ahead of the buffer? By modifying the region and expanding if by one command before a command is executed, and shrinking it again after.  I think it manipulates the overlay manually as well to make the region appear as if it's selecting an additional character.

The problem is somewhere in that logic, and I've fixed it before, but it caused something else to else to break (worse).  A more thorough assessment of the problem, coupled with a more intelligent fix, is in order.

Tim


More information about the implementations-list mailing list