EmacsからMercurial
Ubuntu 8.10のEmacs-snapshotにdvcを入れてみた。
参考ページ:
http://download.gna.org/dvc/
http://xtalk.msk.su/~ott/en/writings/emacs-vcs/EmacsDVC.html
sudo apt-get install bzr
sudo apt-get install autoconf
sudo apt-get install texinfo
bzr get http://bzr.xsteve.at/dvc/
cd dvc
autoconf
mkdir ++build
cd ++build
../configure
make
sudo make install
これで、/usr/local/share/emacs/site-lisp/dvcに入るんでロードパスにシンボリックリンクを張っておく。
ln -s /usr/local/share/emacs/site-lisp/dvc /usr/share/emacs-snapshot/site-lisp/dvc
あとは、.emacsに、
(require 'dvc-autoloads)
試しに使ってみる。
cd /tmp
mkdir tmp
cd tmp
hg init
ls >a
Emacsで、M-x describe-bindingsして、dvcを探してみると、C-X V ...にバインドされている。
C-x V s dvc-status
を実行。ディレクトリを聞かれるので、上で作った、/tmp/tmpを入力。

追加してみる。aと押せばいいようだ。y/nと聞かれるので、yを入力。diredと同じように、mで選択できるので、大量にaddする時は、選択してからaするといいだろう。画面上、何も変化しないけど、gを押せば更新される。

cを押してコミットする。バッファが開くので、コミットログを入力して、C-c C-cで終了。なんかtipsが表示されるのでqで抜ける。
Scalaのcase
てっきり、matchを使う時の文法要素に過ぎないのかと思っていたんだけど、こんなところにも書けるのか。
object Test {
def main(args: Array[String]) {
val data = Map(1 -> "A", 2 -> "B")
val values = data map {
case (key, value) => value
}
values.foreach(println(_))
val keys = data map {
case (key, value) => key
}
keys.foreach(println(_))
}
}
shanai@shanai-desktop:/tmp$ scala Test
A
B
1
2
奥が深い。というか、_ match {...}を省略して書けるってことなんだろうか。





