0

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?

ABu
  • 10,423
  • 6
  • 52
  • 103

2 Answers2

1

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)))

Andreas Röhler
  • 4,804
  • 14
  • 18
0

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.

  • I search something automatic. Each time I open a file, or I change to a buffer with any file opened, I've PWD changed. – ABu Jun 15 '13 at 13:50