On 23-Mar-13 20:21:58 +0100, Christian Brabandt wrote:

> Hi Ingo!
> 
> On Sa, 23 Mär 2013, Ingo Karkat wrote:
> 
>> On 23-Mar-13 17:26:13 +0100, Bram Moolenaar wrote:
>>
>>> Christian Brabandt wrote:
>>>
>>>> On Sa, 23 Mär 2013, Marcin Szamotulski wrote:
>>>>
>>>>> Dear Vim_Dev,
>>>>>
>>>>> If one is in the directory of the current file '%:h:h' expands to '.',
>>>>> while it should expand tas '%:p:h:h' does.  This is probably is not very
>>>>> useful case since using '../' is much simpler, though it might be used
>>>>> in a plugin (I've never been hit by this though).  Expansion of '%:h:h'
>>>>> works fine when the current directory is not where the current file is.
>>>>>
>>>>> Another, similar issue is when the current file is:
>>>>> /home/user/directory/file.txt
>>>>> and the current directory is 
>>>>> /home/user
>>>>>
>>>>> Then both '%:h:h' and '%:h:h:h' expand to '.'.
>>>>
>>>> I think this patch fixes it. It does so, by noticing, whether *fnamep 
>>>> has been set to '.' and if so and we are still trying to resolve one 
>>>> level up, will resolve '.' to an absolute path.
>>>
>>> I don't really like this.  If one wants to go above the current
>>> directory you can use ":p".
> 
> Indeed and I really don't mind here. Current version is ok for me.

Granted, it's a corner case, but why not make it more consistent? One trap less,
one thing less to code around in plugins.

>> Can't we change the patch so that it turns into the relative upwards
>> move ".." (then "../..", etc.)?! This way, it stays relative, and one
>> has to use :p to get absolute paths.
> 
> You might end up with many ../../../../ and I don't think this help.

It's certainly not nice to look at, but expand() will probably mostly be used in
custom functions, anyway. I can imagine use cases where one wants to go
programatically to a parent-parent-parent, and maybe stay in relative addressing
(though I would prefer absolute addresses with :p then, too).

-- regards, ingo

-- 
-- 
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Raspunde prin e-mail lui