changeset 26821:81f0d5a958b9 v8.2.3939

patch 8.2.3939: MS-Windows: fnamemodify('', ':p') does not work Commit: https://github.com/vim/vim/commit/5a664fe57fe7ba65a771bc95ef1c205e4db193b7 Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Wed Dec 29 18:16:21 2021 +0000 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)
author Bram Moolenaar <Bram@vim.org>
date Wed, 29 Dec 2021 19:30:03 +0100
parents 6a6a985ee1d5
children 8016871d3afa
files src/os_mswin.c src/testdir/test_fnamemodify.vim src/version.c
diffstat 3 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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] == '\\')));
--- 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)
--- 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,