2009-09-01から1ヶ月間の記事一覧

gnuserv/gnuclientとemacsserver/emacsclientの違い

俺は昔からgnuserv/gnuclientを使ってきたが、Emacs23になったら、multi-ttyもあることだし乗り換えようと思っていた。しかし…カレントバッファが常にサーバのバッファで実行されるため、「現在の」カレントバッファを取得してくれない。 Emacs23だとmulti-t…

gnuservを自動で再起動させる方法

俺はEmacs23になってもいまだにgnuserv/gnuclientを使っている。しかし、なにかのひょうしでgnuservが落ちて「Gnuserv process exited; restart with `M-x gnuserv-start'」と出てきてしまい、落ちたままになっている。そうなると、gnuclientが動かなくなり…

DSLでコマンドラインオプションを解析するchoice.rb

yasnippet.elについて調べていたら、おもしろいライブラリをみつけたので紹介。choiceというライブラリは、コマンドラインオプションを解析するDSL、いわばoptparseのDSL版と考えることができる。 使用例はこんな感じ。 明白すぎてコードのコメントは不要だ…

Emacs Lispで関数定義を置き換える方法

Emacs Lispでは、気に入らない関数呼び出しを別な関数に置き換えることができる。たとえば、今のウィンドウに表示してほしいのに内部で switch-to-buffer-other-window を呼んでいる場合とか。 こんな場合は、letfやfletやlabelsを使えばよい。letにはlet*と…

Emacs23のmulti-ttyを試すもtty版の背景色が邪魔な件

Emacs23の目玉機能にmulti-ttyがある。 「emacs --daemon」でEmacsデーモンを起動しておくか、 (server-start) でサーバを立ち上げておくことで、起動中のEmacsにアクセスできるようになる。emacsclientコマンドを使う。 emacsclientコマンドは前からあった…

Emacs23のrcircの設定(非互換注意)

Emacs23へ移行したのだが、設定が非互換になってしまったので動かなかった。 Emacs23ではrcirc-server-alistを設定するとよい。サーバが127.0.0.1なのはtiarraを使っているため。 (setq rcirc-server-alist '((;;サーバ "127.0.0.1" ;;デフォルトで加入する…

EmacsWikiのページのSubversionリポジトリを使う

Alex Schroeder: 2009-08-30 Emacs SubversionEmacsWikiのページがSubversionで管理されるようになった。 なので、ローカルに置いてgrepかければいろいろなものが引っ掛かるだろう。 UTF-8ロケールでないと動かないので、環境によっては LC_ALL=ja_JP.utf8 …

Emacs23へ移行した

Emacs23が7月末にリリースされたのだが、しばらく様子見をしていていた。 俺は新しいもの好きではあるけど、EmacsヘビーユーザとしてEmacs Lispパッケージの互換性問題があるからすぐに移行するのはためらっていた。Emacs Lispの非互換な仕様変更のせいで既…

Emacs23でバックスラッシュとチルダが表示できない問題を回避した

X11上のemacsでチルダが表示されない。 - deruiの日記俺もEmacs23でバックスラッシュとチルダが表示できない現象に遭遇した。*1他のフォントならば、どちらも表示できるのだが。とりあえず、似ている文字を代用することで逃げの手を打つことにした。standard…