To: vim_dev@googlegroups.com Subject: Patch 8.1.0294 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.1.0294 Problem: MS-Windows: sometimes uses short directory name. Solution: Expand to long file name with correct caps. (Nobuhiro Takasaki, closes #3334) Files: src/os_win32.c *** ../vim-8.1.0293/src/os_win32.c 2018-08-07 22:30:26.674240818 +0200 --- src/os_win32.c 2018-08-18 20:17:32.174060746 +0200 *************** *** 3108,3113 **** --- 3108,3115 ---- char_u *buf, int len) { + char_u abuf[_MAX_PATH + 1]; + /* * Originally this was: * return (getcwd(buf, len) != NULL ? OK : FAIL); *************** *** 3121,3127 **** if (GetCurrentDirectoryW(_MAX_PATH, wbuf) != 0) { ! char_u *p = utf16_to_enc(wbuf, NULL); if (p != NULL) { --- 3123,3135 ---- if (GetCurrentDirectoryW(_MAX_PATH, wbuf) != 0) { ! WCHAR wcbuf[_MAX_PATH + 1]; ! char_u *p; ! ! if (GetLongPathNameW(wbuf, wcbuf, _MAX_PATH) != 0) ! p = utf16_to_enc(wcbuf, NULL); ! else ! p = utf16_to_enc(wbuf, NULL); if (p != NULL) { *************** *** 3133,3139 **** return FAIL; } #endif ! return (GetCurrentDirectory(len, (LPSTR)buf) != 0 ? OK : FAIL); } /* --- 3141,3154 ---- return FAIL; } #endif ! if (GetCurrentDirectory(len, (LPSTR)buf) == 0) ! return FAIL; ! if (GetLongPathNameA((LPSTR)buf, (LPSTR)abuf, _MAX_PATH) == 0) ! // return the short path name ! return OK; ! ! vim_strncpy(abuf, buf, len - 1); ! return OK; } /* *** ../vim-8.1.0293/src/version.c 2018-08-18 19:59:48.418322409 +0200 --- src/version.c 2018-08-18 20:19:26.912289008 +0200 *************** *** 796,797 **** --- 796,799 ---- { /* Add new patch number below this line */ + /**/ + 294, /**/ -- A fool must search for a greater fool to find admiration. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///