uim.el
何か Emacs が日本語入力受け付けないなーと思ってたら uim.el 突っ込むだけ突っ込んで、時間が無かったからちゃんと設定してなかったんでした。
.emacs に指示通りの事を書くが動かない。/usr/share/emacs/site-lisp/uim-el にファイルが入ってるけど、load-path に含まれてない。autoconf ってデフォで load-path 通ってるようなところ探してくれないの? (´・ω・`)
;; 探しようがないか
load-path 追加すると動いた。うん? direct-mode で起動するのか…これはちょっと不満。もう一度 \C-\; (に bind してる) を押すと、おお入力でける。快適快適。
と思ったら direct mode では一文字ごとに undo リストが更新されている。つまり、"abcdefg" と打って一回 \C-/ すると "abcdef" になる。redo.el 入れてるのと関係あるんだろうか。あと uim-mode を切るキーが ~/.uim に書いてる generic-off-key にならない。
直したいけど elisp 嫌いなんだよなー。しかも最後のは Scheme とブリッジしなきゃいけないかも。まぁ後で気が向いたらやってみよう。
Syntax が apply できない理由
やっと Shiro さんが言ってたことが正確に理解できたかもしれない。
自分が何回評価されたか数える symbol を作って apply するとこういうバグが見つかる:
(define ec 'ec-1)
(define ec-1 'ec-2)
(define ec-2 'ec-3)(apply + '(ec))
=> Error: got ec-2 (正しくは "got ec")
"+" の実装が間違っている。これは本来 procedure の + を syntax として実装している弊害だと思う。
続きを読むC のマクロ機能
むきー
多分誰でも思ってる事だけど、貧弱すぎ。もう cpp 捨てて m4 とか採用すればいいのに。;; とかいいつつ m4 ほとんど知らんけど
いやらしいテストケース
太田さんが欲しがってたのはこういうのだろうか。define-syntax と call/cc があるから、ちょっと弄らんと SigScheme では使えんっぽいけど。
追記: あー、だめだこりゃ。call/cc と syntax 使ってないテストがほとんど無いし、SigScheme でも使えるやつは同じようなのが既にある。