patch 8.1.1473: new resolve() implementation causes problem for plugins
Problem: New resolve() implementation causes problem for plugins.
Solution: Only resolve a resparse point after checking it is needed. (Ken
Takata, closes #4492)
diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim
index cc1ee8b..a2e4da6 100644
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -276,6 +276,7 @@
" test for symbolic link to a file
new Xfile
wq
+ call assert_equal('Xfile', resolve('Xfile'))
silent !mklink Xlink Xfile
if !v:shell_error
call assert_equal(s:normalize_fname(getcwd() . '\Xfile'), s:normalize_fname(resolve('./Xlink')))
@@ -333,11 +334,14 @@
" test for reparse point
call mkdir('Xdir')
+ call assert_equal('Xdir', resolve('Xdir'))
silent !mklink /D Xdirlink Xdir
if !v:shell_error
w Xdir/text.txt
+ call assert_equal('Xdir/text.txt', resolve('Xdir/text.txt'))
call assert_equal(s:normalize_fname(getcwd() . '\Xdir\text.txt'), s:normalize_fname(resolve('Xdirlink\text.txt')))
call assert_equal(s:normalize_fname(getcwd() . '\Xdir'), s:normalize_fname(resolve('Xdirlink')))
+ call delete('Xdirlink')
else
echomsg 'skipped test for reparse point'
endif