Comment #6 on issue 127 by fritzoph...@gmail.com: TFS Plugin Broken by
latest VIM
http://code.google.com/p/vim/issues/detail?id=127
Removing the ^ worked great, thank you. Was this a change to VIM's
behavior?
...sort of.
It's a change in the DEFAULT behavior.
Previously something like this:
"C:\Program Files\MyApp\myapp.exe" "some arguments"
Would get executed directly in cmd.exe with no escaping or anything, which
the wonderful world of quoting in Windows cmd.exe would interpret as:
C:\Program Files\MyApp\myapp.exe" "some arguments
Which would obviously fail because "C:\Program" is not an executable
program (and probably doesn't even exist as a directory).
The plugin you are using dates from when this was still the default
behavior and is probably the only workaround that worked for the author at
the time. However, as I pointed out, I have no idea why it worked, because
it was wrong anyway. You can't escape quotes within quotes in Windows.
Anyway, Vim changed over a series of changes, each one less broken than the
last, to actually execute something like this in the cmd.exe shell for the
example I give above:
(^"C:\Program Files\MyApp\myapp.exe^" ^"some arguments^")
This works in almost every use case, although another thread recently found
something strange going on with parentheses between quotes or something
like that.
Support was also added to execute something like this instead, but it's not
the default, and I'm not actually sure what it fixes:
"(^"C:\Program Files\MyApp\myapp.exe^" ^"some arguments^")"
Remember how I said that escaping quotes within quotes won't work? You
might wonder why the above works. Well...cmd.exe will always strip off the
first and last quote in a line that begins and ends with a quote. So it's
actually like those aren't even there. Again though, I don't remember the
details. I think we ended up with defaults that work *almost* all the time
but still fail in specific less-common scenarios.
It's probably easier to do as some plugin authors do, and just build a .bat
script in a temp file and execute that, so you don't need to worry about
quoting.
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.