Loading ...
Sorry, an error occurred while loading the content.
 

Re: expand('%:h:h')

Expand Messages
  • Marcin Szamotulski
    ... For me %:h:h being the same as %:h is quite not intuitive. I only hope that in my plugins whenever I used :h is have added :p before it. I think mostly
    Message 1 of 8 , Mar 23, 2013
      On 20:53 Sat 23 Mar , Ingo Karkat wrote:
      > 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 vim_dev+unsubscribe@....
      > For more options, visit https://groups.google.com/groups/opt_out.
      >

      For me %:h:h being the same as %:h is quite not intuitive. I only hope
      that in my plugins whenever I used :h is have added :p before it.
      I think mostly about plugin writers who might not know this corner case.

      Best regards,
      Marcin

      --
      --
      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 vim_dev+unsubscribe@....
      For more options, visit https://groups.google.com/groups/opt_out.
    Your message has been successfully submitted and would be delivered to recipients shortly.