Lech Lorens wrote:

> Steps to reproduce:
> - create a file with 40 lines. E.g.:
> $ seq 1 40 >test.txt
> - create a Vim script file (e.g. called do.vim) with the following contents:
> #v+
> let @a = "text put before line 1"
> let @b = "text put before line 11"
> let @c = "text put before line 21"
> normal 1G
> normal 10G
> normal 20G
> normal 30G
> normal 40G
> redir @z
> jumps
> keepjumps 1put! a
> keepjumps 11put! b
> keepjumps 21put! c
> jumps
> redir END
> $put z
> normal G
> #v-
> 
> - execute the script on the previously created 40-line file:
> $ vim -i /dev/null -S do.vim test.txt
> 
> The last lines of the file will be:
> 
> #v+
>  jump line  col file/text
>    4     1    0 1
>    3    10    0 10
>    2    20    0 20
>    1    30    0 30
> >
>  jump line  col file/text
>    4     2    0 1
>    3    12    0 10
>    2    23    0 20
>    1    33    0 30
> >
> #v-
> 
> (i.e. there will be difference in the "line" column between the two :jumps
> invocations), while they should be:
> 
> #v+
>  jump line  col file/text
>    4     1    0 1
>    3    10    0 10
>    2    20    0 20
>    1    30    0 30
> >
>  jump line  col file/text
>    4     1    0 text put before line 1
>    3    10    0 9
>    2    20    0 18
>    1    30    0 27
> >
> #v-
> 
> The attached patch fixes the problem.

I now had time to look into this patch.  It turns out there is no bug.
You are mixing up the ":keepjumps" and ":lockmarks" modifiers.  Only the
last one doesn't adjust line numbers for inserted lines.  With
":keepjumps" the mark stays at the same text line, but the line number
will be adjusted for inserted and deleted lines.

-- 
Just remember...if the world didn't suck, we'd all fall off.

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

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