summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYegappan Lakshmanan <yegappan@yahoo.com>2021-12-29 18:16:21 +0000
committerBram Moolenaar <Bram@vim.org>2021-12-29 18:16:21 +0000
commit5a664fe57fe7ba65a771bc95ef1c205e4db193b7 (patch)
treef5ce0ac38f78b3fe6e95448f7f5d58f4078ef68a
parentba26367fea3b63df49d274f3d5cca0af38402add (diff)
downloadvim-git-5a664fe57fe7ba65a771bc95ef1c205e4db193b7.tar.gz
patch 8.2.3939: MS-Windows: fnamemodify('', ':p') does not workv8.2.3939
Problem: MS-Windows: fnamemodify('', ':p') does not work. Solution: Do not consider an empty string a full path. (Yegappan Lakshmanan, closes #9428, closes #9427)
-rw-r--r--src/os_mswin.c2
-rw-r--r--src/testdir/test_fnamemodify.vim1
-rw-r--r--src/version.c2
3 files changed, 4 insertions, 1 deletions
diff --git a/src/os_mswin.c b/src/os_mswin.c
index 26042b498..e27f38908 100644
--- a/src/os_mswin.c
+++ b/src/os_mswin.c
@@ -390,7 +390,7 @@ mch_isFullName(char_u *fname)
// the same as the name or mch_FullName() fails. However, this has quite a
// bit of overhead, so let's not do that.
if (*fname == NUL)
- return TRUE;
+ return FALSE;
return ((ASCII_ISALPHA(fname[0]) && fname[1] == ':'
&& (fname[2] == '/' || fname[2] == '\\'))
|| (fname[0] == fname[1] && (fname[0] == '/' || fname[0] == '\\')));
diff --git a/src/testdir/test_fnamemodify.vim b/src/testdir/test_fnamemodify.vim
index dfe322afd..c19f4646b 100644
--- a/src/testdir/test_fnamemodify.vim
+++ b/src/testdir/test_fnamemodify.vim
@@ -32,6 +32,7 @@ func Test_fnamemodify()
call assert_equal('fb2.tar.gz', fnamemodify('abc.fb2.tar.gz', ':e:e:e'))
call assert_equal('fb2.tar.gz', fnamemodify('abc.fb2.tar.gz', ':e:e:e:e'))
call assert_equal('tar', fnamemodify('abc.fb2.tar.gz', ':e:e:r'))
+ call assert_equal(getcwd(), fnamemodify('', ':p:h'))
let cwd = getcwd()
call chdir($HOME)
diff --git a/src/version.c b/src/version.c
index 15df8606f..0f0414e92 100644
--- a/src/version.c
+++ b/src/version.c
@@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3939,
+/**/
3938,
/**/
3937,