Week05の環境つくり

DrRacketなるIDEっぽい環境があるのだが、せっかくEmacsに慣れてきたのでEmacsに環境を構築してみた。

ここを参考に-->24.2 Emacs

メジャーモードっていうのが偉そうで良さそうだ。マイナーモードはなんていうか、ちまちました感じの便利さ追求ってかんじだ。時間は有限だ、面倒なのでマイナーモードは無視して、メジャーモードだけに絞ろう。メジャーモードはQuack、Geiser、Scribbleがある。

Quackというのはインデンテーションや色つけなどRacketを編集するのに便利なモードらしい。qack.elというEmacs Lispファイルがダウンロード出来るので自分のEmacsホームにもってきて、init.elにて読みこむようにした。なおWindowsなので、init.elなのです。

GeiserというのはREPLをつかえるよ、と書いてある。Quackと相互に補うそうだ。よさそうなのだがGuileが必要とのこと。GuileってWindowsで動くのがあるの?よくわからないのでとりあえず保留。

次のScribbleっていうのはQuackがあればいらないんじゃないか?scribble.elというのがあるので入れようと思えば入れられるが、メジャーモードはひとつのバッファで複数選べないので、こいつもスキップ。

さて、Geiserにもどる。Installationをみると、marmaladeというのをパッケージダウンロード先(?)かなにかに追加して、M-x instll-package RET geiser RETすればよいらしい。が僕のEmacsではなぜだか M-x install-package が動かない。では、っということで、geiser-03.tarをダウンロードして、M-x package-install-fileで読み込もうとした。しかしながら、can't read whole string というなぞのエラーでできない。簡単なインストールは諦めた。その下にソースからインストールするというのがあって、以下の様な文章が書いてある。

Setting it up

Geiser is ready to be used out of the box without much more ado. For the sake of concreteness, let’s assume you put its source in the directory ‘~/lisp/geiser’. All you need to do is to add the following line to your Emacs initialisation file (be it ‘~/.emacs’ or any of its moral equivalents):


(load-file "~/lisp/geiser/elisp/geiser.el")
or simply evaluate that form inside Emacs (you wouldn’t kill a friend just to start using Geiser, would you?). That’s it: you’re ready to go.

たぶんこれやればいいんだろう。geiser-03.tarを~/.emacs.d/site-lisp/geiserに展開。init.elに以下の文章を追加。


(load-file "~/.emacs.d/site-lisp/geiser/geiser.el" )


さて、これでM-x run-geiser やってみた。動く、動くぞ!

しかしながら、Racket.exeが見つからなくてREPL起動まではいかない。いつものようにGoogleで検索するとStackoverflowのQA発見。Setting Racket Geiser Emacs Path - Stack Overflow 以下をinit.elに追加したらracketのREPLが起動するようになりました。よかったー。


(setq geiser-racket-binary "C:/Users/Username/Desktop/Apps/Racket/Racket.exe" )


デスクトップにアプリケーションをインストールしてるってどうよ?って思われるかだが、Program Filesの下は書き込み権限がないのが嫌いです。それといずれ外付けで持ち運べるようにしたいのです。