all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Bastian Beischer <bastian.beischer@rwth-aachen.de>
To: Emanuel Berg <moasen@zoho.com>
Cc: Help-Gnu-Emacs <help-gnu-emacs@gnu.org>
Subject: Re: emacs doesn't inherit PATH from environment
Date: Wed, 14 Feb 2018 20:19:24 +0100	[thread overview]
Message-ID: <CAK9AuB_PxD_tfu4s14mruASOVjow-VTgntdBape8TzLbSDsN4Q@mail.gmail.com> (raw)
In-Reply-To: <864lmkhff0.fsf@zoho.com>

Hello Emanuel,

On Tue, Feb 13, 2018 at 8:12 PM, Emanuel Berg <moasen@zoho.com> wrote:
>
> Larry Evans wrote:
>
> > When executing a Makefile or invoking eshell,
> > the PATH is not the same as when running from
> > a terminal window. Even when I modify the
> > PATH in the emacs initialization code in
> > ~/emacs.d/init.common.el, the executables in
> > the PATH are *not* found.
>
> Where and how do you set PATH?
>
> Shell stuff that I want available from Emacs
> I have to set in a special file for zsh, which
> is
>
>     ~/.zshenv
>
> If I put the same thing in plain .zshrc or
> a file loaded from there, it doesn't work!
>
> I never understood why because the Emacs
> instance is run from a zsh shell, but for some
> reason Emacs cannot see zsh stuff that aren't
> defined in that special file, even when (as
> said) executed from a point which HAS access to
> it all!
>
> My experience with this has only been
> *functions*, not environmentals, but it is
> worth a shot.

There is a key difference between functions and variables. In zsh
functions are not exported to subshells (except for (...) subshells),
unlike exported variables. In bash you can mark functions with
'typeset -fx' to propagate them to subshells, but I think with zsh
that's not possible and you need to redefine them in a shell startup
file which is read when the subshell is spawned. Typically these
subshells are 'interactive non-login' shells so possible places are
~/.zshrc and ~/.zshenv, but not ~/.zprofile. ~/.zshenv is always read,
also in non-interactive scripts, which is why I don't like to use it.
It is also possible to place the code for the function in a separate
file in $FPATH and use autoloads, but even that does not work without
the autoload line in ~/.zshrc or ~/.zshenv for subshells.

For variables none of this should matter: As long as the variable is
exported it should be visible in the subshell. However, I don't think
'eshell' is a real shell, so that may be a different story.

>
> Also, you can use this to check the value prior
> to starting the shell and Makefile compilation
> session:
>
>     (getenv "PATH")
>
> Is it correct?
>
> --
> underground experts united
> http://user.it.uu.se/~embe8573



  parent reply	other threads:[~2018-02-14 19:19 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.8985.1518453550.27995.help-gnu-emacs@gnu.org>
2018-02-13 19:12 ` emacs doesn't inherit PATH from environment Emanuel Berg
2018-02-13 23:57   ` Larry Evans
     [not found]   ` <mailman.9069.1518566292.27995.help-gnu-emacs@gnu.org>
2018-02-14  0:11     ` Emanuel Berg
2018-02-14  0:48       ` Larry Evans
2018-02-14  1:45         ` Robert Thorpe
2018-02-14  2:35           ` Larry Evans
     [not found]       ` <mailman.9071.1518569365.27995.help-gnu-emacs@gnu.org>
2018-02-14  1:23         ` Emanuel Berg
2018-02-14  1:25         ` Emanuel Berg
2018-02-14  1:32   ` Robert Thorpe
2018-02-14 19:19   ` Bastian Beischer [this message]
     [not found]   ` <mailman.9115.1518635972.27995.help-gnu-emacs@gnu.org>
2018-02-16 17:14     ` Emanuel Berg
     [not found] <mailman.9076.1518571984.27995.help-gnu-emacs@gnu.org>
2018-02-14  1:43 ` Emanuel Berg
2018-02-12 15:51 Larry Evans
2018-02-14  1:27 ` Glenn Morris
2018-02-14  2:24   ` Larry Evans
2018-02-14 14:53     ` Larry Evans
2018-02-14 23:18       ` Robert Thorpe
2018-02-15  1:03         ` Larry Evans
2018-02-15  2:38           ` Bob Proulx
     [not found]           ` <mailman.9140.1518662330.27995.help-gnu-emacs@gnu.org>
2018-02-15 15:59             ` Barry Fishman
2018-02-15 20:18               ` Bob Proulx
     [not found]         ` <mailman.9127.1518652911.27995.help-gnu-emacs@gnu.org>
2018-02-16 16:58           ` Emanuel Berg
     [not found]     ` <mailman.9096.1518616283.27995.help-gnu-emacs@gnu.org>
2018-02-16 16:54       ` Emanuel Berg
     [not found] ` <mailman.9075.1518571658.27995.help-gnu-emacs@gnu.org>
2018-02-14  1:38   ` Emanuel Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAK9AuB_PxD_tfu4s14mruASOVjow-VTgntdBape8TzLbSDsN4Q@mail.gmail.com \
    --to=bastian.beischer@rwth-aachen.de \
    --cc=help-gnu-emacs@gnu.org \
    --cc=moasen@zoho.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.