2007-10-31
I can't live without KeyRemap4MacBook anymore
Honestly saying, I can't believe that there can be those who live without KeyRemap4MacBook despite living in Mac OSX. It's going to officialy support `emacsmode' in the coming release. You, Emacs addicts, never miss it!
Leopard迷う
あー、いまだにLeopard買うかどうか迷ってる。いろいろ動かなくなると困り果てるので。あと、こないだTigerをインストールしたばっかなので、またあの地獄の環境構築作業をしたくない……。上書きうpだてとか、やったことないし不安過ぎる……。まぁでも、なにをしたらいいのかはわかってきたので、こないだよりは楽なんだろうけど。
つか、KeyRemap4MacBookは、Leopardではどうなんだろう。それが一番の問題だったりするよなぁ。あれなしでMac使うなんて、ありえない。
つか、どうせそのうち買うんだから、いま買っておけばいいじゃんとか思ったので、注文した。
追記:
作者さんからコメントが!!!
クリーンインストールでしか確認はしていませんが Leopard でも KeyRemap4MacBook は問題ないですよ。
ただ、1.5.x系列だと sysctl の自動保存が出来ないので
そこら辺を対応したものを近々にリリース予定です。
2007-10-31 - subpop - subtech
KeyRemap4MacBook最高うううううううううううううううううううう。
とかいっこじゅんじょう
とりあえず、これをひとりずつ注目しながら繰り返し見てる。しかし、3:00過ぎあたりは、矢島さんのキレがすご過ぎて、そっちに目が奪われる。あと、岡井千聖さんが地味過ぎて寂しい。
ともあれ、なっきーのダンスがかわい過ぎる。
elispでjoin
simple-hatena-modeを書いてた時に、よくあるjoin的な何かが欲しいなと思ったんだけど、elispでどうやるかわからなかったので、こんなん書いてごまかした。
(defun simple-hatena-internal-join (sep list) "車輪の再発明なんだろうけど、見つからなかったのでjoin実装" (if (<= (length list) 1) (car list) (concat (car list) sep (simple-hatena-internal-join sep (cdr list)))))
そしたら、Topia神に「mapconcatでやるのがいんじゃねの?」的なことをいわれた。
mapconcat is a built-in function in `C source code'. (mapconcat function sequence separator) Apply function to each element of sequence, and concat the results as strings. In between each pair of results, stick in separator. Thus, " " as separator results in spaces between the values returned by function. sequence may be a list, a vector, a bool-vector, or a string.
ところで、"Emacs Lisp for Perl Programmers"を眺めてたら、こんな感じでいけるよと書かれてた。
(mapconcat 'identity directory-levels "/") ;; Note: identity is the way to do nothing
identityなんてのがあるのかー。
identity is a built-in function in `C source code'. (identity arg) Return the argument unchanged.
それならこんな感じでいいかな。
(defun join (sep list) (mapconcat 'identity list sep)) (join "/" '("a" "b" "c")) ;;=> a/b/c
いやまぁ、もちろんこれでいいんだけど。
(defun join (sep list) (mapconcat '(lambda (i) i) list sep))
I hadn't known about `identity' until I wrote this post and noticed it's the same as '(lambda (i) i). I think (mapconcat 'identity list sep) looks better than (mapconcat '(lambda (i) i) list sep), just because I feel so ;)
ただ、1.5.x系列だと sysctl の自動保存が出来ないので
そこら辺を対応したものを近々にリリース予定です。