On Tue, 4 Jan 2011, Jean Johner wrote:

Hello,

I don't know if somebody is interested in problems related to vim in the Cygwin environment.
If yes, please do the following:
- Copy the following .vimrc in your Cygwin home directory (I have Cygwin 1.7.7-1)

Easier way to reproduce (and omits settings that don't affect the bug):

seq 1 200 | vi -u NONE -N +'se im' +'inoremap <C-Down> <C-O>10<C-E>' -

seq 1 200 prints the numbers 1 to 200 each on a line.
im = insertmode.
(Remember: to quit: ctrl+o, then :qa!)


- press CTRL-CursorDown: first line of screen is 11 (OK)
- press CTRL-CursorDown: first line of screen is 21 (OK)
....
- press CTRL-CursorDown: first line of screen is 171 (OK)
- press CTRL-CursorDown: Cursor goes down to line 171 (NOT OK)

For mintty, the bug is triggered at line 17*N + 1, where N is the count given to <C-E>.

So, with: seq 1 200 | vi -u NONE -N +'se im' +'inoremap <C-Down> <C-O>5<C-E>'
the bug starts happening at line 86.

With:     seq 1 200 | vi -u NONE -N +'se im' +'inoremap <C-Down> <C-O>2<C-E>'
the bug starts happening at line 35.

Even:     seq 1 200 | vi -u NONE -N +'se im' +'inoremap <C-Down> <C-O>1<C-E>'
triggers the bug at line 18.

The symptom is that the cursor will only scroll one line at a time, but the screen will only "catch up" and put a correct starting line at the top of the screen after some number of lines.

For N=2, fine to 35, one-at-a-time to 45 (then catch-up with 37 at top), one-at-a-time to 55 (catch-up with 39 at top), 65, 75, 85, etc.
For N=5, fine to 86, catch-ups at 96, 106, 116, etc.
For N=10, fine to 171, catch-ups at 181, 191, etc.


In UXterm under Cygwin/X, the behavior is even more bizarre. For N=10, fine to 111, catch-up at 118 (121 at top), then it works fine (131,141,151,161), fails again through 168, then works fine (171,181,191,200).

In both terminal emulators, the size of the window doesn't seem to matter.

Bug isn't triggered by {lhs} of 'j'. Bug gets weirder if {lhs} is <C-Up>. It's almost as though the terminals are intercepting the 'Up'/'Down' in some cases.

Tested with vim 7.2 w/ patches 1-264 (Cygwin), Huge no GUI.
And with 7.3 w/ patches 1-3 (updated when I installed Cygwin xinit).

--
Best,
Ben

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