changeset 34963:a734bb7dc56f v9.1.0337

patch 9.1.0337: Missing entry for XDG vimrc file in :version Commit: https://github.com/vim/vim/commit/d1068a2bb09fd3b9d117d832105bf10dd5e48e2f Author: Diego Viola <diego.viola@gmail.com> Date: Tue Apr 16 20:58:45 2024 +0200 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>
author Christian Brabandt <cb@256bit.org>
date Tue, 16 Apr 2024 22:00:10 +0200
parents 8dec13e14669
children a595f44634db
files src/os_unix.h src/testdir/test_xdg.vim src/version.c
diffstat 3 files changed, 34 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/os_unix.h
+++ b/src/os_unix.h
@@ -250,9 +250,9 @@ typedef struct dsc$descriptor   DESC;
 #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)
--- a/src/testdir/test_xdg.vim
+++ b/src/testdir/test_xdg.vim
@@ -137,4 +137,21 @@ func Test_xdg_runtime_files()
   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
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    337,
+/**/
     336,
 /**/
     335,
@@ -1743,10 +1745,21 @@ list_version(void)
     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: \""));