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

Re: MacVim and $PATH

Expand Messages
  • Wes Baker
    Israel, That seems to get the paths into the application, but they re still at the end of the $PATH string, so I m still getting the wrong version of ctags.
    Message 1 of 16 , Feb 16, 2011
    • 0 Attachment
      Israel,

      That seems to get the paths into the application, but they're still at
      the end of the $PATH string, so I'm still getting the wrong version of
      ctags. Thanks for your help though!

      Wes

      On Feb 16, 9:56 pm, "Israel Chauca F." <israelvar...@...>
      wrote:
      > On Feb 16, 2011, at 8:52 PM, Wes Baker wrote:
      >
      > > Ben,
      >
      > > I'm using zsh and I'm using oh-my-zsh to set everything. As part of
      > > the package, I have this line:
      >
      > >    export PATH=/usr/local/Cellar/python/2.7.1/bin:/usr/local/bin:
      > > $PATH
      >
      > I had to set the path in ~/.zprofile to make it work on MacVim. Then I just check in ~/.zshrc if the path is already set.
      >
      >
      >
      > > When in the terminal and I echo $PATH, I get this (edited to make it a
      > > bit more readable):
      >
      > >    /Users/wes/.rvm/gems/ruby-1.9.2-p136/bin:
      > >    /Users/wes/.rvm/gems/ruby-1.9.2-p136@global/bin:
      > >    /Users/wes/.rvm/rubies/ruby-1.9.2-p136/bin:
      > >    /Users/wes/.rvm/bin:
      > >    /usr/local/Cellar/python/2.7.1/bin:
      > >    /usr/local/bin:
      > >    /usr/bin:/bin:
      > >    /usr/sbin:/sbin:
      > >    /usr/local/bin:
      > >    /usr/X11/bin
      >
      > > When in MacVim (using mvim) and I type !echo $PATH, I get this:
      >
      > >    /usr/bin:
      > >    /bin:
      > >    /usr/sbin:
      > >    /sbin:
      > >    /usr/local/bin:
      > >    /usr/X11/bin:
      > >    /Users/wes/.rvm/gems/ruby-1.9.2-p136/bin:
      > >    /Users/wes/.rvm/gems/ruby-1.9.2-p136@global/bin:
      > >    /Users/wes/.rvm/rubies/ruby-1.9.2-p136/bin:
      > >    /Users/wes/.rvm/bin:/usr/local/Cellar/python/2.7.1/bin
      >
      > > Then for a bit of added fun, when opening MacVim from the Applications
      > > folder, I get this:
      >
      > >    /usr/bin:
      > >    /bin:
      > >    /usr/sbin:
      > >    /sbin:
      > >    /usr/local/bin:
      > >    /usr/X11/bin
      >
      > > Why the differences between everything?
      >
      > > Wes
      >
      > > On Feb 16, 8:04 pm, Ben Schmidt <mail_ben_schm...@...> wrote:
      > >> I don't think this should be a problem these days.
      >
      > >> My $PATH is the same in MacVim and Terminal, and I didn't notice a
      > >> change when I upgraded from 10.4.x to 10.6.x either (so I didn't even
      > >> know about /etc/paths until I read your email, and everything has been
      > >> working fine).
      >
      > >> So...how are you setting your $PATH for Terminal? Are you using your
      > >> default login shell or something else in Terminal?
      >
      > >> Ben.
      >
      > >> On 17/02/11 9:20 AM, Wes Baker wrote:
      >
      > >>> I know folks have talked about this before, how MacVim's $PATH
      > >>> variable and the terminal's $PATH variable are different. One fix was
      > >>> a Preference in the Advanced tab that seems to have been made a
      > >>> default now and removed. The $PATH variables seem close now, but the
      > >>> order is different and that's become a problem when using ctags.
      >
      > >>> Mac has a version of ctags installed at /usr/bin/ctags and I have a
      > >>> version installed in homebrew at /usr/local/bin/ctags. When I do a
      > >>> which ctags in the Terminal I get the right ctags since it /usr/local/
      > >>> bin occurs first in my $PATH variable, but in MacVim (since it's
      > >>> using /etc/paths) it prefers /usr/bin and goes with the old decrepit
      > >>> version of ctags.
      >
      > >>> I've attempted to find a fix by manually changing the path in
      > >>> the .vimrc, but that hasn't done anything. Is there any other way
      > >>> around this?
      >
      > >>> Thanks
      > >>> Wes
      >
      > > --
      > > You received this message from the "vim_mac" maillist.
      > > Do not top-post! Type your reply below the text you are replying to.
      > > For more information, visithttp://www.vim.org/maillist.php

      --
      You received this message from the "vim_mac" 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
    • Björn Winckler
      ... My impression of this is that you are setting the PATH both in your zsh and the bash rc files, but in different order. I suggest you try setting the user
      Message 2 of 16 , Feb 17, 2011
      • 0 Attachment
        On Feb 17, 2011, at 4:02 AM, Wes Baker wrote:
        > On Feb 16, 9:56 pm, "Israel Chauca F." <israelvar...@...>
        > wrote:
        >> On Feb 16, 2011, at 8:52 PM, Wes Baker wrote:
        >>
        >>> Ben,
        >>
        >>> I'm using zsh and I'm using oh-my-zsh to set everything. As part of
        >>> the package, I have this line:
        >>
        >>> export PATH=/usr/local/Cellar/python/2.7.1/bin:/usr/local/bin:
        >>> $PATH
        >>
        >> I had to set the path in ~/.zprofile to make it work on MacVim. Then I just check in ~/.zshrc if the path is already set.
        >>
        >>
        >>
        >>> When in the terminal and I echo $PATH, I get this (edited to make it a
        >>> bit more readable):
        >>
        >>> /Users/wes/.rvm/gems/ruby-1.9.2-p136/bin:
        >>> /Users/wes/.rvm/gems/ruby-1.9.2-p136@global/bin:
        >>> /Users/wes/.rvm/rubies/ruby-1.9.2-p136/bin:
        >>> /Users/wes/.rvm/bin:
        >>> /usr/local/Cellar/python/2.7.1/bin:
        >>> /usr/local/bin:
        >>> /usr/bin:/bin:
        >>> /usr/sbin:/sbin:
        >>> /usr/local/bin:
        >>> /usr/X11/bin
        >>
        >>> When in MacVim (using mvim) and I type !echo $PATH, I get this:
        >>
        >>> /usr/bin:
        >>> /bin:
        >>> /usr/sbin:
        >>> /sbin:
        >>> /usr/local/bin:
        >>> /usr/X11/bin:
        >>> /Users/wes/.rvm/gems/ruby-1.9.2-p136/bin:
        >>> /Users/wes/.rvm/gems/ruby-1.9.2-p136@global/bin:
        >>> /Users/wes/.rvm/rubies/ruby-1.9.2-p136/bin:
        >>> /Users/wes/.rvm/bin:/usr/local/Cellar/python/2.7.1/bin
        >>
        >>> Then for a bit of added fun, when opening MacVim from the Applications
        >>> folder, I get this:
        >>
        >>> /usr/bin:
        >>> /bin:
        >>> /usr/sbin:
        >>> /sbin:
        >>> /usr/local/bin:
        >>> /usr/X11/bin
        >>
        >>> Why the differences between everything?
        >>
        >>> Wes
        >>
        >>> On Feb 16, 8:04 pm, Ben Schmidt <mail_ben_schm...@...> wrote:
        >>>> I don't think this should be a problem these days.
        >>
        >>>> My $PATH is the same in MacVim and Terminal, and I didn't notice a
        >>>> change when I upgraded from 10.4.x to 10.6.x either (so I didn't even
        >>>> know about /etc/paths until I read your email, and everything has been
        >>>> working fine).
        >>
        >>>> So...how are you setting your $PATH for Terminal? Are you using your
        >>>> default login shell or something else in Terminal?
        >>
        >>>> Ben.
        >>
        >>>> On 17/02/11 9:20 AM, Wes Baker wrote:
        >>
        >>>>> I know folks have talked about this before, how MacVim's $PATH
        >>>>> variable and the terminal's $PATH variable are different. One fix was
        >>>>> a Preference in the Advanced tab that seems to have been made a
        >>>>> default now and removed. The $PATH variables seem close now, but the
        >>>>> order is different and that's become a problem when using ctags.
        >>
        >>>>> Mac has a version of ctags installed at /usr/bin/ctags and I have a
        >>>>> version installed in homebrew at /usr/local/bin/ctags. When I do a
        >>>>> which ctags in the Terminal I get the right ctags since it /usr/local/
        >>>>> bin occurs first in my $PATH variable, but in MacVim (since it's
        >>>>> using /etc/paths) it prefers /usr/bin and goes with the old decrepit
        >>>>> version of ctags.
        >>
        >>>>> I've attempted to find a fix by manually changing the path in
        >>>>> the .vimrc, but that hasn't done anything. Is there any other way
        >>>>> around this?
        >>
        >>>>> Thanks
        >>>>> Wes
        >
        > Israel,
        >
        > That seems to get the paths into the application, but they're still at
        > the end of the $PATH string, so I'm still getting the wrong version of
        > ctags. Thanks for your help though!

        My impression of this is that you are setting the PATH both in your zsh and the bash rc files, but in different order.

        I suggest you try setting the user default MMLoginShellCommand, e.g.

        $ defaults write org.vim.MacVim MMLoginShellCommand "/usr/local/zsh"

        swap the path for wherever your zsh binary resides. Then quit and restart MacVim. Do you see any changes? (You should make sure your SHELL environment variable also points to the same shell, or is empty.) Try reading through ":h macvim-login-shell" and see if that is of any help.

        Björn

        --
        You received this message from the "vim_mac" 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
      • Ben Schmidt
        My guess is that something strange is going on with bash (which is used to execute mvim via its #!/bin/sh opening line) and zsh. Possibly the path_helper
        Message 3 of 16 , Feb 17, 2011
        • 0 Attachment
          My guess is that something strange is going on with bash (which is used
          to execute mvim via its #!/bin/sh opening line) and zsh. Possibly the
          'path_helper' that is executed in /etc/profile is messing things up.

          Also, have you set your login shell using chsh? If not, perhaps bash is
          also being used by MacVim to start new processes with the New Window
          command.

          Perhaps the simplest solution would be to set your path both in
          .zprofile and .profile. As I only use bash, I just have my path set in
          .profile and everything seems to work.

          Ben.



          On 17/02/11 2:02 PM, Wes Baker wrote:
          > Israel,
          >
          > That seems to get the paths into the application, but they're still at
          > the end of the $PATH string, so I'm still getting the wrong version of
          > ctags. Thanks for your help though!
          >
          > Wes
          >
          > On Feb 16, 9:56 pm, "Israel Chauca F."<israelvar...@...>
          > wrote:
          >> On Feb 16, 2011, at 8:52 PM, Wes Baker wrote:
          >>
          >>> Ben,
          >>
          >>> I'm using zsh and I'm using oh-my-zsh to set everything. As part of
          >>> the package, I have this line:
          >>
          >>> export PATH=/usr/local/Cellar/python/2.7.1/bin:/usr/local/bin:
          >>> $PATH
          >>
          >> I had to set the path in ~/.zprofile to make it work on MacVim. Then I just check in ~/.zshrc if the path is already set.
          >>
          >>
          >>
          >>> When in the terminal and I echo $PATH, I get this (edited to make it a
          >>> bit more readable):
          >>
          >>> /Users/wes/.rvm/gems/ruby-1.9.2-p136/bin:
          >>> /Users/wes/.rvm/gems/ruby-1.9.2-p136@global/bin:
          >>> /Users/wes/.rvm/rubies/ruby-1.9.2-p136/bin:
          >>> /Users/wes/.rvm/bin:
          >>> /usr/local/Cellar/python/2.7.1/bin:
          >>> /usr/local/bin:
          >>> /usr/bin:/bin:
          >>> /usr/sbin:/sbin:
          >>> /usr/local/bin:
          >>> /usr/X11/bin
          >>
          >>> When in MacVim (using mvim) and I type !echo $PATH, I get this:
          >>
          >>> /usr/bin:
          >>> /bin:
          >>> /usr/sbin:
          >>> /sbin:
          >>> /usr/local/bin:
          >>> /usr/X11/bin:
          >>> /Users/wes/.rvm/gems/ruby-1.9.2-p136/bin:
          >>> /Users/wes/.rvm/gems/ruby-1.9.2-p136@global/bin:
          >>> /Users/wes/.rvm/rubies/ruby-1.9.2-p136/bin:
          >>> /Users/wes/.rvm/bin:/usr/local/Cellar/python/2.7.1/bin
          >>
          >>> Then for a bit of added fun, when opening MacVim from the Applications
          >>> folder, I get this:
          >>
          >>> /usr/bin:
          >>> /bin:
          >>> /usr/sbin:
          >>> /sbin:
          >>> /usr/local/bin:
          >>> /usr/X11/bin
          >>
          >>> Why the differences between everything?
          >>
          >>> Wes
          >>
          >>> On Feb 16, 8:04 pm, Ben Schmidt<mail_ben_schm...@...> wrote:
          >>>> I don't think this should be a problem these days.
          >>
          >>>> My $PATH is the same in MacVim and Terminal, and I didn't notice a
          >>>> change when I upgraded from 10.4.x to 10.6.x either (so I didn't even
          >>>> know about /etc/paths until I read your email, and everything has been
          >>>> working fine).
          >>
          >>>> So...how are you setting your $PATH for Terminal? Are you using your
          >>>> default login shell or something else in Terminal?
          >>
          >>>> Ben.
          >>
          >>>> On 17/02/11 9:20 AM, Wes Baker wrote:
          >>
          >>>>> I know folks have talked about this before, how MacVim's $PATH
          >>>>> variable and the terminal's $PATH variable are different. One fix was
          >>>>> a Preference in the Advanced tab that seems to have been made a
          >>>>> default now and removed. The $PATH variables seem close now, but the
          >>>>> order is different and that's become a problem when using ctags.
          >>
          >>>>> Mac has a version of ctags installed at /usr/bin/ctags and I have a
          >>>>> version installed in homebrew at /usr/local/bin/ctags. When I do a
          >>>>> which ctags in the Terminal I get the right ctags since it /usr/local/
          >>>>> bin occurs first in my $PATH variable, but in MacVim (since it's
          >>>>> using /etc/paths) it prefers /usr/bin and goes with the old decrepit
          >>>>> version of ctags.
          >>
          >>>>> I've attempted to find a fix by manually changing the path in
          >>>>> the .vimrc, but that hasn't done anything. Is there any other way
          >>>>> around this?
          >>
          >>>>> Thanks
          >>>>> Wes
          >>
          >>> --
          >>> You received this message from the "vim_mac" maillist.
          >>> Do not top-post! Type your reply below the text you are replying to.
          >>> For more information, visithttp://www.vim.org/maillist.php
          >

          --
          You received this message from the "vim_mac" 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
        • Wes Baker
          Bjorn and Ben, I m now only setting the $PATH in .profile and .zprofile and I ve also set MMLoginShellCommand for MacVim and I m still having the same exact
          Message 4 of 16 , Feb 17, 2011
          • 0 Attachment
            Bjorn and Ben,

            I'm now only setting the $PATH in .profile and .zprofile and I've also
            set MMLoginShellCommand for MacVim and I'm still having the same exact
            problem.

            I changed my shell in the Accounts Preference Pane, which I'm assuming
            used chsh, but I'm not too sure.

            Any other ideas?

            Wes

            On Feb 17, 5:07 am, Ben Schmidt <mail_ben_schm...@...> wrote:
            > My guess is that something strange is going on with bash (which is used
            > to execute mvim via its #!/bin/sh opening line) and zsh. Possibly the
            > 'path_helper' that is executed in /etc/profile is messing things up.
            >
            > Also, have you set your login shell using chsh? If not, perhaps bash is
            > also being used by MacVim to start new processes with the New Window
            > command.
            >
            > Perhaps the simplest solution would be to set your path both in
            > .zprofile and .profile. As I only use bash, I just have my path set in
            > .profile and everything seems to work.
            >
            > Ben.
            >
            > On 17/02/11 2:02 PM, Wes Baker wrote:
            >
            >
            >
            > > Israel,
            >
            > > That seems to get the paths into the application, but they're still at
            > > the end of the $PATH string, so I'm still getting the wrong version of
            > > ctags. Thanks for your help though!
            >
            > > Wes
            >
            > > On Feb 16, 9:56 pm, "Israel Chauca F."<israelvar...@...>
            > > wrote:
            > >> On Feb 16, 2011, at 8:52 PM, Wes Baker wrote:
            >
            > >>> Ben,
            >
            > >>> I'm using zsh and I'm using oh-my-zsh to set everything. As part of
            > >>> the package, I have this line:
            >
            > >>>     export PATH=/usr/local/Cellar/python/2.7.1/bin:/usr/local/bin:
            > >>> $PATH
            >
            > >> I had to set the path in ~/.zprofile to make it work on MacVim. Then I just check in ~/.zshrc if the path is already set.
            >
            > >>> When in the terminal and I echo $PATH, I get this (edited to make it a
            > >>> bit more readable):
            >
            > >>>     /Users/wes/.rvm/gems/ruby-1.9.2-p136/bin:
            > >>>     /Users/wes/.rvm/gems/ruby-1.9.2-p136@global/bin:
            > >>>     /Users/wes/.rvm/rubies/ruby-1.9.2-p136/bin:
            > >>>     /Users/wes/.rvm/bin:
            > >>>     /usr/local/Cellar/python/2.7.1/bin:
            > >>>     /usr/local/bin:
            > >>>     /usr/bin:/bin:
            > >>>     /usr/sbin:/sbin:
            > >>>     /usr/local/bin:
            > >>>     /usr/X11/bin
            >
            > >>> When in MacVim (using mvim) and I type !echo $PATH, I get this:
            >
            > >>>     /usr/bin:
            > >>>     /bin:
            > >>>     /usr/sbin:
            > >>>     /sbin:
            > >>>     /usr/local/bin:
            > >>>     /usr/X11/bin:
            > >>>     /Users/wes/.rvm/gems/ruby-1.9.2-p136/bin:
            > >>>     /Users/wes/.rvm/gems/ruby-1.9.2-p136@global/bin:
            > >>>     /Users/wes/.rvm/rubies/ruby-1.9.2-p136/bin:
            > >>>     /Users/wes/.rvm/bin:/usr/local/Cellar/python/2.7.1/bin
            >
            > >>> Then for a bit of added fun, when opening MacVim from the Applications
            > >>> folder, I get this:
            >
            > >>>     /usr/bin:
            > >>>     /bin:
            > >>>     /usr/sbin:
            > >>>     /sbin:
            > >>>     /usr/local/bin:
            > >>>     /usr/X11/bin
            >
            > >>> Why the differences between everything?
            >
            > >>> Wes
            >
            > >>> On Feb 16, 8:04 pm, Ben Schmidt<mail_ben_schm...@...>  wrote:
            > >>>> I don't think this should be a problem these days.
            >
            > >>>> My $PATH is the same in MacVim and Terminal, and I didn't notice a
            > >>>> change when I upgraded from 10.4.x to 10.6.x either (so I didn't even
            > >>>> know about /etc/paths until I read your email, and everything has been
            > >>>> working fine).
            >
            > >>>> So...how are you setting your $PATH for Terminal? Are you using your
            > >>>> default login shell or something else in Terminal?
            >
            > >>>> Ben.
            >
            > >>>> On 17/02/11 9:20 AM, Wes Baker wrote:
            >
            > >>>>> I know folks have talked about this before, how MacVim's $PATH
            > >>>>> variable and the terminal's $PATH variable are different. One fix was
            > >>>>> a Preference in the Advanced tab that seems to have been made a
            > >>>>> default now and removed. The $PATH variables seem close now, but the
            > >>>>> order is different and that's become a problem when using ctags.
            >
            > >>>>> Mac has a version of ctags installed at /usr/bin/ctags and I have a
            > >>>>> version installed in homebrew at /usr/local/bin/ctags. When I do a
            > >>>>> which ctags in the Terminal I get the right ctags since it /usr/local/
            > >>>>> bin occurs first in my $PATH variable, but in MacVim (since it's
            > >>>>> using /etc/paths) it prefers /usr/bin and goes with the old decrepit
            > >>>>> version of ctags.
            >
            > >>>>> I've attempted to find a fix by manually changing the path in
            > >>>>> the .vimrc, but that hasn't done anything. Is there any other way
            > >>>>> around this?
            >
            > >>>>> Thanks
            > >>>>> Wes
            >
            > >>> --
            > >>> You received this message from the "vim_mac" maillist.
            > >>> Do not top-post! Type your reply below the text you are replying to.
            > >>> For more information, visithttp://www.vim.org/maillist.php

            --
            You received this message from the "vim_mac" 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
          • Björn Winckler
            ... I m stumped. Can you try changing your shell back to bash and see if you still have the same problems? Björn P.S. I d like to remind everybody that the
            Message 5 of 16 , Feb 17, 2011
            • 0 Attachment
              On Feb 17, 2011, at 1:54 PM, Wes Baker wrote:

              > I'm now only setting the $PATH in .profile and .zprofile and I've also
              > set MMLoginShellCommand for MacVim and I'm still having the same exact
              > problem.
              >
              > I changed my shell in the Accounts Preference Pane, which I'm assuming
              > used chsh, but I'm not too sure.
              >
              > Any other ideas?

              I'm stumped. Can you try changing your shell back to bash and see if you still have the same problems?

              Björn


              P.S. I'd like to remind everybody that the custom is to bottom post on this list, see:

              http://groups.google.com/group/vim_use/web/vim-information

              --
              You received this message from the "vim_mac" 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
            • Israel Chauca F.
              ... Coincidentally, today I had some problems involving wrong paths on vim (seems like I hadn t fixed anything after all), so I did some tests with vim, gvim
              Message 6 of 16 , Feb 18, 2011
              • 0 Attachment
                On Feb 17, 2011, at 12:26 PM, Björn Winckler wrote:

                > On Feb 17, 2011, at 1:54 PM, Wes Baker wrote:
                >
                >> I'm now only setting the $PATH in .profile and .zprofile and I've also
                >> set MMLoginShellCommand for MacVim and I'm still having the same exact
                >> problem.
                >>
                >> I changed my shell in the Accounts Preference Pane, which I'm assuming
                >> used chsh, but I'm not too sure.
                >>
                >> Any other ideas?
                >
                > I'm stumped. Can you try changing your shell back to bash and see if you still have the same problems?

                Coincidentally, today I had some problems involving wrong paths on vim (seems like I hadn't fixed anything after all), so I did some tests with vim, gvim and gvim launched from the terminal, and the paths appear to be created in the following way:

                1.- vim:
                :echo $PATH => ($PATH from .zshrc)
                :!echo $PATH => ($PATH from /etc/paths)+($PATHs from /etc/paths.d/*)+($PATH from .zshrc)

                2.- gvim:
                :echo $PATH => ($PATH from .zprofile)
                :!echo $PATH => ($PATH from /etc/paths)+($PATHs from /etc/paths.d/*)+($PATH from .zprofile)

                3.- gvim from terminal:
                :echo $PATH => ($PATH from .zshrc)
                :!echo $PATH => ($PATH from /etc/paths)+($PATHs from /etc/paths.d/*)+($PATH from .zshrc)

                Why the difference between the $PATHs? The second form is what path_helper returns.

                The only way to make $HOME/bin to take precedence would be to add the full path to /etc/paths, which doesn't look right.

                Is there any way to change this behaviour?

                Thanks!
                Israel

                --
                You received this message from the "vim_mac" 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
              • Björn Winckler
                ... Out of curiosity I tried this experiment myself but I get the same path in all six cases. I m using the default bash shell... ... I don t understand these
                Message 7 of 16 , Feb 19, 2011
                • 0 Attachment
                  On Feb 19, 2011, at 2:12 AM, Israel Chauca F. wrote:
                  > Coincidentally, today I had some problems involving wrong paths on vim (seems like I hadn't fixed anything after all), so I did some tests with vim, gvim and gvim launched from the terminal, and the paths appear to be created in the following way:
                  >
                  > 1.- vim:
                  > :echo $PATH => ($PATH from .zshrc)
                  > :!echo $PATH => ($PATH from /etc/paths)+($PATHs from /etc/paths.d/*)+($PATH from .zshrc)
                  >
                  > 2.- gvim:
                  > :echo $PATH => ($PATH from .zprofile)
                  > :!echo $PATH => ($PATH from /etc/paths)+($PATHs from /etc/paths.d/*)+($PATH from .zprofile)
                  >
                  > 3.- gvim from terminal:
                  > :echo $PATH => ($PATH from .zshrc)
                  > :!echo $PATH => ($PATH from /etc/paths)+($PATHs from /etc/paths.d/*)+($PATH from .zshrc)
                  >
                  > Why the difference between the $PATHs? The second form is what path_helper returns.

                  Out of curiosity I tried this experiment myself but I get the same path in all six cases. I'm using the default bash shell...

                  > The only way to make $HOME/bin to take precedence would be to add the full path to /etc/paths, which doesn't look right.
                  >
                  > Is there any way to change this behaviour?

                  I don't understand these issues but it seems to be related to zsh somehow.

                  Björn

                  --
                  You received this message from the "vim_mac" 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
                • Ben Schmidt
                  ... Hmm. OK. So when zsh is used by Vim to run external commands we have the problem. Looks like it s caused by /etc/zshenv, which calls path_helper for all
                  Message 8 of 16 , Feb 19, 2011
                  • 0 Attachment
                    > Coincidentally, today I had some problems involving wrong paths on vim
                    > (seems like I hadn't fixed anything after all), so I did some tests
                    > with vim, gvim and gvim launched from the terminal, and the paths
                    > appear to be created in the following way:
                    >
                    > 1.- vim:
                    > :echo $PATH => ($PATH from .zshrc)
                    > :!echo $PATH => ($PATH from /etc/paths)+($PATHs from /etc/paths.d/*)+($PATH from .zshrc)
                    >
                    > 2.- gvim:
                    > :echo $PATH => ($PATH from .zprofile)
                    > :!echo $PATH => ($PATH from /etc/paths)+($PATHs from /etc/paths.d/*)+($PATH from .zprofile)
                    >
                    > 3.- gvim from terminal:
                    > :echo $PATH => ($PATH from .zshrc)
                    > :!echo $PATH => ($PATH from /etc/paths)+($PATHs from /etc/paths.d/*)+($PATH from .zshrc)
                    >
                    > Why the difference between the $PATHs? The second form is what
                    > path_helper returns.

                    Hmm. OK. So when zsh is used by Vim to run external commands we have the
                    problem. Looks like it's caused by /etc/zshenv, which calls path_helper
                    for all zsh invocations, not just login shell invocations. That's not
                    right, really, so it's a bug in how Mac OS X is set up. /etc/zshenv
                    should be used by a sysadmin to set environment variables that restrict
                    the shell so that users can't do stuff they shouldn't be allowed to; it
                    shouldn't be used to set the PATH which is a user-controllable thing
                    that should be inherited by non-login shells.

                    Since when Vim runs external commands, it's not an interactive shell,
                    zshrc stuff is not read, and it's not a login shell so zprofile is not
                    read, so the path cannot really be fixed by these files.

                    So the path_helper stuff in /etc/zshenv should really needs to be moved
                    to /etc/zprofile where it belongs. Then it will only affect login
                    shells, and login is the correct time to set the path. And this still
                    happens before the ~/.zprofile stuff, so users can change it at login,
                    and before zshrc stuff, so sysadmin or users can adjust it for
                    interactive use. This is all how it should work and how vim kinda
                    assumes it will work.

                    So

                    sudo mv /etc/zshenv /etc/zprofile

                    and I think everything will be good! (Be careful that /etc/zprofile
                    doesn't already exist. If it does, obviously you need to merge the
                    contents of zshenv into it, rather than just replacing it.)

                    Hope this helps. Do let us know the verdict....

                    Ben.



                    --
                    You received this message from the "vim_mac" 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
                  • Israel Chauca F.
                    ... Quite nice! I modified those files as needed and now Vim picks all my executables from the expected places. I know this is a Zsh issue, but we have users
                    Message 9 of 16 , Feb 19, 2011
                    • 0 Attachment
                      On Feb 19, 2011, at 8:40 AM, Ben Schmidt wrote:

                      >> Coincidentally, today I had some problems involving wrong paths on vim
                      >> (seems like I hadn't fixed anything after all), so I did some tests
                      >> with vim, gvim and gvim launched from the terminal, and the paths
                      >> appear to be created in the following way:
                      >>
                      >> 1.- vim:
                      >> :echo $PATH => ($PATH from .zshrc)
                      >> :!echo $PATH => ($PATH from /etc/paths)+($PATHs from /etc/paths.d/*)+($PATH from .zshrc)
                      >>
                      >> 2.- gvim:
                      >> :echo $PATH => ($PATH from .zprofile)
                      >> :!echo $PATH => ($PATH from /etc/paths)+($PATHs from /etc/paths.d/*)+($PATH from .zprofile)
                      >>
                      >> 3.- gvim from terminal:
                      >> :echo $PATH => ($PATH from .zshrc)
                      >> :!echo $PATH => ($PATH from /etc/paths)+($PATHs from /etc/paths.d/*)+($PATH from .zshrc)
                      >>
                      >> Why the difference between the $PATHs? The second form is what
                      >> path_helper returns.
                      >
                      > Hmm. OK. So when zsh is used by Vim to run external commands we have the
                      > problem. Looks like it's caused by /etc/zshenv, which calls path_helper
                      > for all zsh invocations, not just login shell invocations. That's not
                      > right, really, so it's a bug in how Mac OS X is set up. /etc/zshenv
                      > should be used by a sysadmin to set environment variables that restrict
                      > the shell so that users can't do stuff they shouldn't be allowed to; it
                      > shouldn't be used to set the PATH which is a user-controllable thing
                      > that should be inherited by non-login shells.
                      >
                      > Since when Vim runs external commands, it's not an interactive shell,
                      > zshrc stuff is not read, and it's not a login shell so zprofile is not
                      > read, so the path cannot really be fixed by these files.
                      >
                      > So the path_helper stuff in /etc/zshenv should really needs to be moved
                      > to /etc/zprofile where it belongs. Then it will only affect login
                      > shells, and login is the correct time to set the path. And this still
                      > happens before the ~/.zprofile stuff, so users can change it at login,
                      > and before zshrc stuff, so sysadmin or users can adjust it for
                      > interactive use. This is all how it should work and how vim kinda
                      > assumes it will work.
                      >
                      > So
                      >
                      > sudo mv /etc/zshenv /etc/zprofile
                      >
                      > and I think everything will be good! (Be careful that /etc/zprofile
                      > doesn't already exist. If it does, obviously you need to merge the
                      > contents of zshenv into it, rather than just replacing it.)
                      >
                      > Hope this helps. Do let us know the verdict....

                      Quite nice! I modified those files as needed and now Vim picks all my executables from the expected places.

                      I know this is a Zsh issue, but we have users coming to IRC asking why their commands aren't found. So, maybe a note about this could go on the Troubleshooting section of the FAQ. I know the "other rc-files" section covers this, but it seems that many people (like me) have no idea about /etc/zshenv being there at all, so the problem remains unsolved.

                      Cheers,
                      Israel

                      --
                      You received this message from the "vim_mac" 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
                    • Israel Chauca F.
                      ... Many thanks, Ben. Israel -- You received this message from the vim_mac maillist. Do not top-post! Type your reply below the text you are replying to. For
                      Message 10 of 16 , Feb 19, 2011
                      • 0 Attachment
                        On Feb 19, 2011, at 8:40 AM, Ben Schmidt wrote:

                        >> Coincidentally, today I had some problems involving wrong paths on vim
                        >> (seems like I hadn't fixed anything after all), so I did some tests
                        >> with vim, gvim and gvim launched from the terminal, and the paths
                        >> appear to be created in the following way:
                        >>
                        >> 1.- vim:
                        >> :echo $PATH => ($PATH from .zshrc)
                        >> :!echo $PATH => ($PATH from /etc/paths)+($PATHs from /etc/paths.d/*)+($PATH from .zshrc)
                        >>
                        >> 2.- gvim:
                        >> :echo $PATH => ($PATH from .zprofile)
                        >> :!echo $PATH => ($PATH from /etc/paths)+($PATHs from /etc/paths.d/*)+($PATH from .zprofile)
                        >>
                        >> 3.- gvim from terminal:
                        >> :echo $PATH => ($PATH from .zshrc)
                        >> :!echo $PATH => ($PATH from /etc/paths)+($PATHs from /etc/paths.d/*)+($PATH from .zshrc)
                        >>
                        >> Why the difference between the $PATHs? The second form is what
                        >> path_helper returns.
                        >
                        > Hmm. OK. So when zsh is used by Vim to run external commands we have the
                        > problem. Looks like it's caused by /etc/zshenv, which calls path_helper
                        > for all zsh invocations, not just login shell invocations. That's not
                        > right, really, so it's a bug in how Mac OS X is set up. /etc/zshenv
                        > should be used by a sysadmin to set environment variables that restrict
                        > the shell so that users can't do stuff they shouldn't be allowed to; it
                        > shouldn't be used to set the PATH which is a user-controllable thing
                        > that should be inherited by non-login shells.
                        >
                        > Since when Vim runs external commands, it's not an interactive shell,
                        > zshrc stuff is not read, and it's not a login shell so zprofile is not
                        > read, so the path cannot really be fixed by these files.
                        >
                        > So the path_helper stuff in /etc/zshenv should really needs to be moved
                        > to /etc/zprofile where it belongs. Then it will only affect login
                        > shells, and login is the correct time to set the path. And this still
                        > happens before the ~/.zprofile stuff, so users can change it at login,
                        > and before zshrc stuff, so sysadmin or users can adjust it for
                        > interactive use. This is all how it should work and how vim kinda
                        > assumes it will work.
                        >
                        > So
                        >
                        > sudo mv /etc/zshenv /etc/zprofile
                        >
                        > and I think everything will be good! (Be careful that /etc/zprofile
                        > doesn't already exist. If it does, obviously you need to merge the
                        > contents of zshenv into it, rather than just replacing it.)
                        >
                        > Hope this helps. Do let us know the verdict....

                        Many thanks, Ben.

                        Israel

                        --
                        You received this message from the "vim_mac" 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
                      • Björn Winckler
                        ... Please do add a section to the FAQ [1] -- it is a wiki so anybody can edit it. I d do it myself, but as should be quite obvious I don t really get what s
                        Message 11 of 16 , Feb 19, 2011
                        • 0 Attachment
                          On Feb 19, 2011, at 8:53 PM, Israel Chauca F. wrote:
                          >
                          > I know this is a Zsh issue, but we have users coming to IRC asking why their commands aren't found. So, maybe a note about this could go on the Troubleshooting section of the FAQ. I know the "other rc-files" section covers this, but it seems that many people (like me) have no idea about /etc/zshenv being there at all, so the problem remains unsolved.

                          Please do add a section to the FAQ [1] -- it is a wiki so anybody can edit it. I'd do it myself, but as should be quite obvious I don't really get what's going on here so better somebody who does know adds an item.

                          Björn

                          [1] https://github.com/b4winckler/macvim/wiki/FAQ

                          --
                          You received this message from the "vim_mac" 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
                        • barry.allard@...
                          ... Just encountered this problem also 4 years later. The issue is with OS X /etc/zshenv and /etc/profile overwriting PATH blindly in subshells. The fix is to
                          Message 12 of 16 , Jan 14
                          • 0 Attachment
                            On Saturday, February 19, 2011 at 1:39:07 PM UTC-8, björn wrote:
                            > On Feb 19, 2011, at 8:53 PM, Israel Chauca F. wrote:
                            > >
                            > > I know this is a Zsh issue, but we have users coming to IRC asking why their commands aren't found. So, maybe a note about this could go on the Troubleshooting section of the FAQ. I know the "other rc-files" section covers this, but it seems that many people (like me) have no idea about /etc/zshenv being there at all, so the problem remains unsolved.
                            >
                            > Please do add a section to the FAQ [1] -- it is a wiki so anybody can edit it. I'd do it myself, but as should be quite obvious I don't really get what's going on here so better somebody who does know adds an item.
                            >
                            > Björn
                            >
                            > [1] https://github.com/b4winckler/macvim/wiki/FAQ


                            Just encountered this problem also 4 years later. The issue is with OS X /etc/zshenv and /etc/profile overwriting PATH blindly in subshells.

                            The fix is to replace each path_helper block with the following: sudo vi /etc/{profile,zshenv}

                            if [ -x /usr/libexec/path_helper ]; then
                            if [ -z "$PATH" ] || [ "$PATH" = /usr/bin:/bin:/usr/sbin:/sbin ]; then
                            eval `/usr/libexec/path_helper -s`
                            fi
                            fi

                            It's probably worth submitting an Apple radar ticket so that it's fixed forever.

                            Barry Allard

                            --
                            --
                            You received this message from the "vim_mac" 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_mac" group.
                            To unsubscribe from this group and stop receiving emails from it, send an email to vim_mac+unsubscribe@....
                            For more options, visit https://groups.google.com/d/optout.
                          Your message has been successfully submitted and would be delivered to recipients shortly.