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. - 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
