On 9 Sty, 20:07, Christian Brabandt <cbli...@256bit.org> wrote:
> Hi Wiktor!
>
> On Mi, 09 Jan 2013, Wiktor Ruben wrote:
>
>
>
>
>
>
>
>
>
> > Hello Vimmers,
>
> > Let's create sample fold:
>
> > vim -u NONE -N
>
> > :set foldmethod=marker
> > i
> > {{{1<CR>
> > foo bar zaz<CR>
> > foo bar zaz<Esc>bmm0za
>
> > OK, now we have mark 'm' set at the beginning of second 'zaz' within
> > closed fold and cursor placed at the beginning of the last line. The
> > problem is: when we jump to the mark with '`m' our fold stays closed.
>
> > I guess that fold isn't opened because cursor is already at mark line
> > (but in different column). I find this bahaviour annoying e.g. opening
> > file edited a while ago and executing '`^' or '`.' makes me confused
> > because I have to additionally execute 'zv' to get where I want.
>
> > There is no need for 'zv' after jump from line different from mark
> > line. Is there a way to force Vim to open fold even if cursor is
> > already at destination line?
>
> Bram,
> this patch fixes it. The problem is, in nv_gomark() we only checked,
> whether the line position changed, and since it didn't change, the fold
> isn't opened.
>
> diff --git a/src/normal.c b/src/normal.c
> --- a/src/normal.c
> +++ b/src/normal.c
> @@ -7523,7 +7523,7 @@
> pos_T *pos;
> int c;
> #ifdef FEAT_FOLDING
> - linenr_T lnum = curwin->w_cursor.lnum;
> + pos_T old_cursor = curwin->w_cursor;
> int old_KeyTyped = KeyTyped; /* getting file may reset it */
>
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment