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

Raspunde prin e-mail lui