endless pulse

どっくんどっくんふるえる毎日を過ごしています

GNU Emacs 24.5へアップデート

学部4年生のときから、基本エディタはEmacsです。 キーバインドに慣れてしまってるだけなので、Eclipseの「EmacsキーバインドにしてC-hのバックスペースを足すぐらいで満足しちゃうぐらいにはライトユーザーですが;
今年度になってから、3年ぶり(?)にScalaを書こうとしていて、Emacsで簡単なのを書いたら、色づかなかった…。3年前に.emacsを吹っ飛ばしてからscala-modeを入れてなかったらしい。というわけでscala-mode2を入れました。そのときにEmacsアップデートが必要になったらつまずいたのでメモ。(メモ時点は、2015/4)

昔の記事「Scalaのインストールとかpluginとか(Mac OS X 10.6)」をみながら(懐かしい…!)ググったりしてたら、今はscala-mode2なるものがあるそう。

2.マニュアルのやり方で、gitから該当の*.elたちを持ってくる。

git clone git://github.com/hvesalai/scala-mode2.git

きたきた。で、.emacsに以下をいれる。

(add-to-list 'load-path "/path/to/scala-mode2/")
(require 'scala-mode2)

…C-x, C-eで実行してみたらエラーなんだけど?
(エラーの内容はメモするの忘れてしまった。。)

もっかいさっきのページのReadme見てたら、

not available in emacs prior to version 24.

お、私のGNU Emacsのバージョンが23.xだった…。

というわけで、GNU Emacs 24.5へアップデート

サクッと使いたかったのもあって、最初は以下のサイトから.dmgを持ってきた。

ら、起動したら画面がおかしい…。スクショとるの忘れたけれど、スクロールするとゴミが残る、画面バッファの書き換えでの明らかにバグっぽい何か。
うそー。ビルドされたものもらってきたの悪かった?

以下のサイトを参考に、24.5verをダウンロード&ビルド。ちなみにIMEパッチはあててません。ことえりだし。

wget http://core.ring.gr.jp/pub/GNU/emacs/emacs-24.5.tar.xz
tar xfJ emacs-24.5.tar.xz
cd emacs-24.5
./configure --with-ns --without-x
make
make install
cp -r ./nextstop/Emacs.spp /Applications/.

で起動してみたけど、先に持ってきたものと同じ画面バッファがうまく書き変わらないバグ…

以下のサイトを参考に再度。こちらでうまくいきました。。こちらはパッチも含めて従った。手取り足取りやってもらわないとできないのか…><

上でwgetで手に入れたtar.xzは取得し直してない。(一応元サイトのまま、curlで入れておいた)
make installのGZIP_PROG=''は入れてない。その他はコマンドまったく一緒。

curl -LO http://ftp.gnu.org/pub/gnu/emacs/emacs-24.5.tar.xz
curl -LO ftp://ftp.math.s.chiba-u.ac.jp/emacs/emacs-24.5-mac-5.7.tar.gz
tar xfJ emacs-24.5.tar.xz
tar xfz emacs-24.5-mac-5.7.tar.gz
cd emacs-24.5
patch -p 1 < ../emacs-24.5-mac-5.7/patch-mac
cp -r ../emacs-24.5-mac-5.7/mac mac
cp ../emacs-24.5-mac-5.7/src/* src
cp ../emacs-24.5-mac-5.7/lisp/term/mac-win.el lisp/term
cp nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns mac/Emacs.app/Contents/Resources/Emacs.icns
./configure --prefix=$HOME/opt/emacs-24.5 --with-mac --without-x
make
make install
cp -r ./mac/Emacs.app /Applications/.

これだとうまく動いた…Emacsアップデートに1時間もかかってしまったw

で、無事scala-mode2も動きました。やたー。
けど、もともと.emacsにあったmodelineの設定とcsharp-modeが動かなくなったので、また後日直さないと〜。