Bill McCarthy wrote:
> On Sun 23-Sep-07 8:34pm -0600, Dasn wrote:
> 
>> I've posted on vim_use some days before:
>>
>>> $ vim -c "q" 'foo ~ foo'
>>> $ vim -c "normal '0"
>>> E20: Mark not set
>> Filename contains '~' character which is around with path separators
>> (i.e. ' ' and ',') has such problem.
>>
>> And the patch:
>>
>> Index: mark.c
> 
> With Windows (using XP) the problem is far nastier.  Simply
> opening a file with that name:
> 
>     gvim "foo ~ foo"
> 
> causes problems.  Specifically, I receive the following
> message:
> 
>     E303: Unable to open swap file for "foo C:\Documents and Settings\Bill 
> foo", recovery impossible
> 
> Notice how the '~' is expanded.
> 
> In my environment:
> 
>     HOMEDRIVE=C:
>     HOMEPATH=\Documents and Settings\Bill
> 

IIRC, On Windows the tilde is expanded by Vim; but IMHO it ought only to be 
expanded when it is the first element of the path, followed by a path 
separator or by the end of the string:

        ~       means $HOME     means %HOMEDRIVE%%HOMEPATH if %HOME% isn't set
        ~/foo   means $HOME/foo means %HOME%\foo, or substitute as above
        ~bill   means bill's $HOME on Unix but ".\~bill" on Windows
        C:/PROGRA~1 means "C:\PROGRA~1", expanded to "C:\Program Files" by the 
filesystem. It is important NOT to replace ~ by $HOME here.
        foo\ ~\ bar means ".\foo ~ bar"

Fixing this would (I suppose) patching wherever it is that Vim expands the 
tilde on Windows (IIRC, on Unix tilde-expansion is subcontracted to the shell).


Best regards,
Tony.
-- 
It's not the valleys in life I dread so much as the dips.
                -- Garfield

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui