summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDiego Viola <diego.viola@gmail.com>2024-04-16 20:58:45 +0200
committerChristian Brabandt <cb@256bit.org>2024-04-16 21:50:33 +0200
commitd1068a2bb09fd3b9d117d832105bf10dd5e48e2f (patch)
tree7c877f3ea55ca10e109de5417db160534e39205d
parent2da68c8b61286ed347076718b66028f7251c8cdf (diff)
patch 9.1.0337: Missing entry for XDG vimrc file in :versionv9.1.0337
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>
-rw-r--r--src/os_unix.h6
-rw-r--r--src/testdir/test_xdg.vim17
-rw-r--r--src/version.c15
3 files changed, 34 insertions, 4 deletions
diff --git a/src/os_unix.h b/src/os_unix.h
index d214a4aaf1..67dad2e689 100644
--- 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)
diff --git a/src/testdir/test_xdg.vim b/src/testdir/test_xdg.vim
index d23c93a374..da98a2cfa7 100644
--- 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
diff --git a/src/version.c b/src/version.c
index 0c8687ebe6..802addc308 100644
--- 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: \""));