patch 9.1.0337: Missing entry for XDG vimrc file in :version

Problem:  Missing entry for XDG vimrc file in :version
Solution: Add 4th user vimrc entry to :version output
          (Diego Viola)

related: #14182
closes: #14569

Signed-off-by: Diego Viola <diego.viola@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/os_unix.h b/src/os_unix.h
index d214a4a..67dad2e 100644
--- a/src/os_unix.h
+++ b/src/os_unix.h
@@ -250,9 +250,9 @@
 #endif
 
 #ifndef XDG_VIMRC_FILE
-# define XDG_VIMRC_FILE mch_getenv("XDG_CONFIG_HOME") \
-	? (char_u *)"$XDG_CONFIG_HOME/vim/vimrc" \
-	: (char_u *)"~/.config/vim/vimrc"
+# define XDG_VIMRC_FILE (mch_getenv("XDG_CONFIG_HOME") \
+	? "$XDG_CONFIG_HOME/vim/vimrc" \
+	: "~/.config/vim/vimrc")
 #endif
 
 #if !defined(USR_VIMRC_FILE3) && defined(VMS)
diff --git a/src/testdir/test_xdg.vim b/src/testdir/test_xdg.vim
index d23c93a..da98a2c 100644
--- a/src/testdir/test_xdg.vim
+++ b/src/testdir/test_xdg.vim
@@ -137,4 +137,21 @@
   unlet $XDG_CONFIG_HOME
 endfunc
 
+func Test_xdg_version()
+  CheckUnix
+  let $HOME = getcwd() .. '/XfakeHOME'
+  unlet $XDG_CONFIG_HOME
+  let a = execute(':version')->split('\n')
+  let a = filter(a, { _, val -> val =~ '\.config\|XDG_CONFIG_HOME' })
+  call assert_equal(1, len(a))
+  call assert_match('\~/.config/vim/vimrc', a[0])
+
+  let $XDG_CONFIG_HOME = expand('~/.xdg')
+  let a = execute(':version')->split('\n')
+  let a = filter(a, { _, val -> val =~ '\.config\|XDG_CONFIG_HOME' })
+  call assert_equal(1, len(a))
+  call assert_match('XDG_CONFIG_HOME/vim/vimrc', a[0])
+  unlet $XDG_CONFIG_HOME
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index 0c8687e..802addc 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    337,
+/**/
     336,
 /**/
     335,
@@ -1743,10 +1745,21 @@
     version_msg(USR_VIMRC_FILE2);
     version_msg("\"\n");
 #endif
-#ifdef USR_VIMRC_FILE3
+#if defined(USR_VIMRC_FILE3) && defined(XDG_VIMRC_FILE)
     version_msg(_(" 3rd user vimrc file: \""));
     version_msg(USR_VIMRC_FILE3);
     version_msg("\"\n");
+    version_msg(_(" 4th user vimrc file: \""));
+    version_msg((char *)(XDG_VIMRC_FILE));
+    version_msg("\"\n");
+#elif defined(USR_VIMRC_FILE3)
+    version_msg(_(" 3rd user vimrc file: \""));
+    version_msg(USR_VIMRC_FILE3);
+    version_msg("\"\n");
+#elif defined(XDG_VIMRC_FILE)
+    version_msg(_(" 3rd user vimrc file: \""));
+    version_msg((char *)(XDG_VIMRC_FILE));
+    version_msg("\"\n");
 #endif
 #ifdef USR_EXRC_FILE
     version_msg(_("      user exrc file: \""));