From: Yegappan Lakshmanan Date: Wed, 29 Dec 2021 18:16:21 +0000 (+0000) Subject: patch 8.2.3939: MS-Windows: fnamemodify('', ':p') does not work X-Git-Tag: v8.2.3939 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5a664fe57fe7ba65a771bc95ef1c205e4db193b7;p=vim patch 8.2.3939: MS-Windows: fnamemodify('', ':p') does not work Problem: MS-Windows: fnamemodify('', ':p') does not work. Solution: Do not consider an empty string a full path. (Yegappan Lakshmanan, closes #9428, closes #9427) --- 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 @@ -749,6 +749,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 3939, /**/ 3938, /**/