New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Asynchronous tag updates (attempt two) doesn't work on Windows due to double quote escaping issue. #85
Comments
Same problem! |
Same here :( |
Looks to be that there is still issue with async. I'm using Vim 8.0 and async does not work for me.
The response
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
First, thanks for attacking the merge of sync and async modes in #84; you did really well, and I especially like the fact that you've pulled out the generic functionality into vim-misc! As promised, I'm alpha-testing this, mainly on Windows. The synchronous update works fine, but the asynchronous invocation fails; the forked Vim fails with:
I think this is caused by improper handling of the double quotes (indeed a hairy problem in the Windows shell). Here's the full command invocation for reference (captured via Process Explorer):
"C:\Program Files\vim\vim\gvim.exe" -u NONE -U NONE --noplugin -n -N -i NONE --cmd "let &rtp = 'D:/A/.vim,C:\Program Files\vim\vim/vimfiles,C:\Program Files\vim\vim,C:\Program Files\vim\vim/vimfiles/after,D:/A/.vim/after' | call xolox#misc#async#inside_child({'number': 1, 'function': 'xolox#easytags#update#with_vim', 'servername': 'GVIM', 'callback': 'xolox#easytags#async_callback', 'arguments': [{'tagsfile': '\A\.vim\tags', 'have_args': 0, 'default_filetype': 'vim', 'ctags_version': '5.8', 'filter_tags': 1, 'command': 'ctags --fields=+l --c-kinds=+p --c++-kinds=+p --sort=no -f- ""--language-force=vim"" ""D:\A\.vim\autoload\xolox\easytags.vim""'}]})"
The culprit is the
""
; it may need to be^"
, or whatever craziness Windows thinks is right :-( You should be able to write a simple test just for the vim-misc async function, bypassing all the easytags complexity (and so this issue might actually be against vim-misc, not easytags). A workaround might be to allow passing a List as the'command'
property, and only assembling (andshellescape()
ing) this in the fork.For completeness, here are my settings; I see this in both Vim 7.4.316 and 7.3.823.
The text was updated successfully, but these errors were encountered: