]> granicus.if.org Git - vim/commitdiff
patch 8.2.2499: "vim -g --version" does not redirect output v8.2.2499
authorBram Moolenaar <Bram@vim.org>
Thu, 11 Feb 2021 18:08:05 +0000 (19:08 +0100)
committerBram Moolenaar <Bram@vim.org>
Thu, 11 Feb 2021 18:08:05 +0000 (19:08 +0100)
Problem:    "vim -g --version" does not redirect output.
Solution:   Reset gui.starting when showing version info. (closes #7815)

src/main.c
src/testdir/test_version.vim
src/version.c

index ef53b3373b24d74c125b1448a4a6eed7337632c5..82e89a8cb76bfd9f531205146a299996008b0bc1 100644 (file)
@@ -1979,6 +1979,7 @@ command_line_scan(mparm_T *parmp)
                {
                    Columns = 80;       // need to init Columns
                    info_message = TRUE; // use mch_msg(), not mch_errmsg()
+                   gui.starting = FALSE; // not starting GUI, will exit
                    list_version();
                    msg_putchar('\n');
                    msg_didout = FALSE;
index a578f97de40ac7611a756ae6ed713bfd4a90c5b5..958c126a42f9ac28150548c83a3e968bb47f7e22 100644 (file)
@@ -1,5 +1,8 @@
 " Test :version Ex command
 
+so check.vim
+so shared.vim
+
 func Test_version()
   " version should always return the same string.
   let v1 = execute('version')
@@ -9,4 +12,15 @@ func Test_version()
   call assert_match("^\n\nVIM - Vi IMproved .*", v1)
 endfunc
 
+func Test_version_redirect()
+  CheckNotGui
+  CheckCanRunGui
+  CheckUnix
+
+  call RunVim([], [], '--clean -g --version >Xversion 2>&1')
+  call assert_match('Features included', readfile('Xversion')->join())
+
+  call delete('Xversion')
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
index 8b287a0c6b26c97126691c206ec7dfc09bb8bb12..2f4a03eeedbe41f20de7476820798a87cd3c98c7 100644 (file)
@@ -750,6 +750,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2499,
 /**/
     2498,
 /**/