> On Tuesday, July 23, 2019 at 11:00:32 PM UTC+2, Bram Moolenaar wrote:
> > Patch 8.1.1737
> > Problem:    :args command that outputs one line gives more prompt.
> > Solution:   Only output line break if needed. (Daniel Hahler, closes #4715)
> > Files:          src/version.c, src/testdir/test_arglist.vim
> > 
> > 
> 
> This change introduced a bug. Start executing the following (after starting 
> "vim --clean"):
> 
> :let width = &columns / 3 - 4
> :let farg = repeat('f', width)
> :let garg = repeat('g', width)
> :exe 'args a b c d e' farg garg
> :args
> 
> The arguments will be printed on 2 lines with the 2nd line too long so it'll 
> be wrapped:
> 
> [a]                    d                      gggggggggggggggggggggg
> b                      e                      c                      
> fffffffffff
> fffffffffff
> 
> The proper way to display the args (the way previous vim versions did) is to 
> print them on 3 lines:
> 
> [a]                    d                      gggggggggggggggggggggg
> b                      e
> c                      ffffffffffffffffffffff
> 
> The problem lies in this part:
> 
> > -   else
> > -   {
> > -       if (msg_col > 0)
> > -           msg_putchar('\n');
> > -   }
> >       }
> >   }
> 
> I suppose this was axed to avoid sending a '\n' at the end of the last line. 
> But it skips '\n' even for the second to last line - after printing args "b" 
> and "e". Or even more often. (In fact any time when idx >= item_count.) So I 
> suggest introducing the "else" branch back, like in the following patch:
> 
> @@ -4438,6 +4438,12 @@ list_in_columns(char_u **items, int size, int current)
>                   msg_putchar(' ');
>           }
>       }
> +     else
> +     {
> +         if (msg_col > 0 && cur_row < nrow)
> +             msg_putchar('\n');
> +         ++cur_row;
> +     }
>      }
>  }

Thanks.  I verified this fixes the problem.  Would be nice to have a
test, but I don't want to delay sending out the fix.

> This issue is related to other 2 topics - to the ones which toothpik
> mentioned with subjects "version display horked" and "script stopped
> working". In the latter, he mentioned:
> 
> > i still maintain the --version output is horked
> 
> After the fix, the number of columns with features will be uniform
> once again. It might even help to get rid of the hang. Though I am not
> sure I run vim in the same way as toothpik as this is depends on
> &columns.

-- 
DENNIS: Oh, very nice. King, eh!  I expect you've got a palace and fine
        clothes and courtiers and plenty of food.  And how d'you get that?  By
        exploiting the workers! By hanging on to outdated imperialist dogma
        which perpetuates the social and economic differences in our society!
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.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

--- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201907251952.x6PJqwdX031022%40masaka.moolenaar.net.

Raspunde prin e-mail lui