[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Executing init script after launching eshell
From: |
Tom Willemsen |
Subject: |
Re: Executing init script after launching eshell |
Date: |
Tue, 27 Mar 2012 10:53:26 +0200 |
User-agent: |
mu4e 0.9.8.2; emacs 24.0.94.1 |
Hey Kashyap,
On Tue 27 Mar 2012 09:58:46 AM CEST, C K Kashyap wrote:
> Hi All,
>
> Here's what I'd like to be doing - When I start emacs, I typically open up
> multiple eshells to do different kinds of compilation etc. Is there a way
> to retain the "session" in such a manner that all open eshells are also
> retained.
>
> As a workaround I was attempting to write a script that would open up the
> necessary eshells -
>
> (progn
> (eshell)
> (rename-buffer "b1")
> (insert "cd path1\n")
> (eshell)
> (rename-buffer "b2")
> (insert "cd path2\n")
> )
Maybe the following could work, it seems to do what you want when I try
it here.
(progn
(let ((default-directory "path1"))
(eshell t)
(rename-buffer "b1"))
(let ((default-directory "path2"))
(eshell t)
(rename-buffer "b2")))
I don't know if using `default-directory' like that is such a great
idea, but it looks slightly better than the result of:
(progn
(eshell t)
(eshell/cd "path1")
(eshell-send-input)
(eshell t)
(eshell/cd "path2")
(eshell-send-input))
> The problem is that I am not able to cd into the right place in eshell
> using (insert "cd path1\n") !!!
That seems to be because you don't use `eshell-send-input'
Hope it helps in some small way.