1
votes

Two little questions with regards to the configuration of Eshell. I looked at the customization options and even the source code, but to no avail. Maybe I should have taken a better look.

  1. When I start Emacs and open Eshell, the directory is '~/.emacs.d/elpa' instead of my home directory '~/’, what I would expect. I have no idea, where this configuration comes from, and did not find a way to change it.

  2. I changed $PATH in my .bashrc and I customized the Emacs variable 'exec-path' to my needs. However, the first change is not reflected by Eshell, it does not know about it, while bash does. How does Eshell get this information, and how comes it differs from bash in its knowledge about changes in this variable?

Thanks for any hints

Thorsten

PS

I found a similar question [here] (http://stackoverflow.com/questions/3621755/what-setup-file-does-eshell-elisp-shell-read-when-it-starts-how-eshell-sets-i). The answer to point 2. is that eshell does not read .bashrc, therefore $PATH must be set in a file that is read earlier in the start-up process. On my Ubuntu system

/etc/environment

seems to be the file that is read by Emacs on start-up to set $PATH.

1

1 Answers

2
votes

eshell seems to start in the current working directory, which for you (right after Emacs started) is "~/.emacs.d/elpa". You can change it manually with "M-x cd", but that shouldn't be necessary. If you edit some file and start eshell from its buffer, eshell will start in the same directory as the file.

But if you really want to start every eshell session in your home directory, you can make a hook call "cd" before eshell starts.