久々にEmacsをビルドした。もちろんCocoa Emacs。
手順はほぼこの通りでOK。

久しぶりにinline patchを当ててみたが、やはりauto-saveとぶつかった時に落ちる。
(auto-save-buffersは使っていないんだけど)
これを回避するパッチがmacemacs-jpで流れていたので当てる。

一応、patch -p0で当てられるパッチを作ったので置いておく。

一通りパッチを揃えたら以下の手順でビルド。


patch -p1 < ../emacs-23-lion-fullscreen-test.patch patch -p0 < ../inline_patch-svn/emacs-inline.patch patch -p1 < ../fix-shiftmodifier-patch-for-emacs-inline-patch.diff patch -p0 < ../fix-auto-save-crash.patch ./configure –with-ns –without-x make bootstrap make install [/bash] Mac Mini(Core2Duo 2.4GHz/8G/SSD)でビルド所要時間13分くらい。 思ったよりも速くなってないけど、まぁCore2Duoだしこんなもんか。i7のMiniかiMac出たら欲しいな。

Rails3.1からscssが標準になったので、scss-modeを入れてみる。

(autoload 'scss-mode "scss-mode")
(add-to-list 'auto-mode-alist '("\\.scss\\'" . scss-mode))
(setq scss-compile-at-save nil)

Railsだとcssへのコンパイルはいらないので無効にした。
scss-compile-at-saveをtにしてるとセーブするごとにコンパイルが走って鬱陶しい。
これだとsass(ややこしい)も要らないはず。
scssは実に分かりやすいのでデザイナーさんにも啓蒙したい・・・

xdg-open [URL]

Emacsからbrowse-urlで「規定のブラウザ」を呼び出すには

(setq browse-url-browser-function 'browse-url-generic
      browse-url-generic-program "xdg-open")

何も設定してないとfirefox-binを呼び出してるっぽい?それともどっかで設定したかな…

新年の記事Visor便利!と書いたけど、Emacs上で同じようなことをするelispがあった。
shell-pop.elを使うと、Emacsのどこからでもホットキーでshell-modeあるいはansi-termを呼び出し、もう一度ホットキーを押すと閉じることができる。
ちょっとだけコマンド実行したい時に便利。
こんな感じで設定している。

;; shell-pop with ansi-term
(require 'shell-pop)
(shell-pop-set-internal-mode "ansi-term")
(shell-pop-set-internal-mode-shell shell-file-name)

(defvar ansi-term-after-hook nil)
(add-hook 'ansi-term-after-hook
(function
(lambda ()
(define-key term-raw-map "\C-z" 'shell-pop))))
(defadvice ansi-term (after ansi-term-after-advice (arg))
"run hook as after advice"
(run-hooks 'ansi-term-after-hook))
(ad-activate 'ansi-term)

(global-set-key "\C-z" 'shell-pop)

C-tに設定する人が多いようだけど(Terminalだろう)、C-tは分割フレーム間の移動に割り当てているのでC-z(Zsh)にした。
デフォルトのC-z(Minimize)は使わない、と言うかうっかり触って最小化することが多いので無効にしてるし。ああでも-nwで起動した時はScreenとぶつかって邪魔だから何か考えないと…

なお、Cocoa Emacsだとなぜか画面半分くらいで折り返されてしまって使いにくい。
font spacingの問題っぽいんだけど、解決策は今のところ不明。

rails-modeは使ってない(rinari派)ので入れてなかったんだけど、ふと思い直してrspec-modeを入れてみたら便利すぎた。
describeとかitにカーソルを持って行ってC-c , s とやるだけでそのエクスペクテーションが実行される。
今までターミナルに移っていちいちspec -lineとかやってたのが馬鹿みたいだ。
ただし、デフォルトだとrake specが走るので、

(require 'rspec-mode)
(custom-set-variables '(rspec-use-rake-flag nil))

とやって無効にしておくと良い。

15. 1月 2011 · Write a comment · Categories: Emacs

設定を共通化してメンテナンスしやすくなったので、「Emacsテクニックバイブル」に書いてあった設定のうち気に入ったものを試してみる。

以下、auto-installで入れたもの。

More »

emacsの設定はプラットフォームごとにまちまちで、統合したいなーといつも思っていた。
一時期gitで管理したりもしたんだけど、設定をいじる→リポジトリに登録→push→各プラットフォームでpullという作業があまりにも煩わしく、ついついおろそかになってしまう。
ここらへんを自動化すべく、elisp群をDropboxに置いてみた。

More »

15. 1月 2011 · Write a comment · Categories: Emacs

Windows上では長年Meadowを使ってるんだけど、さすがに古すぎて他のプラットフォームと設定を共通化できず、色々面倒になってきた。
23.2のビルドを探してみたところ、gnupackに含まれているNTEmacsが良さそうなので入れてみる。
gnupackは入れても入れなくても良い。(たぶん)
日本語入力も問題ないし、透過もきく。
cmigemoだけちょっと面倒だけど、問題になるのはそこくらい。あ、環境変数%HOME%はちゃんと設定しておこう。
まぁ、基本Windows上で開発はしないから、エディタの用途もあんまりないんだけどね。


More »

Cocoa Emacsになってからどうにもinline patchの調子が悪く、日本語入力時にしょっちゅうクラッシュしていた。
これはもうinline patchなしの方がましなのでは?と思って素のEmacsをビルドしてみることに。

More »