changeset 27209:fa09602eae48 v8.2.4133

patch 8.2.4133: output of ":scriptnames" goes into the message history Commit: https://github.com/vim/vim/commit/840f16202e1ae2d574507ef52a7e8a98775f243c Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jan 18 13:34:05 2022 +0000 patch 8.2.4133: output of ":scriptnames" goes into the message history Problem: output of ":scriptnames" goes into the message history, while this des not happen for other commands, such as ":ls". Solution: Use msg_outtrans() instead of smsg(). (closes #9551)
author Bram Moolenaar <Bram@vim.org>
date Tue, 18 Jan 2022 14:45:04 +0100
parents a478f3e9c2e0
children 307f23f40ccb
files src/scriptfile.c src/testdir/test_scriptnames.vim src/version.c
diffstat 3 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/scriptfile.c
+++ b/src/scriptfile.c
@@ -1652,7 +1652,11 @@ ex_scriptnames(exarg_T *eap)
 	{
 	    home_replace(NULL, SCRIPT_ITEM(i)->sn_name,
 						    NameBuff, MAXPATHL, TRUE);
-	    smsg("%3d: %s", i, NameBuff);
+	    vim_snprintf((char *)IObuff, IOSIZE, "%3d: %s", i, NameBuff);
+	    msg_putchar('\n');
+	    msg_outtrans(IObuff);
+	    out_flush();	    // output one line at a time
+	    ui_breakcheck();
 	}
 }
 
--- a/src/testdir/test_scriptnames.vim
+++ b/src/testdir/test_scriptnames.vim
@@ -23,6 +23,10 @@ func Test_scriptnames()
 
   bwipe
   call delete('Xscripting')
+
+  let msgs = execute('messages')
+  scriptnames
+  call assert_equal(msgs, execute('messages'))
 endfunc
 
 " vim: shiftwidth=2 sts=2 expandtab
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4133,
+/**/
     4132,
 /**/
     4131,