On Nov 11, 9:52 am, mattn <[email protected]> wrote: > On Nov 11, 2:56 am, Bram Moolenaar <[email protected]> wrote: > > Yasuhiro Matsumoto wrote: > > > > > I'm having this issue for long time. > > > > > I want to use shellshash on windows. Because some GNU's win32 > > > > > utilities are not work correctly with including backslash in the path. > > > > > And I remember: that Vim was working cheerfully with set shellslash on > > > > > windows. > > > > > Perhaps become at version 7.0, I couldn't use shellshash on windows on > > > > > a sudden. > > > > > > if set shellslash, "shellescape()" quote the arguments with single > > > > > quote. > > > > > > The arguments for external command became to quote as single quote. > > > > > i.e., I lost the way to use shellslash for passing double quoted > > > > > arguments. > > > > > To make matters worse, I get an error with doing following. > > > > > > :ehttp://www.google.com/ > > > > > :!curl 'http://www.google.com/'-o'C:/DOCUME~1/MATTN/Temp/ > > > > > VIA2046.tmp' > > > > > curl: (1) Unsupported protocol: 'http > > > > > > And I'll look that buffer name will be following. > > > > > > http:\\www.google.com\ > > > > > > Few months ago, I posted few suggestion about fixing this problem. But > > > > > it was not solved. > > > > > I tried to change to use noshellshash in my vimrc repeatedly. but I > > > > > couldn't be love it. > > > > > > So I want to suggest to fix this again. > > > > > > By and large, most user is using cmd.exe (or command.com) on windows. > > > > > This is meaning that Vim should escape double quote to pass the > > > > > arguments for command. > > > > > However, currently Vim interpret shellslash option against whether > > > > > should use single or double quote. > > > > > This is not right. This should be checked whether a 'shell' option > > > > > contain 'sh'. (same as shellxquote option) > > > > > > Please check this patch. > > > > > 'shellslash' assumes that you are using a Unix-like shell. I don't see > > > > how you can set 'shellslash' and use cmd.exe, many external commands > > > > that use Windows commands or are handled by the shell will fail, > > > > since all / in the argument are seen as flags. > > > > > Having the behavior depend on 'shellxquote' makes this more complicated, > > > > I'm not sure if that is a good idea. It's hard to think of all the > > > > possible combinations of commands (both shell and others) and what > > > > arguments they take. > > > > > So why don't you use a Unix-like shell? > > > > This answer is: > > > > * Vim was working good with shellslash on windows. > > > * Broken URL is shown in status line. > > > * I have to provide vimscripts for any users. (user of cmd.exe also) > > > > I want to hear from you: > > > > * Why don't you fix this problem? > > > * Why do you trancate shellslash from us? > > > You didn't answer my question about why you don't use a Unix-like shell > > while you do set 'shellslash'. That was the original purpose of this > > option, you appear to be in a different situation. So why do you set > > 'shellslash' even though you are using cmd.exe? You use some Unix-like > > utilities but not a Unix-like shell, that's a strange situation. > > Unix-like-Shell has problem also. > Most of Unix-like-Shell don't accept multi-byte-characters correctly. > And some of them should use "/c/progra~1/" to access to "c:\Program > Files\". > or "/cygdrive/c/progra~1/". > This make another problem. Thus I don't use unix-like-shell. > > > I don't like adding a side effect to the 'shellxquote' option. I'm not > > sure there will be situations where 'shellxquote' is set or unset where > > it should not have an effect on quoting in other places. > > Then, how about new option to control behavior of shellescape() ? > Fundamentally, This problem based on that: > Behavior of shellescape() depend on shellslash. > > I think that this stay out of settings of shellslash. > > Or, new option for use slash for path, for example 'pathslash'. > It is similar to shellslash. but not quote to single quote.
Bram, I'm looking for your reply. As Ben's said, cmd.exe can treat slash as path separator. - Yasuhiro Matsumoto -- 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
