diff options
author | erw7 <erw7.github@gmail.com> | 2020-04-15 21:54:23 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-15 14:54:23 +0200 |
commit | e8269a3ab5f4505f27997b46b0eaf9464d186cf9 (patch) | |
tree | c1368dc7eb8de6940dd5cad017c2fa9be9b64450 | |
parent | e11e93d1394df83a93c83de5b60639f5085d69dd (diff) | |
download | rneovim-e8269a3ab5f4505f27997b46b0eaf9464d186cf9.tar.gz rneovim-e8269a3ab5f4505f27997b46b0eaf9464d186cf9.tar.bz2 rneovim-e8269a3ab5f4505f27997b46b0eaf9464d186cf9.zip |
win,runtime: Fix problem when win32yank was a symbolic link in WSL [skip ci] (#12124)
On some versions of Windows, WSL is unable to execute symbolic links to
Windows executables (microsoft/WSL#3999). As a workaround for that problem
this changes to use resolve() on WSL if win32yank was a symbolic link.
fixes #12113.
-rw-r--r-- | runtime/autoload/provider/clipboard.vim | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/runtime/autoload/provider/clipboard.vim b/runtime/autoload/provider/clipboard.vim index c86f7d0c2f..a96a0a61b7 100644 --- a/runtime/autoload/provider/clipboard.vim +++ b/runtime/autoload/provider/clipboard.vim @@ -113,8 +113,13 @@ function! provider#clipboard#Executable() abort let s:paste['*'] = s:paste['+'] return 'doitclient' elseif executable('win32yank.exe') - let s:copy['+'] = 'win32yank.exe -i --crlf' - let s:paste['+'] = 'win32yank.exe -o --lf' + if has('wsl') && getftype(exepath('win32yank.exe')) == 'link' + let win32yank = resolve(exepath('win32yank.exe')) + else + let win32yank = 'win32yank.exe' + endif + let s:copy['+'] = win32yank.' -i --crlf' + let s:paste['+'] = win32yank.' -o --lf' let s:copy['*'] = s:copy['+'] let s:paste['*'] = s:paste['+'] return 'win32yank' |