Question

I do always work with emacs in no windows mode (emacs -nw) inside Guake, and I have set guake to open a new tab in the same directory on which I'm in that moment.

My purpose is:

  • If I work with a certain file in emacs, and I open a new tab, I want the path (PWD variable) is the same of the file.
  • When I close emacs, the PWD variable is restored with its original value.

How can I set my .emacs file to achieve that?

Was it helpful?

Solution

With the help of wvxvw's answer:

(defvar pwd-orig (getenv "PWD"))

(add-hook 'find-file-hook (lambda () (setenv "PWD" default-directory)))

(add-hook 'kill-emacs-hook (lambda () (setenv "PWD" pwd-orig)))

OTHER TIPS

M-xcd You can use it in .emacs like this:

(defvar initial-directory (getenv "PWD"))
(cd "~/some-directory/")
(add-hook 'kill-emacs-hook (lambda () (cd initial-directory)))

Sorry, I didn't test the above, but it looks like it would work. (Not sure about how many arguments the 'kill-emacs-hook takes.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top