シェルを起動すると、シェルのカレントディレクトリとEmacsのそれ
とがずれていることがある。
このコードを.emacsに入れておくと直るかも知れない。
Mule for Windowsでbashを使っていると、いろいろ困ったことがあり
ました(Meadow + bashでも)。
半角スペースが入っていることが問題なのかも知れないし、bashと
Mule for Windowsとで絶対パスの認知の仕方が異なるのも一因かも知れ
ません。ともかく、自分の「ホームディレクトリ」がそういうディレク
トリの下にあるので、けっこう難儀しました。
UNIX版のEmacs/Muleではこんな苦労はまったくしていないから、 Windows版だけの問題なのだと思います。
以前はbashを止めてtcshにして回避しましたが、あるとき仕事の都合
上bashしか使えないことになってしまいました。
仕方がないので、
そうしたら、いちおう、凌げるようになりました。
1: (add-hook 'shell-mode-hook 2: (lambda () 3: (cd "シェル起動時にいたいディレクトリ")))
「シェル起動時にいたいディレクトリ」は、その名の通り、シェルを
起動した時のカレントディレクトリであって欲しいディレクトリを記述
します。シェルの初期化ファイル(bashなら .bashrc)でも同じように
目的のディレクトリに移動しておく必要があります。
そうでない場合で、かつ、このような問題が発生する時は、上でcdし ている部分を次のようにしてみてはいかが。
1: (lambda () 2: (let ((there (substring (pwd) 10))) 3: (cd there)))
この、「その時のカレントディレクトリを取得して、そこにcdする」 というバージョンは、書いてみただけでぜんぜん試していません。うま く行かなくても悪しからず。
(2000.09.11)
(C) ©Copyright Noboru HIWAMATA (nulpleno). All rights reserved.