Christian Brabandt <[email protected]> wrote:

> Hi Dominique!
>
> On Do, 25 Dez 2014, Dominique Pellé wrote:
>
>> You're quick!  ... but too quick :-)
>>
>> Your patch contains changes in getchar.c and ui.c
>> which seem unrelated to this issue. Right?
>
> Yes, some other changes I am working on. I shouldn't post patches, right
> before I am going to sleep...
>
>> The change in screen.c looks like the relevant
>> piece.  But it does not work.  It changes the
>> behavior, but the cursor still appears before
>> the end of line.  Did it work for you?
>
> Yes, it appeared to work for me. Here is a better version, that works
> for me and also handles correctly multibyte chars for the showbreak
> setting (a problem, that I have previously caused and needed to be fixed
> by 7.4.478):
>
> diff --git a/src/screen.c b/src/screen.c
> --- a/src/screen.c
> +++ b/src/screen.c
> @@ -4516,9 +4516,14 @@ win_line(wp, lnum, startrow, endrow, noc
>                 if (c == TAB && (!wp->w_p_list || lcs_tab1))
>                 {
>                     int tab_len = 0;
> +                   long vcol_adjusted = vcol; /* removed showbreak length */
> +#ifdef FEAT_LINEBREAK
> +                   if (*p_sbr != NUL && vcol > W_WIDTH(wp))
> +                       vcol_adjusted = vcol - MB_CHARLEN(p_sbr);
> +#endif
>                     /* tab amount depends on current column */
>                     tab_len = (int)wp->w_buffer->b_p_ts
> -                                       - vcol % (int)wp->w_buffer->b_p_ts - 
> 1;
> +                                       - vcol_adjusted % 
> (int)wp->w_buffer->b_p_ts - 1;
>  #ifdef FEAT_LINEBREAK
>                     if (!wp->w_p_lbr || !wp->w_p_list)
>  #endif
>
> Please check that this works for you as well. If this works, I'll create
> a test case for this as well.
>
>
> Best,
> Christian

Hi Christian

This 2nd patch fixes the case I described.  Thanks.
However, a similar bug then happens with 92 columns
after your patch:

$ vim -f -g -u NONE -c 'set showbreak=: columns=92' bug-vim.txt

When pressing A in command mode to append text, the cursor
is after the end of line.  It was working fine with 92 columns
prior to your patch. So it's still not right.

Regards
Dominique

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

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui