diff src/version.c @ 17524:2b35e273392b v8.1.1760

patch 8.1.1760: extra line break for wrapping output of :args commit https://github.com/vim/vim/commit/9800bfe0fc7596e8fee97172139f0777bac639fb Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jul 27 21:23:45 2019 +0200 patch 8.1.1760: extra line break for wrapping output of :args Problem: Extra line break for wrapping output of :args. Solution: Avoid the extra line break. (Daniel Hahler, closes https://github.com/vim/vim/issues/4737)
author Bram Moolenaar <Bram@vim.org>
date Sat, 27 Jul 2019 21:30:05 +0200
parents e17cbc3e545d
children ae379e753465
line wrap: on
line diff
--- a/src/version.c
+++ b/src/version.c
@@ -778,6 +778,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1760,
+/**/
     1759,
 /**/
     1758,
@@ -4418,11 +4420,11 @@ list_in_columns(char_u **items, int size
 
     if (Columns < width)
     {
-	/* Not enough screen columns - show one per line */
+	// Not enough screen columns - show one per line
 	for (i = 0; i < item_count; ++i)
 	{
 	    version_msg_wrap(items[i], i == current);
-	    if (msg_col > 0)
+	    if (msg_col > 0 && i < item_count - 1)
 		msg_putchar('\n');
 	}
 	return;
@@ -4433,7 +4435,7 @@ list_in_columns(char_u **items, int size
     ncol = (int) (Columns + 1) / width;
     nrow = item_count / ncol + (item_count % ncol ? 1 : 0);
 
-    // "i" counts columns then rows.  idx counts rows then columns.
+    // "i" counts columns then rows.  "idx" counts rows then columns.
     for (i = 0; !got_int && i < nrow * ncol; ++i)
     {
 	int idx = (i / ncol) + (i % ncol) * nrow;
@@ -4467,9 +4469,12 @@ list_in_columns(char_u **items, int size
 	else
 	{
 	    // this row is out of items, thus at the end of the row
-	    if (msg_col > 0 && cur_row < nrow)
-		msg_putchar('\n');
-	    ++cur_row;
+	    if (msg_col > 0)
+	    {
+		if (cur_row < nrow)
+		    msg_putchar('\n');
+		++cur_row;
+	    }
 	}
     }
 }